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.
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 |