GNU/Linux >> Tutoriales Linux >  >> Linux

DNS RPZ:un DNS Firewall para filtrar Sitios y Usuarios

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

Nota: Tenemos un servidor web ejecutándose en 192.168.10.38 y proporcionará un mensaje personalizado a los usuarios.

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

Nota: 32.13.10.168.192.rpz-cliente-ip define la IP del host en notación CIDR 192.168.10.13/32 . Si desea bloquear una subred 172.16.20.0/24 entonces debería presentarse como 24.0.20.16.172.rpz-client-ip .

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/


Linux
  1. Registros DNS de autodescubrimiento y autoconfiguración

  2. Usuarios y Grupos

  3. Grupos y usuarios del clúster

  4. Archivo de zona grande para Bind9:¿Bloqueo de anuncios?

  5. Crear y eliminar usuarios de CentOS

Cómo instalar y configurar el cortafuegos Utangle

Usuarios y grupos LDAP

Cómo instalar el servidor DNS maestro y esclavo BIND9 en Ubuntu

Cómo enumerar usuarios y grupos en Linux

Cómo instalar y configurar el servidor DNS en Linux

¿Depuración de iptables y trampas comunes de firewall?