El servicio DNS
Principios básicos
1. Indicaciones de raíz
Cuando se pide a un servidor DNS (Domain Name System) que traduzca un FQDN (Fully Qualified Domain Name) en una dirección IP, hay dos escenarios posibles: o bien el servidor DNS conoce la respuesta a la pregunta formulada, porque tiene esta información en un registro DNS o almacenada en caché en su memoria RAM, o bien no conoce la respuesta y, por tanto, debe preguntar a otro servidor DNS.
Si pregunta a otro servidor, puede, entre otras cosas, enviar su petición a uno de los servidores DNS raíz, que son de acceso público en Internet.
Como recordatorio, los servidores DNS raíz conocen las direcciones de los servidores TLD (Top Level Domain), que gestionan la última parte de una dirección, como .com, .edu, .es o .gov.
Los servidores TLD proporcionarán al servidor DNS la dirección del servidor que gestiona el dominio al que desea acceder, como cole.com o eni.es y el servidor DNS devolverá la dirección IP del servidor que gestiona el servicio al que desea acceder, como www.eni.es.
Este proceso se conoce como búsqueda iterativa. Las direcciones IP de los servidores raíz utilizados para iniciar estas búsquedas están disponibles en el sistema.
a. Ver las indicaciones de raíz
En un servidor DNS de Windows, puede encontrar las indicaciones de raíz haciendo clic con el botón derecho...
El trabajo práctico
Para explorar el servicio DNS en Windows Server, utilizaremos el siguiente trabajo práctico:

-
Un controlador de dominio, con DHCP y DNS.
-
Dos servidores DNS que no están en el dominio.
-
Una máquina cliente que no está inicialmente en el dominio.
-
Un servidor Windows con enrutamiento NAT, que no estará en el dominio.
El servidor NAT tiene dos tarjetas de red, una que lo conecta a la red real a través de su software de virtualización y otra en la misma red que el resto de las máquinas.
En DC-cole, instale el rol de servicios de dominio de Active Directory y elija instalar DNS cuando promocione el servidor a controlador de dominio. A continuación, instale el rol DHCP y autorícelo en el dominio.
En el servidor DC-cole, configure la extensión DHCP para que los equipos cliente puedan tener una dirección en la red de su NAT, con el NAT como pasarela y el DC-cole como DNS.
Instale el rol de servidor DNS en los servidores DNS1 y DNS2. Para ello, puede utilizar el comando PowerShell:
Install-WindowsFeature -Name DNS -IncludeManagementTools
1. Configuración del NAT
a. Configuración de tarjetas de red
La tarjeta de red en el mismo segmento que la otra máquina tiene la siguiente configuración:
La segunda tarjeta de red, que está conectada a la red real, se debe configurar de acuerdo con la red IP utilizada en su red. La siguiente captura...
Redireccionadores
Es posible indicarle a un servidor DNS dónde buscar la información que necesita para responder a las peticiones de los clientes. Como hemos visto, por defecto, si un servidor no tiene la información que necesita para responder a un cliente, preguntará a los servidores DNS raíz.
La resolución con indicaciones de raíz puede ser demasiado lenta y provocar mensajes de tiempo de espera.
Para comprobar la resolución DNS, utilice el comando nslookup.

Puede resolver este problema especificando otro servidor DNS; esto se hace utilizando redireccionadores o forwarders. Existen dos tipos de redireccionadores: globales y condicionales. Con los redireccionadores, ya no se lleva a cabo la resolución iterativa a los servidores DNS raíz; el servidor preguntará directamente por el servicio DNS indicado en el redireccionador.
El comando nslookup ignora la caché DNS local de la máquina donde se ejecuta y fuerza la resolución por el servidor DNS.
1. Redireccionadores globales
Los redireccionadores globales indicarán una dirección de servidor DNS a consultar cuando el servidor no disponga de la información solicitada.
En el servicio DNS de DC-cole, para crear un redireccionador global, vaya al administrador DNS, luego haga clic con el botón derecho del ratón en el servicio Properties y, a continuación, en la pestaña...
Proceso de resolución del servidor DNS
Ahora vamos a ver cómo los servidores DNS intentan resolver la petición.
Cuando una petición DNS llega al servidor, comienza un proceso para resolverla, teniendo en cuenta los datos disponibles localmente, el contenido de la caché, cualquier redireccionador e indicaciones de las raíces.
-
El servidor comprueba primero si la información solicitada está disponible en la caché. En caso afirmativo, responde al cliente.
-
Si no hay datos en la caché que se puedan utilizar para responder a la solicitud, el servidor consultará cualquier zona DNS alojada localmente, buscando registros DNS que se puedan utilizar para responder a la solicitud. Si tiene algún registro, responderá al cliente.
-
Si no hay registros disponibles para resolver la petición del cliente, el servidor comprobará si tiene algún redireccionador. Si lo tiene, enviará la petición a la dirección especificada en el redireccionador, en el puerto 53 en UDP.
-
Si el servidor indicado por el redireccionador responde, reenvía la información al cliente.
-
Si el servidor indicado en el redireccionador no responde, intenta llegar a los servidores raíz.
-
Si no tiene un redireccionador, también intentará llegar a los servidores raíz.
-
Si la resolución iterativa iniciada con los servidores raíz da lugar...
Registros DNS
Por lo tanto, una zona DNS contiene registros, algunos de los cuales se crean automáticamente por el sistema, mientras que otros se pueden crear manualmente por parde de los administradores. Existen diferentes tipos de zona DNS, que realizan diferentes funciones.
Existen muchos tipos diferentes de registros DNS. A continuación, se ofrece una lista de los más utilizados:
-
Registros SOA (Start of Authority): este registro se crea al mismo tiempo que la zona y contiene información como la lista de servidores autorizados para el dominio, el TTL que indica cuánto tiempo se deben mantener los registros en caché, la configuración de transferencia de zona, la configuración de actualización dinámica, etc.
-
Registros NS: este tipo de registro contiene la lista de servidores autoritativos de la zona. Contiene la misma información que un registro SOA, incluidos TTL, actualizaciones, etc.
-
Registros host: contienen las direcciones IP de las máquinas y los hay de dos tipos:
-
tipo A para direcciones IPv4,
-
tipo AAAA para direcciones IPv6.
-
Registros CNAME: también conocidos como alias, estos registros no contienen una dirección IP, sino que hacen referencia a un registro host. Se utilizan para enviar diferentes servicios a una misma máquina, como www o ftp, que estarían en la misma máquina y, por tanto, en el mismo registro de host.
-
Registros...
Gestión de zonas y registros
Cuando se promociona un servidor controlador de dominio, la mejor práctica recomendada por Microsoft es instalar el servicio DNS al mismo tiempo en la misma máquina.
Por lo tanto, este método instalará el servicio DNS y creará dos zonas de búsqueda directa, que estarán vinculadas a Active Directory y se utilizarán para su funcionamiento.
El primero, cuyo nombre empieza por "_msdcs" seguido del nombre de dominio del bosque, es un subdominio del dominio raíz. Se replicará en todos los controladores de dominio del bosque.
Contiene varias subcarpetas:
-
DC contiene información sobre los sitios de Active Directory,
-
Domains, donde encontrará la lista de controladores de dominio del bosque,
-
GC, que contiene la lista de controladores de dominio que tienen el dominio global,
-
PDC, donde encontrará la lista de controladores de dominio que son emuladores de PDC.
En términos prácticos, hay poca administración que hacer en esta zona y los administradores raramente interactúan con ella. Sin embargo, puede faltar, en cuyo caso se puede crear manualmente dándole un nombre que empiece por _msdcs. El sistema crea entonces carpetas, subcarpetas y registros DNS. Esto se debe considerar como una solución temporal para hacer frente a la emergencia, antes de reinstalar el servicio.
Es en la segunda zona creada por el sistema donde tendrá lugar la administración más importante, la del nombre de dominio. También contiene las subcarpetas utilizadas por el sistema, la delegación DNS a la zona _msdcs y los registros creados por Active Directory para todas las máquinas del dominio. Cuando se añade una máquina al dominio, se crea automáticamente un registro de host para ella.
1. Gestión...
Creación de zonas DNS en Windows Server
Existen varios tipos de zona en DNS y veremos cómo crearlas y configurarlas en Windows Server 2022.
Cada zona DNS tiene una dirección y un tipo. Para la dirección, puede ser directa o inversa, y para el tipo, puede ser primaria, secundaria o stub. Por lo tanto, podemos tener una zona primaria inversa o directa y una zona secundaria inversa o directa.
Un servidor DNS que aloja una zona ya no es un simple resolver DNS, sino un servidor DNS conocido como host.
1. Zonas principales
En el trabajo práctico, vamos a crear una zona de búsqueda directa y una zona inversa en el controlador de dominio DC-cole.
a. Creación de zonas principales directas
En el Administrador de DNS, haga clic con el botón derecho en Forward Lockup Zones y seleccione New Zone en el menú desplegable.

Se iniciará un asistente, así que sáltese la primera ventana.
En la segunda ventana, seleccione Primary zone.
Cuando se crean zonas en un controlador de dominio, la opción de almacenar la zona en Active Directory está marcada por defecto. Esto significa que los registros contenidos en estas zonas se almacenan en particiones de tipo aplicación de la base de datos de Active Directory.
-
Si las zonas se han configurado para replicarse en los controladores de dominio del mismo dominio, se encuentran en la partición DomainDnsZones.
-
Si las zonas se han configurado para replicarse entre los controladores de dominio de todo el bosque, sus registros se almacenan en la partición ForestDnsZones.
Si la opción no estuviera marcada, el sistema sugeriría almacenar la zona en un archivo con el nombre de la zona y ubicado en c:\windows\system32\dns por defecto.
A continuación, viene la configuración de replicación, donde elegimos replicar a todos los controladores de dominio del mismo dominio.
A continuación, debe dar un nombre a la zona, elija editions56.com.
A continuación, debe decidir la directiva de actualización dinámica. Va a desactivar la actualización dinámica de los registros.
Deshabilitar las actualizaciones dinámicas se puede hacer para una zona DNS que albergará registros que conducen a servidores que nunca cambian de dirección. Esto también es una medida de seguridad.
A continuación, aparece la tradicional...
Directivas DNS
1. Visión general de las directivas de DNS
Es posible crear directivas para determinar las condiciones en las que un servidor DNS aceptará responder a una solicitud o dará respuestas diferentes, en función de la directiva. Estas directivas se pueden implementar a nivel de cada zona o a nivel de todo el servidor.
Si se configura una directiva a nivel de servidor y otra a nivel de zona y entran en conflicto, entonces la directiva del servidor tiene prioridad y se aplica.
Existe un orden de aplicación de las directivas, que funciona como una ACL (Access Control List). El sistema procesará las peticiones DNS e intentará aplicarles las directivas tomándolas por orden de ejecución, en orden secuencial. En cuanto una directiva es aplicable, el sistema deja de leerlas e ignora las siguientes.
He aquí algunos ejemplos de cómo se pueden utilizar las directivas DNS:
-
Balanceado de la carga: por ejemplo, teniendo varios registros apuntando a diferentes servidores que alojan la misma aplicación.
-
Gestión de la geolocalización: el DNS estará autorizado a responder o no en función de la geolocalización de la solicitud. Es uno de los mecanismos utilizados para prohibir sitios en determinados países.
-
Filtrado: es posible decidir si se responde o no a las solicitudes en función de determinados criterios.
-
División: el servidor DNS responderá de forma diferente en función de si la solicitud procede de una red interna o externa.
2. Conceptos básicos
a. Condiciones y acciones
Las condiciones que definen si el servidor DNS responde y cómo lo hace pueden variar, como la red IP desde la que se origina la solicitud, el protocolo utilizado, el tipo de registro utilizado para responder...
DNSSEC
1. Conceptos generales
DNSSEC es una característica de DNS que refuerza la seguridad de las infraestructuras DNS y combate los ataques de "man in the middle" y el envenenamiento de la caché DNS. Se puede aplicar a zonas incluidas en Active Directory:
-
Se utiliza para garantizar la autenticidad de las respuestas de los servidores y asegurar a los clientes que efectivamente, es el servidor DNS el que les ha dado la respuesta a su consulta. Para ello, los servidores firman las respuestas mediante una clave privada, que los clientes pueden verificar con la clave pública correspondiente.
-
También garantiza la integridad de las respuestas recibidas y que no han sido modificadas en el camino. Las respuestas se pueden cifrar utilizando el mismo mecanismo de claves públicas y privadas.
-
Los clientes recuperan la clave pública en lo que Microsoft denomina un anclaje de aprobación, que se crea en el servidor DNS y se replica en los controladores de dominio del bosque. Esto sustituye a los certificados utilizados en Internet para crear la cadena de confianza y generar las claves.
-
Los clientes están obligados a utilizar DNSSEC a través de una directiva de grupo configurada en Active Directory y sólo aceptarán respuestas firmadas con las claves de anclaje de aprobación. Entre los servidores utilizarán DNSSEC, que está activado por defecto en Windows Server 2022.
-
En DNSSEC se utilizan dos pares de claves públicas/privadas:
-
La ZSK (Zone Signing Key) se utiliza para firmar la zona DNS con la clave privada y el cliente verifica la firma con la clave pública.
-
Las KSK (Key Signing Key) son otro par de claves, utilizadas para firmar ZSK con una clave privada, de modo que los clientes puedan verificar la autenticidad de la ZSK con una clave pública.
-
En las zonas DNS, los registros se van a firmar. Más concretamente, se crearán nuevos registros firmados denominados...
DNS y delegación de subdominios
Si creamos una zona DNS direction.cole.com, entonces creamos un subdominio direction del dominio cole.com dentro de Active Directory. Este es el caso en este ejemplo y el proceso es automático para DNS cuando se crea el subdominio de Active Directory.
Es posible que desee crear subdominios por la flexibilidad que aportan al crear segmentaciones dentro del dominio DNS principal para, por ejemplo, clasificar servicios como el correo electrónico o los sitios de la intranet. Los subdominios también se pueden utilizar para reforzar la seguridad aislando partes sensibles de la empresa, o para aplicar diferentes directivas de seguridad. También pueden facilitar el cumplimiento de los requisitos de conformidad, que exigen que los servicios estén segmentados.
Se crea una delegación DNS para indicar al servidor de la zona padre dónde están los servidores del subdominio que tienen autoridad para este subdominio y para delegar autoridad, para el propio subdominio.
Para una zona fuera de Active Directory, este proceso debe ser realizado manualmente por los administradores.
Para poner en práctica la delegación DNS y la creación de un subdominio, vamos a crear una nueva zona "direction.editions56.com" en el servidor DNS2 de nuestro trabajo práctico. Vamos a hacerlo utilizando PowerShell.
En el servidor DNS2, introduzca el siguiente comando para crear...
Configuración adicional del servicio DNS
1. Round robin
Round robin es una característica adicional en DNS para el balanceo de carga. Si crea dos registros DNS para el mismo FQDN que apunten a diferentes direcciones IP, el servicio responderá a ambos registros con una solicitud para ese FQDN.
El round robin cambiará el orden de las respuestas y el cliente sólo almacenará en caché el primero de los registros contenidos en la respuesta.
Round robin está activado por defecto, como se puede ver yendo a las propiedades del servidor y a la pestaña Advanced.
Para probar este mecanismo round robin, hemos creado dos registros con el mismo FQDN, que contienen diferentes direcciones IP.

Compruebe la resolución de este FQDN con el comando nslookup.
Como puede ver, el orden de los registros en la respuesta se invierte en la segunda solicitud.
El comando nslookup fuerza la resolución de un FQDN incluso si ya está en caché.
2. Limitar el índice de respuesta
Limitar el índice de respuesta implica definir un número máximo de respuestas que el servicio DNS proporcionará a una sola máquina, para evitar sobrecargar el sistema. Esto también ayuda a protegerse de ataques DDOS como la amplificación de DNS.
El siguiente comando muestra la configuración:
Get-DnsServerResponseRateLimiting
Esto nos da el siguiente resultado. Podemos ver que por defecto la funcionalidad está desactivada, en la última línea "mode".
a. Parámetros de limitación de la tasa de respuesta...
Supervisión del servicio DNS
Hay muchos lugares en el sistema donde podemos monitorizar el servicio DNS y comprobar que goza de buena salud. Es posible ver eventos, alertas y el rendimiento general de la máquina.
1. Propiedades del servidor
El primer lugar al que vamos a ir para comprobar que el servicio DNS funciona correctamente es a las propiedades del servidor DNS.
a. Pestaña Monitoring
Vaya al Administrador de DNS, haga clic con el botón derecho del ratón en el servidor, seleccione Properties y vaya a la pestaña Monitoring.

Aquí podremos realizar pruebas funcionales de DNS, para resoluciones locales y recursivas. También será posible programar estas pruebas a intervalos regulares y comprobar si hay algún fallo de funcionamiento, por ejemplo, cuando los servicios que utilizan DNS no funcionan con normalidad.

b. Pestaña Event Logging
Otra pestaña de las propiedades del servidor se refiere a la supervisión del sistema: la pestaña Event Logging.
Se utiliza para determinar los tipos de eventos que desea registrar en los registros de eventos. Por defecto, se establece en All events, pero puede que desee reducir esta selección para que el sistema sea más ligero. Por supuesto, recomendamos dejarlo en su configuración por defecto.

c. Pestaña Debug Logging
Esta pestaña se utiliza para registrar todas las acciones realizadas por el servicio...