781
El DNS es un componente crucial de la infraestructura de la red y permite el acceso a los recursos de la red, localmente ya través de Internet, utilizando nombres descriptivos en lugar de direcciones IP. Hay muchas soluciones de servidor DNS diferentes que puede instalar.
Esta publicación discutirá la instalación y configuración de Unbound DNS, un servidor DNS robusto y seguro que puede actuar como un servidor DNS local y un solucionador de DNS recursivo. También cubriremos el proceso de instalación, configuración y aspectos esenciales como la validación de DNSSEC y DNS sobre TLS.
¿Cómo funciona el DNS?
En el núcleo del sistema DNS se encuentran los servidores DNS autorizados y los solucionadores de DNS recursivos. Los servidores autorizados contienen el mapeo definitivo de los nombres de dominio a las direcciones IP, mientras que los resolutores recursivos consultan estos servidores para obtener la información requerida. Las consultas de DNS, los mensajes de DNS y las respuestas se intercambian entre el resolutor recursivo y los servidores autorizados hasta que se resuelve la dirección IP final.
Puede dirigir a los clientes a su propio servidor DNS recursivo u otros servidores DNS. Muchos apuntarán a su propio servidor DNS para resolver las zonas DNS internas autorizadas del servidor DNS que pueden configurarse.
Servidor DNS de Windows con zonas locales
Servidores raíz
La siguiente idea importante a entender con la infraestructura DNS es el servidor raíz. Los servidores raíz, también conocidos como servidores raíz primarios, son servidores ascendentes que sirven como columna vertebral del sistema DNS de Internet. Son responsables de proporcionar la dirección inicial para ubicar el servidor autorizado apropiado para el dominio solicitado. Hay 13 servidores raíz en todo el mundo, operados por varias organizaciones, y juegan un papel vital en el funcionamiento del sistema DNS global.
A continuación se muestra un ejemplo de la lista de sugerencias de raíz en un servidor DNS de Windows. Puede ver esto si observa las propiedades del servidor DNS y hace clic en el Sugerencias de raíz pestaña.
Servidores de sugerencias raíz en un servidor DNS de Windows
Los servidores raíz juegan un papel vital en el DNS, ya que operan en la zona raíz, el punto de partida de todas las búsquedas de DNS. Estos servidores pueden responder directamente a consultas de registros almacenados o en caché dentro de la zona raíz y guiar otras solicitudes al servidor de dominio de nivel superior (TLD) adecuado. Los servidores TLD, ubicados justo debajo de los servidores raíz en la jerarquía de DNS, son cruciales para resolver las consultas de DNS.
Imagine a un usuario escribiendo una dirección web en su navegador. Este simple acto desencadena una cadena de eventos, iniciando una búsqueda de DNS que comienza en la zona raíz. A medida que la búsqueda viaja a través de la jerarquía del sistema DNS, primero encuentra los servidores TLD y, posteriormente, los servidores para dominios específicos (y posiblemente subdominios) hasta que finalmente llega al servidor de nombres autorizado para el dominio deseado.
Este servidor contiene la dirección IP numérica del sitio web en cuestión. Esta dirección IP luego se devuelve al dispositivo del usuario. Sorprendentemente, a pesar de los numerosos pasos involucrados, todo este proceso se desarrolla a una velocidad impresionante.
¿Qué es el servidor DNS independiente?
Unbound es un solucionador de DNS de validación, recursivo y de almacenamiento en caché desarrollado por NLnet Labs. Está diseñado para ser seguro, rápido y flexible, y ofrece validación de DNSSEC de forma predeterminada. Luego de una auditoría rigurosa a fines de 2019, la base de código de Unbound se ha vuelto más resistente que nunca.
Con el compromiso de mejorar la privacidad en línea, Unbound admite DNS sobre TLS y DNS sobre HTTPS, lo que permite a los clientes cifrar sus comunicaciones. Además, adopta varios estándares de vanguardia que minimizan el intercambio de datos con servidores autorizados, lo que da como resultado una privacidad mejorada y un DNS más sólido. Los avances clave incluyen la minimización de nombres de consulta, el uso agresivo de la caché validada por DNSSEC y la compatibilidad con las zonas de autoridad, que facilitan la carga de una copia de la zona raíz.
Validación DNSSEC
Mirando más de cerca a DNSSEC, ¿qué es exactamente? DNSSEC (Extensiones de seguridad del sistema de nombres de dominio) es un conjunto de extensiones diseñadas para agregar una capa de seguridad al DNS, proporcionando firmas criptográficas para los datos del DNS. Esto asegura la autenticidad e integridad de las respuestas DNS.
También protege a los usuarios de ataques como el envenenamiento de caché o ataques de intermediarios. La implementación de la validación DNSSEC en su servidor DNS local puede mejorar significativamente la seguridad general de su infraestructura DNS.
¿Cómo funciona Unbound?
Unbound se puede configurar como un servidor DNS local o un solucionador de DNS recursivo, lo que mejora el rendimiento y la seguridad de su infraestructura de DNS. También puede usarlo junto con otras soluciones de seguridad como Pi-Hole.
Instalando DNS Unbound usando apt install
Para instalar Unbound en un sistema basado en Debian, simplemente ejecute el siguiente comando:
sudo apt install unbound
Esto instalará Unbound y sus dependencias en su sistema. Una vez finalizada la instalación, puede continuar con la configuración.
Instalación de DNS no enlazado mediante Docker
Veamos cómo instalar servidores DNS Unbound usando contenedores Docker. Puede utilizar un simple comando de ejecución de Docker o un código de composición de Docker.
Usando el comando de ejecución de Docker
Primero, cree un directorio en la máquina host para almacenar registros y archivos de configuración de Unbound:
mkdir -p /path/to/unbound/config
Reemplazar /ruta/a/sin vincular/config con la ruta deseada en su máquina host.
A continuación, ejecute el contenedor Unbound usando el ejecución de la ventana acoplable comando y monte el directorio host en el contenedor /opt/sin consolidar/etc/sin consolidar directorio:
docker run -d --name unbound -v /path/to/unbound/config:/opt/unbound/etc/unbound -p 53:53/tcp -p 53:53/udp --restart=always mvance/unbound
Uso de composición de Docker
Para instalar Unbound DNS mediante Docker Compose con un montaje de volumen persistente, cree un docker-compose.yml archivo en el directorio de su proyecto con el siguiente contenido:
version: '3' services: unbound: image: mvance/unbound container_name: unbound volumes: - /path/to/unbound/config:/opt/unbound/etc/unbound ports: - "53:53/tcp" - "53:53/udp" restart: always
Reemplazar /ruta/a/sin vincular/config con la ruta deseada en su máquina host.
Guarde el archivo y luego ejecute el siguiente comando en el directorio de su proyecto:
docker-compose up -d
Estos ejemplos demuestran cómo ejecutar Unbound DNS con un montaje de volumen persistente mediante el comando de ejecución de Docker y Docker Compose. Esto garantiza que sus archivos de configuración y registros de Unbound se almacenen en la máquina host y persistan incluso si el contenedor se elimina o se vuelve a crear.
Validando nuestra configuración
Después de instalar Unbound, es esencial validar que el servidor se está ejecutando correctamente y puede resolver las consultas de DNS. Para ello, puede utilizar el excavar comando de la siguiente manera:
dig @localhost example.com
Si la respuesta contiene una dirección IP para ejemplo.com, su servidor Unbound está funcionando correctamente.
Prueba de validación
Para probar la validación de DNSSEC, puede utilizar el excavar comando con el +dnssec bandera:
dig @localhost example.com +dnssec
Si la respuesta incluye el indicador «anuncio», indica que Unbound ha validado con éxito los datos de DNSSEC.
Servidor DNS local
Unbound se puede configurar como un servidor DNS local, brindando servicios de resolución de DNS a los dispositivos en su red local. Esto puede mejorar el rendimiento y la seguridad de su infraestructura de DNS, ya que Unbound puede almacenar en caché las respuestas de DNS y realizar la validación de DNSSEC.
Archivo de configuración no enlazado
El archivo de configuración principal de Unbound normalmente se encuentra en /etc/sin consolidar/sin consolidar.conf. Este archivo contiene varias configuraciones y opciones que controlan el comportamiento del servidor Unbound. Puede personalizar este archivo de acuerdo con sus requisitos, como especificar servidores DNS ascendentes, habilitar DNS sobre TLS y establecer reglas de control de acceso.
Prueba de búsqueda de DNS
Después de realizar cambios en el archivo de configuración de Unbound, es esencial probar la funcionalidad de búsqueda de DNS para garantizar que todo funcione como se esperaba. Puedes usar el excavar Comando para realizar una búsqueda de DNS:
dig @localhost example.com
Si recibe una dirección IP válida en la respuesta, su servidor Unbound está funcionando correctamente.
Prueba de DNSSEC
Para probar si su servidor Unbound está realizando correctamente la validación de DNSSEC, use el excavar comando con el +dnssec bandera:
dig @localhost example.com +dnssec
Si la respuesta contiene el indicador «anuncio», indica que Unbound ha validado con éxito los datos DNSSEC para el dominio consultado.
usando openresolv
Openresolv es una herramienta que ayuda a administrar múltiples resoluciones de DNS en un sistema. La integración de Unbound con openresolv le permite actualizar automáticamente la configuración de resolución de DNS del sistema cada vez que Unbound se inicia o se detiene. Para configurar Unbound para que funcione con openresolv, agregue las siguientes líneas a su archivo de configuración de Unbound:
include: /etc/resolvconf/run/resolv.conf resolvconf: yes
Reenvío mediante DNS sobre TLS
DNS sobre TLS (DoT) es una característica de seguridad que encripta las consultas y respuestas de DNS, protegiéndolas de espionaje y manipulación. Para habilitar el reenvío de DNS sobre TLS en Unbound, agregue la siguiente configuración al /etc/sin consolidar/sin consolidar.conf archivo:
forward-zone: name: "." forward-tls-upstream: yes forward-addr: <Upstream DNS server with TLS support>
Reemplazar
Especificación manual de servidores DNS
En algunos casos, es posible que desee especificar manualmente los servidores DNS que Unbound debe usar para resolver consultas. Puede hacer esto agregando la siguiente configuración al /etc/sin consolidar/sin consolidar.conf archivo:
forward-zone: name: "." forward-addr: <DNS server 1> forward-addr: <DNS server 2>
Reemplazar
Cambio de DNS en Drakconnect
Usando Mandriva Linux con la herramienta Drakconnect, puede cambiar la configuración de DNS del sistema a Unbound modificando el /etc/resolv.conf archivo. Reemplace las entradas existentes del servidor de nombres con la siguiente línea:
nameserver 127.0.0.1
Esto configurará el sistema para usar el servidor Unbound local para la resolución de DNS una vez que haya instalado y configurado Unbound en el servidor local de Mandriva Linux.
Configuración de unbound-control para control remoto
Unbound-control es una herramienta de línea de comandos que le permite administrar y monitorear de forma remota su servidor Unbound. En su servidor DNS independiente, esto se instala automáticamente. Sin embargo, también puede configurar unbound-control para administrar de forma remota su servidor Unbound siguiendo estos pasos:
- Instala el control ilimitado paquete si aún no está instalado.
- Correr sudo unbound-control-configuración para generar los certificados y claves SSL necesarios.
- Agregue las siguientes líneas de configuración al /etc/sin consolidar/sin consolidar.conf archivo:
remote-control: control-enable: yes control-interface: 127.0.0.1 control-port: 8953 server-key-file: "/etc/unbound/unbound_server.key" server-cert-file: "/etc/unbound/unbound_server.pem" control-key-file: "/etc/unbound/unbound_control.key" control-cert-file: "/etc/unbound/unbound_control.pem"
- Reinicie el servidor Unbound para aplicar los cambios. Ahora puedes usar el control ilimitado comando para administrar su servidor Unbound de forma remota.
Raíz sugerencias systemd timer
Mantener actualizado el archivo de sugerencias de raíz es esencial para garantizar la precisión y la eficiencia del proceso de resolución de DNS.
Un temporizador systemd puede automatizar esta tarea actualizando periódicamente el archivo de sugerencias de raíz. Para configurar un temporizador systemd para actualizar las sugerencias de raíz, siga estos pasos:
- Cree un script que descargue el último archivo de sugerencias de raíz:
```bash #!/bin/bash wget -O /etc/unbound/root.hints https://www.internic.net/domain/named.cache
- Guarde este script como /usr/local/bin/update-root-hints.sh y hágalo ejecutable:
sudo chmod +x /usr/local/bin/update-root-hints.sh
- Crear un archivo de servicio systemd /etc/systemd/system/update-root-hints.servicio con el siguiente contenido:
[Unit] Description=Update Unbound root hints [Service] Type=oneshot ExecStart=/usr/local/bin/update-root-hints.sh
- Crear un archivo de temporizador systemd /etc/systemd/system/update-root-hints.timer con el siguiente contenido:
[Unit] Description=Timer for updating Unbound root hints [Timer] OnCalendar=monthly Persistent=true [Install] WantedBy=timers.target
- Habilite e inicie el temporizador:
sudo systemctl enable --now update-root-hints.timer
- El archivo de sugerencias de raíz ahora se actualizará automáticamente mensualmente.
Uso del servidor DNS independiente junto con Pi-Hole
Pi-Hole es una solución muy popular para ejecutarse en el laboratorio doméstico y en la red doméstica en general. Proporciona sumidero de DNS, lo que le permite bloquear dominios DNS que publican anuncios, rastrean información y recopilan otros datos de telemetría.
Puede usar Unbound como el servidor DNS ascendente para Pi-Hole, ya que Pi-Hole no puede hacer DNS sobre HTTPS de forma nativa. Ambos se pueden ejecutar en el mismo host mediante contenedores Docker. En su configuración de Pi-Hole, especifica Unbound como su servidor DNS ascendente.
A continuación, se muestra un servidor Pi-Hole que apunta a un servidor DNS local Unbound.
Terminando
Unbound DNS es un servidor DNS potente y seguro que puede actuar como un servidor DNS local y un solucionador de DNS recursivo. Siguiendo los pasos descritos anteriormente, puede configurar una infraestructura de DNS segura y eficiente que aproveche la validación de DNSSEC y DNS sobre TLS para proteger su red de posibles amenazas. También puede usar el Servidor DNS Unbound junto con otras soluciones de seguridad como Pi-Hole para proteger aún más su entorno. En general, es una gran solución con muchas características y beneficios.