
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?
http://www.hackplayers.com
No hay comentarios:
Publicar un comentario