Dentro de una red de internet es común configurar un servidor DHCP para asignar direcciones ip a nuestros clientes, muchos proveedores de internet suelen manejar esto para asignar a cada cliente una ip válida con la que podrá salir a internet.
El problema de esto, es cuando dentro de nuestra red encontramos un servidor DHCP intruso (conocido como Rogue DHCP Server).
¿Qué es un Rogue DHCP Server?
Este es un servidor DHCP que no es controlado por nosotros, sin embargo, al encontrarse dentro de nuestra red puede suplantar la función de nuestro servidor y comenzar a brindar direcciones ip a nuestros abonados.
En muchos casos, esto se puede originar porque alguno de nuestros clientes conecto su módem de forma incorrecta, recordemos que los módem de los clientes cuentan con un DHCP local en sus puertos ethernet. Si algunos de estos clientes se equivoca y conecta la salida a internet a uno de los puertos LAN, nos puede pasar el caso de que ese módem se convierta en un Rogue DHCP.
Para mitigar un Rogue DHCP Server, podemos implementar algunas medidas de seguridad, una de ellas es el DHCP Snooping.
¿Qué es el DHCP Snooping?
Un DHCP snooping es una función que evita que los mensajes DHCP provenientes de un servidor no autorizado se propaguen en nuestra red y deje sin servicio a nuestros clientes, o bajo el control de algún usuario malicioso. Debemos tener en cuenta que para usar la función de DHCP Snooping es necesario contrar con un switch administrable donde implementar esta función.
Afortunadamente, los routers Mikrotik RouterOS a partir de la versión 6.43 cuentan con la opción de snooping en las interfaces bridge, lo cual es una alternativa para trabajar está función de forma sencilla.
La forma en cómo trabaja DHCP Snooping es a través de puertos confiables y no confiables. En los puertos confiables estamos permitiendo que los mensajes del servidor DHCP se reenvíen a los clientes de la red, mientras que al colocar el puerto como no confiable le indicamos que los mensajes que provengan de un servidor DHCP no deben propagarse por los demás nodos.
¿Cómo puede sucederme este problema?
Si tu eres un WISP e instalas las antenas de tus clientes para proveerles el internet, sabes que al dejar el módem debes conectar el cable que va hacia la antena en el puerto WAN del módem.
Cada módem tiene su puerto WAN y algunos puertos LAN dependiendo del modelo del equipo. Por ejemplo, aquí hay una imagen de un módem TP-LINK TL-WR840N, un modelo bastante común.
La forma correcta de conectar el cable de la antes es en el puerto WAN del módem, como se ve aquí:
Pero qué pasa cuando nuestro cliente comente el error de desconectar el cable y al conectarlo se equivoca de puerto. Entonces el cable que va hacia la antena se conectar en uno de los puertos LAN:
Hay que tener en cuenta que un módem cuenta con un segmento de red local, los puertos LAN del módem están configurados para dar un DHCP cuando nosotros nos conectemos. Teniendo en cuenta esto, al conectar el cable de la antena a uno de los puertos LAN, estamos propagando un servidor DHCP intruso dentro de nuestra red (un DHCP Rogue como describimos anteriormente).
Esto puede causarnos problemas de conectividad con otros clientes, ya que ellos pueden recibir una dirección IP del módem del cliente, en lugar de una de nuestras direcciones IP de nuestro servidor DHCP del router.
De forma simple, podemos representar el problema de la siguiente manera:
Si analizamos ese laboratorio, el router 2011 sería nuestro router con el que damos servicio a nuestros clientes. Para poder conectar a los clientes colocamos un switch y cada puerto le agregamos un enlace de cliente. Ese enlace podría ser hacia una antena o directamente al módem del abonado, por ejemplo, aquí colocamos un módem TP-LINK para que reciba direccionamiento ip del router 2011.
El problema sucede cuando hacemos lo que muestra la imagen, en lugar de conectar el cable hacia el puerto WAN, lo colocamos en uno de los puertos LAN. Ya habíamos mencionado que el módem TP-LINK cuenta con un DHCP en sus puertos LAN, por lo que al conectarlo a ese puerto estamos propagando un nuevo servidor DHCP.
Ahora tenemos un problema en nuestra red, porque cuando el switch reenvíe los mensajes de DHCP Request puede que la asignación lo haga el módem TP-LINK en lugar de nuestro 2011. Los otros clientes que reciban estas ip no tendrán navegación, y en el peor de los casos puede que la red tenga una caída por conflicto con el direccionamiento ip.
Por ello, lo que plantemos en el siguiente laboratorio, es una representación de un caso similar en donde mitiguemos el servidor DHCP intruso mediante la herramienta DHCP Snooping. Ya mencionamos el escenario de un Wisp, pero esto también puede pasar en una oficina, basta con que tengamos una diagrama de red similar para que se replique el error.
Configuración de DHCP Snooping en Mikrotik RouterOS
En el siguiente escenario, se implementará la función de DHCP Snooping aprovechado las funciones de bridge que nos ofrece RouterOS.
Bajo este esquema, nuestra laptop debe recibir una dirección ip del segmento 192.168.30.0/24. Sin embargo, con el Rogue DHCP Server conectado a una de las interfaces del switch, este propaga sus direcciones ip del servidor. Al verificar dentro de la laptop obtenemos como resultado una dirección ip 192.168.25.254, esta ip no nos permite navegar por internet.
Configuración de Router DHCP Server
1Dentro del router vamos a definir el segmento 192.168.30.0/24 para nuestra interfaz ether3.
2Definimos el servidor DHCP en nuestra interfaz ether3, al estar conectada al switch, cada equipo que se conecte debe recibir una dirección ip disponible.
3Cuando hayamos configurado el switch, podremos apreciar cuando el cliente se conecte a nuestro servidor.
Configuración Switch
1En el Mikrotik que actúa como nuestro switch, tenemos que tener configurado nuestra interfaz bridge para el reenvío de paquetes.
2Agregamos los puertos dentro del bridge.
3El puerto ether2 debemos definirlo como puerto confiable, pues conecta con nuestro servidor DHCP autorizado.
4Los demás puertos los definimos como no confiables porque no conectar con el servidor autorizado. Cabe aclarar que si un nodo conecta con otro switch que conecta con otro nodo, debemos colocar ese puerto confiable para que reenvié los mensajes DHCP hacia el otro switch.
5Finalmente, activamos la función de DHCP Snooping dentro de la interfaz bridge. Adicionalmente, al activar la casilla nos aparecerá la opción 82 de DHCP, esta es una medida adicional en donde se puede identificar el servidor DHCP autorizado mediante un ID de identificación. Para esta práctica no se hará uso de ella.
Como último punto, desde la laptop podemos hacer un ipconfig /renew, ahora las únicas ip que debemos recibir son las del segmento 192.168.30.0/24, el cual es nuestra LAN del servidor DHCP autorizado.
¿Qué otras medidas podría tomar?
Manejar el DHCP Snooping es lo ideal al momento de proteger nuestra red, pero no está demás que manejemos otras medidas para nuestra protección, podríamos migrar a VLAN para mitigar aún más este tipo de problemas.
¿Qué pasa si no cuento con un switch administrable?
El no tener un switch administrable es un gran problema, pues nos deja expuesto a que cualquier usuario pueda conectar su servidor DHCP e inundar la red con sus direcciones ip intrusas.
Aunque no hay forma de mitigar el ataque de esa forma, podemos colocar algunas alertas dentro de nuestro servidor DHCP para notificar cuando se presente algún problema como este. Sólo debemos ingresar al servidor DHCP y colocar un script en la sección de alert.
En este caso, como el servidor DHCP esta montado sobre la interfaz ether3 de mi router, puedo indicar en un alert cual el la dirección mac de la interfaz donde tengo montado el servidor DHCP, de esa forma el sistema sabrá que si hay mensajes DHCP provenientes de otra dirección mac, será tomada en cuenta como un DHCP Server intruso.
La alerta me enviará un correo electrónico a mi email para notificarme que un servidor Rogue DHCP ha sido detectado en la red.