DHCP snooping: más seguridad para tu red
El protocolo de configuración dinámica de host (DHCP) sirve para simplificar la configuración de la red: en lugar de configurar de forma individual cada dispositivo habilitado para la red, cada cliente y cada PC, hoy en día se utiliza normalmente el protocolo DHCP. Cada participante en la red recibe su dirección IP, máscara de subred y demás a través de un servidor. Esto no solo simplifica el trabajo con redes grandes, sino que también minimiza las fuentes de error: como la asignación de direcciones es dinámica, no puede ocurrir que a dos dispositivos se les asigne la misma dirección IP. Asimismo, reduce el espacio de direcciones requerido: si el dispositivo sale de la red, la dirección IP queda libre automáticamente para un nuevo suscriptor de red.
Sin embargo, esta simplificación crea al mismo tiempo una puerta de acceso para los piratas informáticos. Cuando confías en alguien para que haga el trabajo por ti, inevitablemente cedes el control. De esta manera pueden ocurrir cosas que en principio pasan desapercibidas, pero que están sucediendo en un segundo plano. Esto también puede ocurrir con el protocolo DHCP, si bien hay una solución: para evitar un mal uso del protocolo DHCP, se puede usar el llamado DHCP snooping. ¿Cómo funciona esta tecnología de seguridad?
¿Por qué es necesario el DHCP snooping?
En el protocolo DHCP, un servidor garantiza que cada cliente reciba su configuración. Para esto, el cliente primero envía una solicitud broadcast a la red. Con esto el suscriptor de la red desea determinar qué servidores DHCP están disponibles y pueden responder. Todos los servidores DHCP disponibles responden a esta solicitud. Si hay varios servidores conectados a la red, el cliente selecciona aquel cuya respuesta llega primero. Después el cliente realiza la asignación de direcciones con el servidor DHCP. Es entonces cuando sale a relucir el punto débil del sistema y los piratas informáticos pueden aprovecharse de él.
¿Cómo es posible? Añadiendo más servidores (los llamados servidores DHCP no autorizados) a la red. Cuando uno de estos servidores consigue enviar una respuesta al cliente en primer lugar, el miembro de la red recibe la información de configuración a través del servidor malicioso. El servidor DHCP no autorizado enviará datos incorrectos o manipulados, de manera que el cliente no se configura bien. Esta acción permite dirigir al cliente hacia una puerta de enlace incorrecta, lo que se conoce como DHCP spoofing. A través de ella, los delincuentes pueden registrar la transferencia de datos y obtener información confidencial, lo que también se conoce como ataque de intermediario. Por otro lado, la asignación incorrecta de dirección puede causar un ataque de denegación de servicio, quedando toda la red queda paralizada. No obstante, gracias al DHCP snooping se evita el contacto con servidores maliciosos.
En la mayoría de las redes domésticas, ya sean LAN o WLAN, el router asume la función del servidor DHCP. Sin embargo, esto no cambia mucho la situación porque, en principio, todos los dispositivos pueden convertirse en un servidor DHCP. Los piratas informáticos pueden, por ejemplo, conectar un portátil a la red WLAN y así controlar la asignación de direcciones.
El DHCP snooping protege no solo de actividades delictivas, sino también de fuentes de error derivadas del uso de routers adicionales. Si se instala un nuevo router en una red ya existente, esto puede confundir al protocolo DHCP: el nuevo router asigna direcciones que no se deberían asignar, lo que puede causar errores de conexión. Especialmente en un contexto empresarial, esto puede ocasionar problemas si los empleados conectan sus propios dispositivos a la red sin el conocimiento del administrador.
¿Qué es el DHCP snooping?
El DHCP snooping es una función de seguridad de segundo nivel del modelo OSI. La función está integrada en el conmutador o switch, el cual conecta a los clientes con los servidores DHCP. En otras palabras, se trata de un protocolo que primero verifica toda la información DHCP que pasa a través del conmutador. Solo los paquetes aprobados que provengan de servidores de confianza se envían a los clientes.
Cisco fue el primer fabricante en utilizar el DHCP snooping en sus dispositivos. La empresa también fue coautora del RFC 7513, donde se explica el principio de funcionamiento. Mientras tanto, sin embargo, muchos fabricantes han seguido a los periféricos de red y ofrecen la función de seguridad (en parte con un nombre diferente) en sus dispositivos.
De esta manera, aunque un servidor DHCP no autorizado puede recibir el paquete DHCPDISCOVER (la solicitud del cliente para un servidor DHCP), ya que está siguiendo la difusión, y aunque también podrá enviar un paquete DHCPOFFER (la respuesta a la solicitud), esta no llegará a ningún cliente. El DHCP snooping en el conmutador detecta que el paquete no proviene de un servidor de confianza o contiene información incorrecta y bloquea la redirección.
Puertos de confianza
Para garantizar que solo los servidores correctos puedan interferir en la provisión de información de configuración, el DHCP snooping utiliza varios pasos. En primer lugar, debes especificar un puerto seguro para tu servidor o servidores. Cualquier dispositivo que intente unirse a la red a través de otro puerto se considera inseguro, lo que incluye a todos los clientes: un host en el que se ejecuta un servidor DHCP se va a considerar inseguro si no ha sido aprobado por el administrador. Cuando un paquete DHCP que solo puede ser enviado por un servidor (DHCPOFFER, DHCPACK, DHCPMAK) llega a través de un puerto no fiable, el conmutador bloquea el reenvío y el cliente no recibe la información.
Tabla de asociaciones de DHCP snooping
Los piratas informáticos también pueden intentar interrumpir la red simulando ser uno de los clientes existentes y rechazando las ofertas del servidor DHCP. Por ello, el DHCP snooping utiliza una base de datos que el sistema crea y actualiza de manera independiente. El protocolo lee toda la información DHCP (pero no los datos reales después de la conexión exitosa) y extrae la información necesaria para la tabla de asociaciones de DHCP snooping.
El sistema incluirá en la base de datos todos los hosts que provengan de un puerto que no es de confianza. La información recopilada incluye la dirección MAC, la dirección IP adjudicada, el puerto conmutador utilizado, la subred lógica (VLAN) y la duración del tiempo de concesión. De esta manera el DHCP snooping puede garantizar que solo los clientes originales que participaron en la comunicación puedan enviar comandos al servidor. Y es que solo en los casos de clientes originales la dirección MAC y el puerto conmutador del dispositivo coinciden con la información almacenada en la base de datos.
Otras medidas de seguridad, como ARP Inspection o IP Source Guard, también acceden a la tabla de asociaciones DHCP snooping.
Informes
Además, algunos dispositivos de red pueden usar el DHCP snooping para generar un informe de defensa. Los informes o logs se pueden reenviar y luego analizar. El método distingue dos errores de documentación: por un lado, la discrepancia entre la dirección MAC actual y la información almacenada en la base de datos y, por el otro, los paquetes de servidor enviados a través de un puerto no fiable.
El primer tipo de mensaje de error suele deberse a aspectos de la red mal implementados en el dispositivo de un cliente y, por lo general, no son motivo de preocupación. El segundo tipo de mensajes de error, sin embargo, indica una intención criminal: alguien ha intentado infiltrarse deliberadamente en la red con un servidor DHCP no autorizado. Dado que el DHCP snooping registra todo, es posible iniciar investigaciones específicas sobre tales casos problemáticos.
Los servidores DHCP pueden colarse en la red sin tu conocimiento. Estos servidores DHCP falsos pueden ser descubiertos por un error en la forma del paquete DHCPDISCOVER. El servidor malicioso responde a la solicitud y se revela a sí mismo.
Opción 82
Se proporciona aún más seguridad al habilitar la opción 82, también conocida como información de agente de retransmisión DHCP. En este caso, el conmutador activa la comunicación entre el cliente y el servidor, procedimiento útil si los clientes y los servidores no están en la misma subred. Cuando el cliente envía una solicitud al servidor DHCP, el conmutador agrega información adicional al encabezado de esa solicitud. Con esto, el servidor puede comunicarse con el conmutador y, por lo tanto, saber la ubicación del cliente.
El servidor DHCP lee los detalles adicionales y asigna las direcciones IP según la información de ubicación. El servidor envía el paquete de respuesta al cliente a través del conmutador. Si el paquete llega al conmutador, este reconoce, a partir de la información aún contenida, que la comunicación realmente se está ejecutando a través del mismo. Después el dispositivo elimina los datos de la opción 82 del encabezado y reenvía la respuesta.
Para usar la opción 82, la función DCHP snooping debe estar habilitada globalmente. Además, el servidor debe ser capaz de manejar la información adicional. De lo contrario, el servidor DHCP simplemente ignora los datos de la opción 82 y trata la solicitud del cliente como una solicitud DHCP estándar.