0% del curso completado
Seguridad de capa 2: port security, DHCP snooping, DAI, storm control y RA guard (4.7)
📋 En esta lección
Si un atacante se sienta en una boca de red, la batalla es de capa 2 — y la capa 2 nació confiada: ARP cree a cualquiera, DHCP acepta a cualquier servidor, los switches aprenden lo que les digan. Aquí montas el arsenal completo del acceso: port security a fondo, DHCP snooping y su tabla mágica, DAI contra el ARP spoofing, storm control, RA guard para IPv6 y el cierre del VLAN hopping.
El principio: la frontera es el puerto de acceso
La defensa en profundidad (10.1) empieza donde el cable toca tu red. Todas las herramientas de esta lección viven en los switches de acceso y comparten filosofía: el puerto de usuario no es de fiar — se le limita, se le vigila y se le cierra a la primera.
Port security, ahora completo
Lo esbozaste en 2.3 y 5.10; la versión de examen:
SW1(config-if)# switchport mode access ← requisito: puerto access estático
SW1(config-if)# switchport port-security ← activar (¡el paso que se olvida!)
SW1(config-if)# switchport port-security maximum 2
SW1(config-if)# switchport port-security mac-address sticky
SW1(config-if)# switchport port-security violation shutdown
Los tres modos de violación — la pregunta segura:
| Modo | Descarta el exceso | Log/SNMP | Contador | ¿Apaga el puerto? |
|---|---|---|---|---|
protect | Sí | No | No | No |
restrict | Sí | Sí | Sí | No |
shutdown (default) | — | Sí | Sí | Sí → err-disabled |
protect es el silencioso (funciona pero nadie se entera — casi nunca lo que quieres); restrict avisa sin tumbar (bocas compartidas legítimas); shutdown es el default y el puño firme. El err-disabled y su recuperación (shutdown/no shutdown o errdisable recovery) son los de la lección 5.9 — mismo estado, otra causa.
Sticky aprende las MACs actuales y las escribe en la running-config (persisten si guardas) — el punto medio entre teclear MACs a mano y no fijar nada.
SW1# show port-security ← resumen por puerto: máximos, violaciones
SW1# show port-security interface Fa0/5 ← detalle: modo, MACs, última violación
SW1# show port-security address ← la tabla de MACs seguras
Contra qué: MAC flooding (2.3 — saturar la CAM para convertir el switch en hub) y conexiones no autorizadas de dispositivos/mini-switches.
DHCP snooping: el portero del DORA
El ataque: un DHCP pirata (spoofing — 10.1) responde más rápido que el legítimo y reparte su propia configuración: él como gateway y DNS → MitM completo de todos los clientes nuevos. (Versión torpe pero igual de dañina: el router doméstico que alguien enchufó "para tener más bocas".)
La defensa: el switch clasifica sus puertos en trusted (hacia el servidor DHCP real / los uplinks) y untrusted (todo el acceso — el default): las respuestas de servidor (OFFER/ACK) solo se aceptan por puertos trusted; un Offer entrando por una boca de usuario se descarta y se loguea.
SW1(config)# ip dhcp snooping
SW1(config)# ip dhcp snooping vlan 10,50
SW1(config)# interface GigabitEthernet0/24 ← el uplink hacia el DHCP real
SW1(config-if)# ip dhcp snooping trust
SW1(config)# interface range Fa0/1 - 23 ← acceso: untrusted (default) + límite
SW1(config-if-range)# ip dhcp snooping limit rate 10
El limit rate corta además el agotamiento de pool por ráfagas de Discover falsos (DoS — 10.1). Y el subproducto estrella: la binding table — el censo IP↔MAC↔puerto↔VLAN construido espiando los DORA legítimos:
SW1# show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
00:1A:2B:3C:4D:5E 10.9.10.57 28642 dhcp-snooping 10 FastEthernet0/5
Esa tabla es la base de datos de verdad-en-el-acceso… y el insumo de la siguiente herramienta.
DAI: matar el ARP spoofing
El ataque (10.1): el atacante responde ARPs que no le corresponden ("10.9.10.1 soy yo") y envenena cachés → MitM del gateway. ARP no tiene autenticación alguna — cree al último que habla.
La defensa — Dynamic ARP Inspection: el switch intercepta cada ARP en puertos untrusted y lo valida contra la binding table del DHCP snooping: ¿esta MAC dice tener esta IP? Si la tabla no lo respalda, el ARP se descarta y se loguea. El gratuitous ARP del atacante muere en su propia boca.
SW1(config)# ip arp inspection vlan 10,50
SW1(config)# interface GigabitEthernet0/24
SW1(config-if)# ip arp inspection trust ← uplinks trusted, acceso no
Dependencia crítica: DAI necesita el snooping activo antes (su tabla es la referencia); los hosts con IP estática, sin entrada DHCP, requieren ARP ACLs o entradas estáticas — el detalle operativo que se olvida y "rompe la red" para el servidor de IP fija.
Storm control: el cortafuegos de los broadcasts
Contra tormentas (5.7) y floods — accidentales o maliciosos — que un puerto pueda inyectar:
SW1(config-if)# storm-control broadcast level 1.00 ← si broadcast > 1% del ancho de banda...
SW1(config-if)# storm-control action shutdown ← ...err-disabled (o trap para solo avisar)
Simple y brutal: el puerto que supere el umbral de broadcast/multicast/unknown-unicast se corta o denuncia. No sustituye a STP y sus guards (5.9) — los complementa como límite de caudal.
RA guard: el DHCP snooping de IPv6
La versión IPv6 del gateway pirata (6.3): cualquier host puede emitir Router Advertisements y volverse el gateway de la LAN — MitM instantáneo en toda red con IPv6 activo (¡aunque "no uses IPv6", tus hosts dual stack lo escuchan!). RA guard replica el modelo trusted/untrusted para los RA:
SW1(config)# ipv6 nd raguard policy BLOQUEA-RA ← política por defecto: host (sin RAs)
SW1(config)# interface range Fa0/1 - 23
SW1(config-if-range)# ipv6 nd raguard attach-policy BLOQUEA-RA
Los RA solo se aceptan por donde vive el router legítimo. En redes "solo IPv4", esta es la protección que la mayoría no sabe que le falta.
Cierre: VLAN hopping y la doctrina de puertos
Las dos variantes del salto de VLAN (pendientes desde 5.2): switch spoofing (el atacante negocia un trunk via DTP → acceso a todas las VLANs) y double tagging (trama con dos etiquetas — la externa de la nativa se pela en el primer switch y la interna viaja a la VLAN víctima; unidireccional y dependiente de que el puerto esté en la VLAN nativa del trunk).
La mitigación ya la conoces — ahora con todos los porqués:
switchport mode accessexplícito + DTP muerto (nonegotiateen trunks) → sin switch spoofing.- VLAN nativa dedicada y sin usuarios (999) → sin double tagging.
- VLANs no usadas: creadas, sin puertos, y los puertos libres en shutdown o en una VLAN parking.
La plantilla de acceso, edición final
interface FastEthernet0/5
switchport mode access
switchport access vlan 10
switchport voice vlan 20
spanning-tree portfast
spanning-tree bpduguard enable
switchport port-security
switchport port-security maximum 3
switchport port-security violation restrict
ip dhcp snooping limit rate 10
storm-control broadcast level 1.00
ipv6 nd raguard attach-policy BLOQUEA-RA
La suma de 5.9, 5.10 y esta lección: la boca de usuario definitiva — cada línea neutraliza un ataque con nombre.
Relación con otros conceptos
- Cada defensa cierra un ataque presentado antes: MAC flooding (2.3), DHCP/ARP spoofing y MitM (10.1), tormentas (5.7), RAs piratas (6.3), VLAN hopping (5.2).
- Err-disabled y su recuperación: 5.9. La plantilla por endpoint: 5.10 — esta lección la completa.
- La binding table une DHCP (8.1) con la defensa — el patrón "aprender de lo legítimo para vetar lo ilegítimo".
- 802.1X (10.3) es la capa complementaria: identidad en el puerto; estas herramientas protegen los protocolos del segmento.
Resumen
La boca de acceso se blinda por capas: port security (access + máximo + sticky + violación protect/restrict/shutdown — silencioso/avisa/err-disabled) contra MAC flooding e intrusos; DHCP snooping (trusted solo los uplinks al servidor; rate-limit en acceso) mata al DHCP pirata y construye la binding table; DAI valida cada ARP contra esa tabla — fin del ARP poisoning (recuerda: snooping primero, y estáticas para IPs fijas); storm control corta al puerto que inunde; RA guard es el snooping de los gateways IPv6 (imprescindible incluso en redes "solo IPv4"); y el VLAN hopping muere con access explícito + nonegotiate + nativa dedicada. Todo junto: la plantilla final del puerto de usuario — defensa en profundidad, boca a boca.