Admin Libre - Administración de sistemas y redes

unbound-adblock es el firewall DNS definitivo
Por Francisco Gaitán el 15 de Octubre de 2022

unbound-adblock es un cortafuegos o firewall DNS altamente personalizable, seguro y eficiente. Incluye instrucciones para su instalación en distintas distribuciones de Linux, OpenBSD, NetBSD, FreeBSD y DragonflyBSD y funciona con el servidor unbound aunque en OpenBSD también puede funcionar con unwind(8).

Se trata de un script diseñado con la seguridad en mente, aprovechando la separación de privilegios empleando un usuario con los permisos justos para descargar las listas, generar el archivo RPZ correspondiente y recargar la configuración. Una vez cargada la lista con unbound, al consultar una dirección DNS que esté en una de estas listas, ésta no devolverá la dirección. La aplicación más típica es el bloqueo de anuncios y malware para navegar de forma más segura y eficiente.

Como funciona a nivel de red no es necesario instalar ni configurar nada en dispositivos cerrados como teléfonos móviles o tablets. Haciendo la prueba con un móvil Samsung con Android recién instalado y sin ningún programa adicional he visto que llega a bloquear 14 peticiones.

Características destacadas

  • Es portable, minimalista y eficiente y puede funcionar en OpenBSD sin instalar paquetes
  • Permite configurar varios formatos de listas así como excluir nombres de host
  • Actualiza las listas de forma automatizada y configurable mediante crontab(1)
  • Mejora la privacidad y hace la navegación más segura bloqueando malware y anuncios
  • Genera un archivo RPZ compatible con Unbound, BIND, PowerDNS y Knot Resolver
  • Devuelve una respuesta NXdomain en lugar de 0.0.0.0 para mayor corrección y eficiencia
  • Bloquea anuncios en dispositivos cerrados o en los que no se puede instalar un bloqueador

Instalación en dispositivos de bajo rendimiento

En caso de instalar unbound-adblock en dispositivos poco potentes como el EdgeRouter Lite recomiendo dar más tiempo de arranque a unbound en /etc/rc.conf.local:

unbound_timeout=300

Una mejor alternativa es instalar unbound-adblock en un servidor remoto al que enviar las consultas.

Forzar las peticiones DNS a través del servidor unbound

En las instrucciones de instalación recomiendan forzar las peticiones a los servidores DNS públicos de Google a la IP del servidor unbound local. Además de eso yo incluyo esta línea para redirigir las peticiones que vayan a los puertos 53 (domain) y 853 (domain-s), siendo $adblock la IP del servidor:

adblock = "203.0.113.1"
pass in quick proto { tcp, udp } to any port { domain, domain-s } rdr-to $adblock 

Destacado

Contacto

Si has encontrado algún error o quieres comentarme algo mándame un correo a webmaster@adminlibre.org