Hola rebaños, hoy vamos a aprender algunas cosas de DNS. Todos sabemos qué es un DNS, cómo funciona el DNS, sus tipos, etc. Así que terminemos y profundicemos en nuestro tema de hoy sobre la Zona de política de respuesta DNS (RPZ).
Para ver nuestros otros temas sobre el servidor DNS, visite aquí.
¿Qué es RPZ?
La Zona de política de respuesta de DNS (RPZ) es una zona de DNS que permite a los administradores de DNS personalizar la política en los servidores de DNS, de modo que el servidor devuelva respuestas modificadas a las consultas de DNS del Cliente. En otras palabras, RPZ proporciona una forma de modificar una respuesta de DNS en tiempo real. Se puede usar para modificar datos de DNS potencialmente inseguros para bloquear la comunicación o proporcionar datos locales para redirigir a un "jardín amurallado". Como podemos alterar la respuesta de la consulta o bloquear cualquier dominio usando RPZ, también se conoce como firewall DNS.
Como cualquier otra zona DNS, RPZ consta de diferentes conjuntos de registros de recursos (RR). En lugar de registros SOA, NS y DNSSEC, todos los demás RR contienen un disparador y una acción para el disparador.
Desencadenadores configurados para reescribir consultas DNS basadas en:
- Dirección IP/Subred (RPZ-IP)
- Nombre de host/dominio (QNAME)
- Nombre/dominio del servidor de nombres (RPZ-NSDNAME)
- Dirección/subred del servidor de nombres (RPZ-NSIP)
- IP del cliente (RPZ-CLIENTE-IP)
Las acciones de política son las siguientes
- Acción “NXDOMAIN” (CNAME .)
- Acción "NODATA" (CNAME *.)
- Acción “PASSTHRU” (CNAME rpz-passthru.)
- Acción "SOLTAR" (CNAME rpz-drop.)
- Acción "solo TCP" (CNAME rpz-tcp-solo).
- Acción de "datos locales" (tipos de RR arbitrarios)
Aplicaciones RPZ:
DNS RPZ tiene diferentes casos de aplicación y uso. Ejemplos:
- Bloquear malware y sitios web de phishing
- Bloquear anuncios
- Reescriba cualquier RR de dominio y proporcione datos de DNS personalizados
- Bloquear un conjunto de tráfico de usuarios de Internet y enviar sus solicitudes a un jardín amurallado
En este artículo vamos a aprender cómo configurar RPZ en BIND9, bloquear un dominio para todos los usuarios y redirigir a algunos usuarios a un jardín amurallado.
Instalar BIND9 y configurar RPZ:
Instalemos un servidor DNS de caché BIND9 en Debian Linux.
# apt-get update
# apt-get install -y bind9
Habilitar e iniciar bind9 servicio
# systemctl enable bind9.service
# systemctl start bind9.service
# systemctl status bind9.service
Salida:
Nuestro servidor tiene la dirección 192.168.10.38 configurada en su interfaz física. Ahora comprueba el estado de escucha de BIND9
# netstat -lntup | grep -E "PID|named"
Salida:
Vemos que BIND9 está escuchando en las familias de direcciones IPv4 e IPv6 para todas las interfaces. Para operar BIND9 en IPv4 solo cambie la opción de inicio en /etc/default/bind9 archivo
OPTIONS="-4 -u bind"
Reiniciar bind9 servicio
# systemctl restart bind9.service
Copia de seguridad del archivo de opciones predeterminado
# cp /etc/bind/named.conf.options /etc/bind/named.conf.options.ori
Agregue directivas de configuración de RPZ en las opciones principales de BIND9 y nombres de zona en /etc/bind/named.conf.options archivo
response-policy { zone "rpz"; };
También podemos agregar múltiples zonas en la política de respuesta directiva de la siguiente manera
response-policy {
zone "rpz1";
zone "rpz2";
};
Ahora defina las propiedades de la zona
zone "rpz" {
type master;
file "rpz.local";
allow-query { localhost; };
allow-update { none; };
};
Ahora supongamos que nos gustaría bloquear un dominio debido a la actividad de malware o puede ser un sitio de anuncios o puede ser ordenado por una autoridad reguladora para bloquear el sitio. En este ejemplo, estamos bloqueando "youtube.com “. Crear rpz.local archivo en el directorio predeterminado para BIND9, incluido el contenido a continuación
$TTL 60
@ IN SOA localhost. root.localhost. (
2022012801 ; serial
1h ; refresh
30m ; retry
1w ; expiry
30m) ; minimum
IN NS ns1.example.com.
IN NS ns2.example.com.
youtube.com 30 IN CNAME .
*.youtube.com 30 IN CNAME .
Reinicie el servicio BIND9
# systemctl restart bind9.service
En las directivas de configuración anteriores, hemos definido acciones de política "NXDOMAIN" para el dominio "youtube.com “. Ahora, si intentamos navegar desde nuestra estación de trabajo, no podremos navegar por el sitio y devolverá el mensaje NXDOMAIN en el navegador
En el siguiente ejemplo, redirigiremos “btcl.com.bd ” usuarios a un jardín amurallado por medio de RPZ. Mostrará un mensaje a los usuarios al proporcionar datos locales en la consulta de DNS. Para lograr eso tendremos que escribir RRs de la siguiente manera
btcl.com.bd 30 IN A 192.168.10.38
*.btcl.com.bd 30 IN A 192.168.10.38
Reinicie el servicio BIND9.
Navegando por el sitio web “http://btcl.com.bd ” resultados debajo del mensaje
Bloquear el pago del cliente por defecto usando RPZ
En este ejemplo, vamos a redirigir a todos los usuarios con saldo pendiente a un jardín amurallado para mostrar un mensaje para pagar sus cuotas.
Tenemos un usuario con dirección IP 192.168.10.13 que no pudo pagar las facturas. Para redirigir todas las solicitudes del usuario a un servidor web wall-garden 192.168.10.38, configuraremos el rpz.local archivo de la siguiente manera
32.13.10.168.192.rpz-client-ip 30 IN A 192.168.10.38
Reinicie el servicio BIND9.
Navegación desde cliente habitual
Navegación desde el cliente de wall-garden
Referencias:
https://tools.ietf.org/id/draft-vixie-dnsop-dns-rpz-00.html
http://www.zytrax.com/books/dns/