Uso de resolvers RPZ desde BIND mediante forward

En escenarios donde ya se dispone de un servidor BIND9 en producción, es posible integrar la protección de DNS RPZ de Planisys sin reemplazar el resolver existente.

Esto se logra configurando BIND para que reenvíe (forward) ciertas consultas —o todas— hacia los resolvers RPZ.

De esta manera:

  • BIND continúa siendo el resolver local

  • RPZ aplica las políticas de seguridad (bloqueos, redirecciones, etc.)

  • Se evita modificar la infraestructura existente

Configuración básica

Editar el archivo de configuración de BIND, generalmente:

/etc/bind/named.conf.options

Y agregar una configuración de forward:

options {
    recursion yes;
    allow-recursion { any; };

    forwarders {
        xxx.xxx.xxx.xxx;   // IP resolver RPZ
        yyy.yyy.yyy.yyy;   // IP resolver RPZ secundario
    };

    forward only;
};

Nota

La opción forward only asegura que todas las consultas se envíen exclusivamente a los resolvers RPZ, evitando resolución directa.

Forward por dominio específico (opcional)

Si se desea aplicar RPZ solo a ciertos dominios, se puede usar una forward zone:

zone "example.com" {
    type forward;
    forward only;
    forwarders {
        xxx.xxx.xxx.xxx;
        yyy.yyy.yyy.yyy;
    };
};

Esto permite:

  • Aplicar RPZ solo a dominios específicos

  • Mantener resolución normal para el resto

Flujo de resolución

Cliente → BIND → Resolver RPZ → Internet
                 ↓
              Política RPZ

El resolver RPZ aplicará:

  • NXDOMAIN (bloqueo)

  • CNAME (redirección)

  • PASSTHRU (permitido)

Ventajas

  • No requiere reemplazar BIND

  • Integración rápida

  • Permite pruebas controladas

  • Compatible con infra existente

Consideraciones

  • Si no se utiliza forward only, BIND puede resolver directamente y evitar RPZ

  • Asegurar conectividad hacia los resolvers RPZ (puerto 53 UDP/TCP)

  • Validar que no existan reglas locales que interfieran (views, ACLs, etc.)

Troubleshooting

Verificar que BIND esté usando los forwarders:

dig google.com @127.0.0.1

Verificar comportamiento RPZ:

dig dominio-malicioso.com @127.0.0.1

Casos posibles:

  • Responde NXDOMAIN → RPZ funcionando

  • Resuelve normal → revisar forward only

  • SERVFAIL → problema de conectividad o delegación

Logs útiles:

/var/log/named/*
/var/log/syslog

Truco

Para debugging avanzado, complementar con análisis de logs RPZ en los resolvers.