Bloqueo de servidores DHCP falsos

Seguro que ya os ha pasado en alguna ocasión. De repente, la gente empieza a decir que ha perdido la conexión en la red local, miras tu icono en la barra de tareas y parece que está todo levantado. Luego ejecutas ipconfig/ifconfig y observas que tienes una IP que no es la que sueles tener. "Ya está, algún listillo ha conectado a la red un Linksys u otro cacharro con un servidor DHCP..."
 Aunque parezca mentira, esta situación hoy en día es bastante frecuente en cualquier empresa y es que los administradores muchas veces insisten en no poner las medidas necesarias para evitar este tipo de situaciones. Lo malo es que no siempre se trata de un incauto consultor que conecta sin querer algo que no sabe exactamente lo que hace e impiden que los demás puedan funcionar correctamente. Algunas veces un atacante puede instalar un falso DHCP (rogue DHCP) para, por ejemplo, falsificar el gateway y/o los servidores DNS de los confiados clientes de la red, de tal forma que podría esnifar su tráfico (MiTM) o redirigirlos a sitios falsos con no muy buenas intenciones...

La solución siempre pasa por configurar la electrónica de red para evitarlo. En este caso hablaremos de Cisco por ser lo más ampliamente utilizado, pero otros fabricantes como HP, Juniper u otros tienen medidas similares (si es tu caso, te invitamos a compartir con nosotros tu experiencia ;)).

Una forma sería utilizar ACLs para bloquear UDP 68, que es el puerto destino que utiliza un servidor DHCP para hablar con el cliente (RFC 1531). Así que simplemente si quieres que un servidor DHCP no envíe paquetes offer o acks puedes crear una lista de acceso y aplicarla en los interfaces correspondientes:

ip access-list 100 deny udp any any eq 68
ip access-list 100 permit ip any any
int [interface facing the would-be rogue]
ip access-group 100 in


Esto no sería necesario si tenemos configurado el ip helper-address y el switch está actuando como un reenviador de broadcasts hacia el servidor DHCP adecuado. También podríamos bloquear el acceso al puerto 68 si queremos detener un DHCP falso detrás de una pasarela o firewall.

La otra forma de luchar contra un DHCP rogue y la más adecuada es utilizar DHCP Snooping. Básicamente, se basa en definir en el switch los puertos sobre los que el tráfico del DHCP server confiable puede transitar. Es decir, definimos como “trust” los puertos donde tenemos servidores dhcp, relays dhcp y los trunks entre los switches.

Configuramos a nivel global en el switch y lo activamos:

ip dhcp snooping vlan 100,101
no ip dhcp snooping information option
ip dhcp snooping


Autorizamos los puertos del servidor dhcp y los trunks:

interface FastEthernet0/3
 description SERVER DHCP
 switchport mode access
 switchport access vlan 100
 switchport nonegotiate
 spanning-tree portfast
 ip dhcp snooping trust

interface GigabitEthernet0/1
 description FIREWALL
 switchport mode trunk
 spanning-tree portfast
 ip dhcp snooping trust

interface GigabitEthernet0/2
 description UPLINK A SWITCH
 switchport mode trunk
 ip dhcp snooping trust


El comando “no ip dhcp snooping information option” lo añadiremos si no queremos la opción 82, es decir, no queremos que el switch añada información adicional para que el servidor DHCP destino pueda identificar el origen del cliente en entornos distribuidos (campo “giaddr”) y asignarle una IP dentro del pool o rango correspondiente.

Por último, si queremos verificar la configuración del DHCP snooping:

switch#show ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
100,101
DHCP snooping is configured on the following Interfaces:

Insertion of option 82 is disabled
circuit-id format: vlan-mod-port
remote-id format: MAC
Option 82 on untrusted port is not allowed
Interface Trusted Rate limit (pps)
———————— ——- —————-
FastEthernet0/3 yes unlimited
GigabitEthernet0/1 yes unlimited
GigabitEthernet0/2 yes unlimited

switch#show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
—————— ————— ———- ————- —- ——————–
00:0C:AA:CC:AA:BB 10.66.0.113 64701 dhcp-snooping 100 FastEthernet0/16
00:0C:BB:CC:AA:AA 10.1.0.110 65827 dhcp-snooping 101 FastEthernet0/4
84:2B:AA:AA:AA:AA 10.1.0.104 50058 dhcp-snooping 101 FastEthernet0/6


Si deseamos desactivarlo temporalmente no hay que reconfigurarlo todo:

no ip dhcp snooping
Fuentes:
Understanding and Configuring DHCP Snooping
dhcp snooping – prevención de ataques DHCP
Blocking rogue DHCP servers
How to Block Rogue DHCP Server's on Cisco Equipment Using ACL's?

2 comentarios :

  1. lol...no te imaginas la de ciscos que he visto sin el anti-snooping configurao....buena info!!!

    ResponderEliminar
  2. eso me lo van a preguntar mañana en un examen de administración de redes. Muchas gracias por explicarlo tan bien :-)

    ResponderEliminar