Después de un paréntesis (mis disculpas para nuestro lector Javi, que nos pedía continuar con esta serie en los comentarios del primer post), continuamos hablando de la replicación parcial del árbol DNS de forma pasiva.
En la anterior entrada hemos dejado claro lo que queremos obtener y por qué, y hoy cubrimos el diseño de la infraestructura necesaria para poner en marcha una sonda de este tipo en nuestra organización.
Recursos hardware
Para poner en marcha esta sonda necesitamos, en primer lugar, infraestructura de red que nos permita realizar una captura de tráfico y enviarla a nuestra sonda. Estamos hablando de dispositivos con capacidad de reenviar tráfico hacia otro equipo (bien electrónica de red o bien dispositivos de monitorización de red como sondas IDS/IPS, gestores de tráfico, etcétera), o de TAP físicos (dispositivos que copian el tráfico que pasa por un cable de red a otro).
Los recursos que necesita la propia sonda son más bien reducidos, ya que únicamente necesitamos un equipo con una buena interfaz de red que sea capaz de procesar todo el tráfico capturado (aunque el tráfico no DNS se descarta en la entrada de la aplicación y no es procesado), y suficiente espacio en disco duro como para albergar los registros necesarios.
Si queremos hacer una visualización y procesado posterior de la información, necesitaremos también disponer de una base de datos en la que insertar la información generada con la aplicación, y un servidor web para obtener los resultados a nuestras consultas. Estos elementos pueden estar en la misma sonda, o en otro equipo al que tengamos acceso.
Ubicación del sensor
La decisión más importante es dónde situar nuestra sonda.
Vamos a suponer que disponemos de servidores DNS internos a la organización, por lo que la estructura más adecuada sería la se muestra en el siguiente diagrama:
En él podemos ver cómo desde la red interna se realizan peticiones al servidor DNS corporativo (1), y este a su vez reenvía las peticiones para las que no tiene respuesta a un servidor DNS externo (2). Cuando recibe la respuesta adecuada (3), la reenvía al cliente que realizó la petición original (4).
El lugar más adecuado para colocar nuestra sonda es, por tanto, el punto de la red más cercano a nuestros servidores DNS, ya que allí obtendremos únicamente el tráfico DNS que queremos analizar. El diagrama siguiente muestra esta localización.
Sin embargo, a pesar de que en el anterior post comentaba que no se guarda información sobre los clientes que realizan las peticiones DNS, hemos encontrado aplicaciones en las que sí que se guarda la información sobre el cliente que ha realizado una petición determinada. A pesar de que se puede considerar un punto negativo en la privacidad del usuario, en ámbitos empresariales puede justificarse la recolección de esta información, siempre desde el punto de vista de maximizar la seguridad para el usuario.
Si ponemos la sonda en esta posición, tenemos que las consultas recursivas que realicen los servidores DNS corporativos también se guardan en memoria y, si la herramienta utilizada tiene caché, es posible que perdamos información sobre las peticiones realizadas por un cliente determinado.
Por ello, puede ser interesante mover la posición de la sonda a una ubicación donde únicamente tengamos las peticiones que realizan los clientes a los DNS corporativos, eliminando las consultas recursivas de los últimos hacia Internet. Así, la infraestructura quedaría como sigue:
Finalmente, si no disponemos de servidores DNS corporativos, la instalación es más sencilla, ya que podemos ubicar la sonda en cualquier punto en el que se capture todo el tráfico DNS de nuestros clientes internos:
Dejamos para entradas siguientes la instalación, configuración y optimización de la instalación.
Buenas,
He revisado ambos artículos y me ha parecido interesante, sobre todo para poder evitar la actuación de botnets. Espero futuras entregas.
Saludos.