03 - DHCP

Dynamic Host Configuration Protocol (DHCP) es un protocolo de red utilizado para asignar automáticamente direcciones IP y otros parámetros de configuración de red (como la puerta de enlace predeterminada y los servidores DNS) a los dispositivos en una red. Esto permite que los dispositivos se conecten a la red sin necesidad de una configuración manual.

DHCP automatiza la asignación de direcciones IP, lo que facilita la gestión de redes, especialmente en redes grandes donde la asignación manual de IP sería tediosa y propensa a errores.

  • IP Dinámica: Asignada temporalmente por el servidor DHCP. Es útil en redes con dispositivos que se conectan y desconectan frecuentemente.
  • IP Estática: Asignada manualmente a un dispositivo. Es útil para servidores, impresoras y otros dispositivos que necesitan una dirección IP fija.

DHCP fue desarrollado como una extensión del protocolo BOOTP (Bootstrap Protocol) a principios de la década de 1990. BOOTP era utilizado para asignar direcciones IP de manera automática, pero tenía limitaciones, como la falta de soporte para la reutilización de direcciones IP y la configuración de opciones adicionales como la puerta de enlace predeterminada.

En 1993 se publica el primer RFC (Request for Comments) de DHCP, que mejora y amplía las funcionalidades de BOOTP, incluyendo la asignación dinámica de direcciones IP. En 1997 se introduce DHCPv6 para soportar la asignación de direcciones en redes IPv6.

La aparición del DHCP facilitó enormemente la gestión de redes, especialmente en un contexto de crecimiento exponencial de dispositivos conectados a Internet. Gracias a DHCP, las redes pueden escalar sin necesidad de una intervención humana para configurar cada dispositivo manualmente.

Hoy en día, DHCP es un estándar en prácticamente todas las redes, desde pequeñas redes domésticas hasta grandes infraestructuras corporativas. En un mundo cada vez más conectado, con dispositivos móviles, IoT, y entornos de trabajo híbridos, DHCP juega un papel crucial para garantizar que todos estos dispositivos puedan conectarse a la red sin complicaciones.

  • Automatización de la Configuración de Red: DHCP elimina la necesidad de asignar manualmente direcciones IP, lo que es especialmente útil en redes con muchos dispositivos, donde la administración manual sería muy complicada.
  • Reducción de Errores Humanos: Al automatizar la configuración, se minimizan los errores comunes como asignar la misma dirección IP a varios dispositivos (conflictos de IP).
  • Facilidad para Gestionar Cambios en la Red: En redes dinámicas, donde los dispositivos se conectan y desconectan frecuentemente, DHCP facilita la gestión de direcciones IP y otros parámetros de red, permitiendo que los dispositivos obtengan automáticamente una configuración válida cada vez que se conectan.

El proceso de asignación de una dirección IP por parte de un servidor DHCP sigue una secuencia de pasos conocida como DORA, que son las siglas de Discover, Offer, Request, Acknowledge.

  • Discover (Descubrir): Cuando un dispositivo (cliente) se conecta a la red por primera vez, no tiene una dirección IP asignada. Por lo tanto, envía un mensaje DHCP Discover en modo broadcast (a todas las direcciones de la red) para encontrar un servidor DHCP. Este mensaje Discover incluye la dirección MAC del cliente.
  • Offer (Oferta): Cuando el servidor DHCP recibe el mensaje Discover, responde con un mensaje DHCP Offer. Este mensaje contiene una dirección IP que el servidor reserva para el cliente, junto con otros parámetros de red como la máscara de subred, la puerta de enlace y los servidores DNS. El servidor DHCP envía esta oferta al cliente utilizando la dirección MAC proporcionada en el mensaje Discover.
  • Request (Solicitud): El cliente revisa las ofertas recibidas (en redes con varios servidores DHCP podría recibir varias ofertas) y elige una. Luego, envía un mensaje DHCP Request al servidor DHCP que le ofreció la dirección IP que desea aceptar. Este mensaje también se envía en broadcast, lo que permite que todos los servidores DHCP sepan que el cliente ha seleccionado una oferta específica.
  • Acknowledge (Confirmación): El servidor DHCP que hizo la oferta seleccionada por el cliente responde con un mensaje DHCP Acknowledge. Este mensaje confirma que la dirección IP ha sido asignada al cliente, junto con los otros parámetros de configuración de red. A partir de este momento, el cliente puede usar la dirección IP asignada y empezar a comunicarse en la red.
  • Servidor DHCP: Es el servidor que gestiona y asigna las direcciones IP y otros parámetros de configuración a los dispositivos de la red. Puede ser un servidor dedicado o integrado en un router, especialmente en redes más pequeñas.
  • Cliente DHCP: Es cualquier dispositivo que solicita una dirección IP a través del protocolo DHCP. Esto incluye ordenadores, smartphones, impresoras, cámaras IP, entre otros. Cualquier dispositivo que soporte TCP/IP puede actuar como cliente DHCP.
  • DHCP Relay Agent (Agente de retransmisión): En redes grandes o segmentadas, el servidor DHCP puede no estar en la misma subred que los clientes. En estos casos, se usa un agente de retransmisión DHCP, que recibe los mensajes DHCP Discover de los clientes y los reenvía al servidor DHCP en otra subred. El agente de retransmisión añade información sobre la subred de origen del cliente, lo que permite al servidor DHCP responder con los parámetros de red correctos para esa subred.

Al configurar un servidor DHCP, hay varios parámetros y opciones que deben definirse para que el servidor pueda asignar correctamente las direcciones IP y otros ajustes de red a los clientes. A continuación, se describen los parámetros más comunes:

  • Pool de Direcciones IP (Rango de IPs): El pool de direcciones IP es el rango de direcciones que el servidor DHCP puede asignar a los clientes. Este rango debe estar dentro del rango de direcciones de la subred donde opera el servidor.Por ejemplo, en una red con la subred 192.168.1.0/24, el pool podría ser 192.168.1.100 - 192.168.1.200, permitiendo al servidor DHCP asignar IPs dentro de ese rango a los clientes.
  • Tiempo de Concesión (Lease Time): El tiempo de concesión es el período durante el cual un cliente puede utilizar la dirección IP que le fue asignada. Al expirar este tiempo, el cliente debe solicitar una renovación de la concesión al servidor DHCP. Poner un tiempo corto puede ser útil en redes donde los dispositivos se conectan y desconectan frecuentemente, como redes Wi-Fi públicas. Por el contrario, un tiempo largo podría ser adecuado para dispositivos que permanecen conectados por mucho tiempo, como ordenadores de escritorio en una oficina.
  • Exclusiones (IP Reservadas): Las exclusiones son direcciones IP dentro del rango definido que no serán asignadas dinámicamente por el servidor DHCP. Estas direcciones pueden ser reservadas para dispositivos específicos que requieren una IP fija, como un servidor de archivos o una impresora. Por ejemplo, si el rango de IPs del pool es 192.168.1.100 - 192.168.1.200, pero el administrador quiere asegurarse de que 192.168.1.150 no sea asignada automáticamente, puede excluirla.
  • Opciones DHCP: Las opciones DHCP son configuraciones adicionales que el servidor puede proporcionar a los clientes junto con la dirección IP. Estas opciones incluyen:
    • Gateway (Puerta de Enlace): La dirección IP del router o gateway que permite la salida a otras redes, generalmente hacia Internet.
    • DNS: Las direcciones de los servidores DNS que el cliente utilizará para resolver nombres de dominio.

Aunque el DHCP asigna direcciones IP dinámicas por defecto, también permite asignar direcciones IP estáticas (fijas) a dispositivos específicos. Esto se hace mediante la reserva de una dirección IP para un dispositivo en particular, basado en su dirección MAC.

Las reservas permiten que un dispositivo específico, identificado por su dirección MAC, reciba siempre la misma dirección IP cada vez que se conecta a la red. Esto es útil para dispositivos como impresoras, servidores o cualquier dispositivo que necesite una IP constante para funcionar correctamente.

Por ejemplo, si una impresora tiene la dirección MAC 00:1A:2B:3C:4D:5E, el administrador puede reservar la IP 192.168.1.50 para esa MAC. De esta forma, cada vez que la impresora se conecte, el servidor DHCP le asignará esa IP específica.

Ventajas de IPs Estáticas Asignadas por DHCP

  • Simplifica la administración, ya que las IPs no se configuran manualmente en el dispositivo.
  • Asegura que los dispositivos críticos siempre tengan la misma IP, pero permite gestionarlo centralmente a través del servidor DHCP.
  • Evita conflictos de IP que podrían surgir si se asignan manualmente sin un control adecuado.

DHCP es un protocolo flexible que se adapta a diversas necesidades y tamaños de red. Vamos a explorar cómo se implementa y utiliza en distintos entornos, desde redes pequeñas hasta redes segmentadas más grandes que requieren soluciones avanzadas como DHCP Relay.

En redes pequeñas, como en hogares o pequeñas oficinas, DHCP generalmente está integrado en el router o en un dispositivo de acceso a Internet (modem-router). Aquí, el router actúa como el servidor DHCP, gestionando la asignación de direcciones IP para todos los dispositivos conectados a la red local (LAN). En este escenario, el rango de IPs suele ser limitado, como 192.168.0.100 - 192.168.0.200, y no suele haber necesidad de configuraciones avanzadas.

Ventajas

  • Simplicidad: No requiere configuraciones complejas, ya que el router suele venir preconfigurado para actuar como servidor DHCP.
  • Flexibilidad: Permite que los dispositivos se conecten y desconecten fácilmente, obteniendo una dirección IP sin intervención del usuario.
  • Autoconfiguración: Usuarios con poco conocimiento técnico pueden conectar nuevos dispositivos a la red sin problemas.

En redes empresariales más grandes, DHCP se gestiona de manera centralizada mediante servidores dedicados, a menudo en combinación con otras funciones de red (como DNS o Active Directory en entornos Windows). Estas redes pueden abarcar múltiples subredes y sitios físicos, lo que complica la gestión de direcciones IP.

Un servidor DHCP centralizado puede manejar múltiples subredes, asignando IPs y parámetros de red específicos según el segmento de la red al que pertenece el cliente.

En redes grandes, es común implementar servidores DHCP redundantes o configuraciones de failover para asegurar que la asignación de IP no se interrumpa en caso de fallo de un servidor.

Ventajas

  • Escalabilidad: Permite gestionar eficientemente miles de dispositivos en múltiples subredes.
  • Control y Gestión Centralizada: Facilita la administración de direcciones IP, con políticas de asignación específicas y control sobre las configuraciones de red de cada segmento.
  • Seguridad: Integración con otros sistemas de autenticación y seguridad para garantizar que solo dispositivos autorizados obtengan acceso a la red.

En redes grandes o distribuidas, los dispositivos de diferentes subredes pueden necesitar conectarse a un único servidor DHCP que reside en otra subred. Aquí es donde entra en juego DHCP Relay.

DHCP Relay (o agente de retransmisión DHCP) actúa como un intermediario que retransmite los mensajes DHCP entre el cliente en una subred y el servidor DHCP en otra subred. Esto es necesario porque los mensajes DHCP Discover y DHCP Request son enviados en broadcast, y los routers por defecto no reenvían broadcast entre subredes.

DHCP Relay se configura en los routers o switches que conectan las subredes. Estos dispositivos capturan las solicitudes DHCP de los clientes y las envían de manera unicast al servidor DHCP central.

Ventajas

  • Centralización: Permite que un único servidor DHCP gestione múltiples subredes, reduciendo la necesidad de múltiples servidores en cada segmento de la red.
  • Optimización de Recursos: Minimiza el número de servidores DHCP necesarios, concentrando la administración en uno o pocos servidores, mientras los relay agents se encargan de extender el servicio a toda la red.
  • Simplicidad de Gestión: Facilita la gestión y el mantenimiento de la configuración DHCP desde un punto centralizado, aunque los clientes estén dispersos en diversas subredes.

En este apartado, abordaremos los problemas más frecuentes que pueden surgir en una red que utiliza DHCP, cómo diagnosticarlos y resolverlos, y finalmente, cómo proteger el servidor DHCP de posibles ataques.

Conflictos de IP

Ocurre cuando dos dispositivos en la red obtienen la misma dirección IP, lo que genera problemas de conectividad y comunicación.

Causas comunes:

  • Dirección IP asignada manualmente a un dispositivo dentro del rango dinámico del servidor DHCP
  • Configuraciones incorrectas del servidor DHCP, como un rango de IP que se superpone con direcciones IP estáticas asignadas manualmente.

Solución:

  • Revisar y corregir las configuraciones del rango de IP del servidor DHCP.
  • Asegurarse de que las direcciones IP asignadas manualmente estén fuera del rango dinámico del DHCP.

Fallos en la Asignación de IP

El cliente no recibe una dirección IP del servidor DHCP, lo que impide que se conecte a la red.

Causas comunes:

  • El servidor DHCP no está operativo o tiene problemas de conectividad.
  • El pool de direcciones IP está agotado.
  • Configuración incorrecta del cliente, como un conflicto de configuraciones o un cableado defectuoso.

Solución:

  • Verificar que el servidor DHCP esté en funcionamiento y conectado correctamente a la red.
  • Revisar el pool de direcciones IP y ampliarlo si es necesario.
  • Comprobar la configuración de red del cliente y realizar pruebas de conectividad física.

Renovación de IP Fallida

Un cliente que tiene asignada una IP no puede renovar su concesión, lo que puede causar la pérdida de conectividad cuando la concesión expira.

Causas Comunes:

  • Problemas de comunicación entre el cliente y el servidor DHCP.
  • El servidor DHCP ha sido reconfigurado o reiniciado, perdiendo el registro de la concesión.

Solución:

  • Forzar la renovación de la IP en el cliente (por ejemplo, mediante el comando ipconfig /renew en Windows).
  • Verificar que las configuraciones del servidor DHCP no hayan cambiado de manera que impidan la renovación.

DHCP, al ser un protocolo abierto y sin autenticación, es susceptible a varios tipos de ataques. Es fundamental conocer estos ataques y cómo proteger la red contra ellos.

DHCP Starvation (Agotamiento de DHCP)

En este ataque, un atacante envía múltiples solicitudes DHCP falsas con direcciones MAC falsas, haciendo que el servidor DHCP asigne todas sus direcciones IP disponibles. Esto agota el pool de direcciones, impidiendo que otros dispositivos legítimos obtengan una dirección IP.

Solución:

  • Port Security en Switches: Configurar la seguridad de puertos en los switches para limitar el número de direcciones MAC que pueden estar activas en un puerto. Esto puede ayudar a prevenir que un único dispositivo envíe múltiples solicitudes falsas.
  • Implementación de DHCP Snooping: Esta es una característica que puede habilitarse en switches de red, la cual permite monitorizar el tráfico DHCP y bloquear solicitudes DHCP fraudulentas. Filtra el tráfico DHCP para que solo las solicitudes de puertos confiables puedan llegar al servidor DHCP.

Rogue DHCP Server (Servidor DHCP Malicioso)

Un servidor DHCP malicioso (Rogue DHCP) se introduce en la red y responde a las solicitudes DHCP de los clientes antes que el servidor legítimo. Esto puede llevar a que los clientes reciban configuraciones incorrectas, como una puerta de enlace o servidores DNS que dirigen el tráfico hacia el atacante.

Solución:

  • DHCP Snooping: Esta función no solo previene el DHCP Starvation, sino que también bloquea servidores DHCP no autorizados, asegurando que solo los servidores DHCP confiables puedan enviar respuestas a las solicitudes DHCP.
  • Monitorización de la Red: Implementar herramientas de monitorización que puedan detectar la presencia de un servidor DHCP no autorizado en la red.
  • Configuración de VLANs: Usar VLANs para segmentar el tráfico y reducir la exposición a servidores DHCP no autorizados en la misma red de broadcast.

Man-in-the-Middle (MitM) usando DHCP

En este ataque, un atacante usa un servidor DHCP malicioso para proporcionar a los clientes una configuración de red que enruta el tráfico a través del dispositivo del atacante antes de llegar a su destino real. Esto permite al atacante interceptar, alterar o registrar el tráfico de red.

Solución:

  • Autenticación y Seguridad Adicional: Además de DHCP Snooping y VLANs, implementar medidas de seguridad adicionales como 802.1X (autenticación de red) puede ayudar a prevenir este tipo de ataque.
  • Uso de IPsec: En redes corporativas, IPsec puede proteger el tráfico de red incluso si un ataque de MitM ocurre, ya que cifra el tráfico de red.

Ejercicio 1

¿Qué diferencias hay entre BOOTP (Bootstrap Protocol) y DHCP? ¿Por qué DHCP reemplazó a BOOTP en la mayoría de las redes modernas? Explica las ventajas que aporta DHCP en comparación con BOOTP.

Ejercicio 2

Existen opciones DHCP menos comunes, como las opciones para configurar la hora (NTP servers), servidores de nombre (NetBIOS), o la asignación de rutas estáticas. Explica cómo estas opciones pueden ser útiles en una red corporativa.

Ejercicio 3

Investiga cómo funciona DHCPv6 en comparación con DHCP en IPv4. ¿Qué cambios introduce la versión para IPv6 y cómo se maneja la asignación de direcciones IP en entornos que utilizan IPv6?

Ejercicio 4

¿Qué es el “DHCP Failover” y en qué escenarios se implementa? Explica cómo se configura y cuáles son sus beneficios y limitaciones en una red empresarial.

DHCP y Virtualización:

Ejercicio 5

¿Cómo se lleva a cabo un ataque de “DHCP Starvation”? Describe los pasos involucrados en el ataque y discute las posibles consecuencias para la red. ¿Qué contramedidas pueden implementarse para evitar este tipo de ataques?

Ejercicio 6

Explica cómo se configura y cuáles son los desafíos al usar DHCP Relay en una red extensa.

  • clase/smr/sr/1eval/dhcp.txt
  • Última modificación: 2024/08/23 10:31
  • por cesguiro