Operaciones con el DNS de Windows Server que deberías saber !!

Estimados amigos de Inseguros !!!

Todos sabemos lo fácil que es instalar un servidor DNS en Windows. Siguiente siguiente siguiente y está listo. Sobre todo, si lo integramos con Active Directory en la creación de nuestro primer Domain Controller, la tarea es realmente sencilla.


A lo largo de mis 15 años de administración de sistemas AD el error número uno es la configuración del cliente. Si usas un servidor DNS interno, TODOS los equipos deben apuntar al sistema DNS interno.

El segundo fallo que más me he encontrado es el tema de los reenviadores. Cuando tienes un servidor interno DNS, el servidor conoce los recursos INTERNOS. Tiene un registro del tipo A para cada equipo, como pueda ser: Servidor-172.16.1.1. Lo que tenemos claro es que no tiene un registro para TODOS LOS DOMINIOS DE INTERNET, serían unos cuantos Gigas.

Los reenviadores nos permiten configurar un servidor externo ( por lo general) que será el encargado de resolver las direcciones externas, las que nuestro server interno no conoce, por ejemplo www.1gbdeinformacion.com.

Si no configuras correctamente un reenviador "cercano", como pueda ser el de tu ISP, o el famoso 8.8.8.8 de Google, la resolución de nombres la reenviará hacia los servidores ROOT dns de internet, es decir, los padres de Internet !!! xD.


Bien, y la seguridad?

Hay varias guías de buenas prácticas en seguridad para el DNS de Windows.

La parte que ahora me interesa es la auditoria o logging de las peticiones de los clientes.

Monitorizando tráfico desde una interface privada del firewall a la WAN o interface de Internet he detectado peticiones UDP contra servidores DNS que no deberían. Tambien he detectado respuestas.

Me gustaría saber qué equipos están haciendo qué peticiones, por lo que voy a activar la auditoria en detalle de las peticiones DNS de los clientes de mi red interna.

Vamos a instalar este HotFix para nuestro server DNS support.microsoft.com/kb/2956577
Ojo, solo es válido para Windows Server 2012 R2.

Instalamos y si, amigos, tenemos que reiniciar...

A continuación, en el visor de sucesos, bajo la rama aplicaciones, windows, Dns-Server habilitamos los registros.



Ahora podemos ver las peticiones desde el equipo cliente con el nombre.


Por si os sirve de ayuda, aquí os pego la información de los registros.

Como siempre, espero que os guste y gracias por leerme !!!

Event ID Type Category Level Event text
257
Response success
Lookup
Informational
RESPONSE_SUCCESS: TCP=%1; InterfaceIP=%2; Destination=%3; AA=%4; AD=%5; QNAME=%6; QTYPE=%7; XID=%8; DNSSEC=%9; RCODE=%10; Port=%11; Flags=%12; Scope=%13; Zone=%14; PolicyName=%15; PacketData=%17
258
Response failure
Lookup
Error
RESPONSE_FAILURE: TCP=%1; InterfaceIP=%2; Reason=%3; Destination=%4; QNAME=%5; QTYPE=%6; XID=%7; RCODE=%8; Port=%9; Flags=%10; Zone=%11; PolicyName=%12; PacketData=%14
259
Ignored query
Lookup
Error
IGNORED_QUERY: TCP=%1; InterfaceIP=%2; Reason=%3; QNAME=%4; QTYPE=%5; XID=%6; Zone=%7; PolicyName=%8
260
Query out
Recursive query
Informational
RECURSE_QUERY_OUT: TCP=%1; Destination=%2; InterfaceIP=%3; RD=%4; QNAME=%5; QTYPE=%6; XID=%7; Port=%8; Flags=%9; ServerScope=%10; CacheScope=%11; PolicyName=%12; PacketData=%14
261
Response in
Recursive query
Informational
RECURSE_RESPONSE_IN: TCP=%1; Source=%2; InterfaceIP=%3; AA=%4; AD=%5; QNAME=%6; QTYPE=%7; XID=%8; Port=%9; Flags=%10; ServerScope=%11; CacheScope=%12; PacketData=%14
262
Recursive query timeout
Recursive query
Error
RECURSE_QUERY_TIMEOUT: TCP=%1; InterfaceIP=%2; Destination=%3; QNAME=%4; QTYPE=%5; XID=%6; Port=%7; Flags=%8; ServerScope=%9; CacheScope=%10
263
Update in
Dynamic update
Informational
DYN_UPDATE_RECV: TCP=%1; InterfaceIP=%2; Source=%3; QNAME=%4; XID=%5; Port=%6; Flags=%7; SECURE=%8; PacketData=%10
264
Update response
Dynamic update
Informational
DYN_UPDATE_RESPONSE: TCP=%1; InterfaceIP=%2; Destination=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; RCODE=%8; PolicyName=%9; PacketData=%11
265
IXFR request out
Zone XFR
Informational
IXFR_REQ_OUT: TCP=%1; InterfaceIP=%2; Source=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; PacketData=%9
266
IXFR request in
Zone XFR
Informational
IXFR_REQ_RECV: TCP=%1; InterfaceIP=%2; Source=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; PacketData=%9
267
IXFR response out
Zone xfr
Informational
IXFR_RESP_OUT: TCP=%1; InterfaceIP=%2; Destination=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; RCODE=%8; PacketData=%10
268
IXFR response in
Zone xfr
Informational
IXFR_RESP_RECV: TCP=%1; InterfaceIP=%2; Destination=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; RCODE=%8; PacketData=%10
269
AXFR request out
Zone XFR
Informational
AXFR_REQ_OUT: TCP=%1; Source=%2; InterfaceIP=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; PacketData=%9
270
AXFR request in
Zone XFR
Informational
AXFR_REQ_RECV: TCP=%1; Source=%2; InterfaceIP=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; PacketData=%9
271
AXFR response out
Zone XFR
Informational
AXFR_RESP_OUT: TCP=%1; InterfaceIP=%2; Destination=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; RCODE=%8
272
AXFR response in
Zone XFR
Informational
AXFR_RESP_RECV: TCP=%1; InterfaceIP=%2; Destination=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; RCODE=%8
273
XFR notification in
Zone XFR
Informational
XFR_NOTIFY_RECV: Source=%1; InterfaceIP=%2; QNAME=%3; ZoneScope=%4; Zone=%5; PacketData=%7
274
XFR notification out
Zone XFR
Informational
XFR_NOTIFY_OUT: Destination=%1; InterfaceIP=%2; QNAME=%3; ZoneScope=%4; Zone=%5; PacketData=%7
275
XFR notify ACK in
Zone XFR
Informational
XFR_NOTIFY_ACK_IN: Source=%1; InterfaceIP=%2; PacketData=%4
276
XFR notify ACK out
Zone XFR
Informational
XFR_NOTIFY_ACK_OUT: Destination=%1; InterfaceIP=%2; Zone=%3; PacketData=%5
277
Update forward
Dynamic update
Informational
DYN_UPDATE_FORWARD: TCP=%1; ForwardInterfaceIP=%2; Destination=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; RCODE=%8; PacketData=%10
278
Update response in
Dynamic update
Informational
DYN_UPDATE_RESPONSE_IN: TCP=%1; InterfaceIP=%2; Source=%3; QNAME=%4; XID=%5; ZoneScope=%6; Zone=%7; RCODE=%8; PacketData=%10
279
Internal lookup CNAME
Lookup
Informational
INTERNAL_LOOKUP_CNAME: TCP=%1; InterfaceIP=%2; Source=%3; RD=%4; QNAME=%5; QTYPE=%6; Port=%7; Flags=%8; XID=%9; PacketData=%11
280
Internal lookup additional
Lookup
Informational
INTERNAL_LOOKUP_ADDITIONAL: TCP=%1; InterfaceIP=%2; Source=%3; RD=%4; QNAME=%5; QTYPE=%6; Port=%7; Flags=%8; XID=%9; PacketData=%11