ping6.net
Seguridad

Seguridad NDP: Protección Contra Ataques de Red IPv6

Asegura tu red IPv6 contra ataques basados en NDP. Aprende sobre RA Guard, SEND, DHCPv6 Shield y cómo prevenir router advertisements falsos.

ping6.net14 de diciembre de 202413 min read
IPv6NDPseguridadRA GuardSENDseguridad de red

Por Qué Importa la Seguridad NDP#

El Protocolo de Descubrimiento de Vecinos (NDP) reemplaza a ARP en IPv6, manejando resolución de direcciones, descubrimiento de enrutadores y configuración de red. A diferencia del modelo simple de solicitud-respuesta de ARP, NDP gestiona anuncios de prefijos, detección de direcciones duplicadas y router advertisements: todas funciones de red críticas.

El problema: NDP fue diseñado para redes locales confiables. No tiene autenticación. Cualquier dispositivo en tu LAN puede enviar Router Advertisements reclamando ser el gateway predeterminado, anunciar prefijos arbitrarios o envenenar cachés de vecinos. En redes modernas con acceso de invitados, políticas BYOD y potenciales amenazas internas, este modelo de confianza se rompe.

El impacto del ataque varía desde denegación de servicio (romper conectividad) hasta ataques de hombre en el medio (interceptar tráfico). A medida que crece el despliegue de IPv6, los atacantes apuntan cada vez más a vulnerabilidades NDP que los equipos de red no han asegurado.

TL;DR - Resumen rápido

Puntos clave:

  • NDP no tiene autenticación: Cualquier dispositivo puede enviar Router Advertisements o envenenar cachés de vecinos
  • RA Guard es esencial: Despliega en todos los switches de acceso para bloquear Router Advertisements falsos
  • Capas de características de seguridad: Usa RA Guard, DHCPv6 Guard y ND Inspection juntos para defensa en profundidad
  • SEND existe pero no es práctico: La autenticación criptográfica requiere PKI y tiene soporte limitado de dispositivos
  • Monitorea ataques: Rastrea frecuencia RA, rotación de caché de vecinos y violaciones de seguridad

Ir a: Vectores de ataque | RA Guard | SEND | Monitoreo


Vectores de Ataque NDP#

Entender las amenazas ayuda a priorizar defensas. Aquí están los patrones de ataque principales:

Router Advertisements Falsos#

El ataque más común y peligroso. Un dispositivo malicioso envía Router Advertisements (RA) con:

  • Gateway predeterminado diferente (hombre en el medio)
  • Tiempo de vida de enrutador más corto (DoS forzando reconfiguración constante)
  • Servidores DNS maliciosos
  • Prefijos inválidos
  • RAs excesivos inundando la red

Impacto: los clientes se reconfiguran automáticamente, enviando tráfico a través del sistema del atacante o perdiendo conectividad por completo.

Escenario del mundo real: Un empleado trae un enrutador doméstico a la oficina y lo conecta. El enrutador envía RAs en la red corporativa. Cientos de sistemas se reconfiguran, perdiendo acceso a Internet o peor, enrutando a través del dispositivo no gestionado.

Envenenamiento de Caché de Vecinos#

Los atacantes envían Neighbor Advertisements falsificados reclamando propiedad de la dirección IPv6 de otro dispositivo. La red actualiza su caché de vecinos con la dirección MAC del atacante.

Legítimo: 2001:db8::100 → MAC aa:bb:cc:dd:ee:ff
Ataque:     2001:db8::100 → MAC 11:22:33:44:55:66 (atacante)

Resultado: el tráfico destinado al host legítimo va al atacante en su lugar.

Esta es la versión IPv6 del envenenamiento ARP. Mismo concepto de ataque, diferente protocolo.

Ataques DAD#

Cuando un nodo configura una dirección IPv6 vía SLAAC, realiza DAD enviando Neighbor Solicitations para verificar que ningún otro dispositivo usa esa dirección. Si recibe un Neighbor Advertisement reclamando esa dirección, el nodo se niega a configurarla.

Los atacantes responden a todos los intentos DAD, previniendo que nodos legítimos obtengan direcciones. Tu red se llena de logs «IPv6: DAD failed» y los dispositivos no pueden obtener direcciones.

Mecanismos de Defensa#

Existen múltiples tecnologías de seguridad, desde características simples de switch hasta autenticación criptográfica. Aplica estas defensas en capas para protección integral.

RA Guard: Primera Línea de Defensa#

RA Guard (RFC 6105) es una característica de switch que filtra mensajes Router Advertisement. Piensa en ello como seguridad de puerto para RAs: solo puertos autorizados pueden enviarlos.

Cómo Funciona RA Guard#

El switch inspecciona paquetes ICMPv6 para Router Advertisements y aplica política:

┌─────────────────────────────────────────┐
│          Tipos de Puerto de Switch      │
├─────────────────────────────────────────┤
│ Puerto Host: Bloquear todos los RAs    │
│ Puerto Router: Permitir RAs de IPs     │
│                confiables               │
└─────────────────────────────────────────┘

La configuración define:

  • Puertos hacia hosts: Bloquear RAs completamente (conexiones de usuarios finales)
  • Puertos hacia routers: Permitir RAs (uplink a enrutadores legítimos)
  • Verificación de rol de dispositivo: Coincidir direcciones de origen contra enrutadores autorizados

Configuración RA Guard de Cisco#

! Definir lista de acceso IPv6 para enrutadores confiables
ipv6 access-list TRUSTED-ROUTERS
 permit ipv6 host 2001:db8::1 any
 permit ipv6 host 2001:db8::2 any
 
! Crear política RA Guard
ipv6 nd raguard policy HOST-POLICY
 device-role host
 
ipv6 nd raguard policy ROUTER-POLICY
 device-role router
 match ipv6 access-list TRUSTED-ROUTERS
 
! Aplicar a VLANs
interface range GigabitEthernet1/0/1-48
 description Puertos de acceso
 ipv6 nd raguard attach-policy HOST-POLICY
 
interface GigabitEthernet1/0/49
 description Uplink a enrutador
 ipv6 nd raguard attach-policy ROUTER-POLICY

Limitaciones de RA Guard#

RA Guard inspecciona paquetes en Capa 2. Los atacantes pueden eludirlo mediante:

  • Fragmentación: Dividir RA a través de fragmentos IPv6 (el primer fragmento no muestra tipo ICMPv6)
  • Tunelización: Encapsular RAs en otros protocolos
  • Cabeceras de extensión: Añadir cabeceras hop-by-hop o destination options

Los switches modernos incluyen modos de «inspección profunda» que reensamblan fragmentos y analizan cabeceras de extensión. Verifica que tu hardware soporte esto o acepta riesgo residual.

Elusión por Fragmentación

Las implementaciones RA Guard heredadas solo inspeccionan el primer fragmento. Los atacantes fragmentan RAs para eludir el filtrado. Asegura que tus switches soporten RFC 7113 RA Guard mejorado con manejo de fragmentos.

DHCPv6 Guard#

Similar a RA Guard, DHCPv6 Guard bloquea mensajes de servidor DHCPv6 desde puertos no autorizados. Esto previene que servidores DHCPv6 falsos emitan direcciones o configuraciones DNS.

DHCPv6 Guard de Cisco#

ipv6 dhcp guard policy CLIENT-POLICY
 device-role client
 
ipv6 dhcp guard policy SERVER-POLICY
 device-role server
 
interface range GigabitEthernet1/0/1-48
 ipv6 dhcp guard attach-policy CLIENT-POLICY
 
interface GigabitEthernet1/0/49
 ipv6 dhcp guard attach-policy SERVER-POLICY

DHCPv6 Guard opera en estos tipos de mensaje:

  • ADVERTISE (servidor → cliente)
  • REPLY (servidor → cliente)
  • RECONFIGURE (servidor → cliente)

Bloquear estos desde puertos host previene servidores DHCPv6 falsos mientras permite solicitudes de cliente legítimas.

SEND: Autenticación Criptográfica#

Secure Neighbor Discovery (SEND, RFC 3971) añade firmas criptográficas a mensajes NDP. Proporciona autenticación fuerte pero requiere infraestructura PKI y no está ampliamente desplegado.

Cómo Funciona SEND#

SEND usa CGA (Direcciones Generadas Criptográficamente) donde la dirección IPv6 se vincula criptográficamente a una clave pública:

  1. El nodo genera par de claves pública/privada
  2. Crea dirección IPv6 con hash de clave pública en ID de interfaz
  3. Firma mensajes NDP con clave privada
  4. Los destinatarios verifican que la firma coincide con la dirección

Por Qué SEND No Está Generalizado#

A pesar de ser estandarizado desde 2005, la adopción de SEND permanece mínima:

Pros:

  • Criptográficamente seguro (no se puede falsificar sin clave privada)
  • No se requiere soporte de switch (seguridad extremo a extremo)
  • Protege todos los tipos de mensaje NDP

Contras:

  • Requisito de infraestructura PKI compleja
  • Soporte limitado de sistema operativo (algunas implementaciones existen, raramente habilitadas por defecto)
  • Sobrecarga de rendimiento de verificación de firma
  • Problemas de compatibilidad hacia atrás (nodos SEND y no-SEND no interoperan bien)
  • Complejidad de gestión de direcciones (direcciones CGA no son amigables para humanos)

La mayoría de organizaciones encuentran RA Guard y DHCPv6 Guard suficientes con mejor relación costo-beneficio.

Suite de Seguridad de Primer Salto IPv6#

Los switches modernos empaquetan características de seguridad NDP en seguridad integral de primer salto:

IPv6 Source Guard#

Valida que dirección IPv6 de origen y dirección MAC coincidan con enlaces aprendidos mediante:

  • Snooping NDP (rastreando Neighbor Advertisements legítimos)
  • Snooping DHCPv6 (rastreando asignaciones de direcciones)
  • Enlaces manuales

Bloquea paquetes con direcciones de origen falsificadas.

IPv6 Prefix Guard#

Valida Router Advertisements y mensajes DHCPv6 Prefix Delegation contra políticas de prefijo configuradas. Previene que atacantes anuncien prefijos no autorizados.

ND Inspection#

Hace snooping de todos los mensajes NDP y construye tablas de enlace mapeando dirección IPv6 → dirección MAC → puerto. Otras características de seguridad referencian estos enlaces para validación.

Configuración Completa FHS de Cisco#

! Habilitar IPv6 en el switch
ipv6 unicast-routing
 
! Crear política FHS
ipv6 access-list ipv6-acl-fhs
 permit ipv6 any any
 
ipv6 nd inspection policy FHS-POLICY
 device-role switch
 drop-unsecure
 limit address-count 1000
 tracking enable
 
ipv6 snooping policy FHS-SNOOPING
 device-role switch
 
! Aplicar a VLAN
vlan configuration 10
 ipv6 nd inspection attach-policy FHS-POLICY
 ipv6 snooping attach-policy FHS-SNOOPING
 
! Configurar puertos confiables
interface GigabitEthernet1/0/49
 ipv6 nd inspection trust
 ipv6 snooping trust

Monitoreo y Detección#

La prevención no es suficiente. Monitorea intentos de ataque y anomalías.

Métricas Clave para Rastrear#

Actividad de Router Advertisement:

# Monitorear frecuencia RA
rdisc6 eth0
 
# Esperado: RAs cada 200-600 segundos de enrutadores conocidos
# Alertar: Múltiples RAs por segundo, RAs de orígenes desconocidos

Tasas de Mensajes Neighbor Discovery:

# Conteo de paquetes Linux
ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -j LOG --log-prefix "RA: "
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -j LOG --log-prefix "NA: "
 
# Ver logs
journalctl -f | grep -E "RA:|NA:"

Agitación de Caché de Vecinos:

# Monitorear cambios en tabla de vecinos
watch -n 1 "ip -6 neigh show | wc -l"
 
# Alta agitación indica posible envenenamiento

Violaciones de Seguridad de Switch#

Monitorear violaciones de RA Guard y DHCPv6 Guard:

# Cisco
show ipv6 nd raguard policy
show ipv6 dhcp guard policy
 
# Buscar contadores de descarte incrementando
show platform hardware fed switch active qos queue stats internal cpu policer

Guía Práctica de Despliegue#

Implementa seguridad NDP sistemáticamente para evitar interrumpir tráfico legítimo.

Fase 1: Visibilidad (Semana 1)#

Objetivo: Entender comportamiento NDP actual

  1. Habilitar logging NDP en switches
  2. Desplegar ndpmon o similar en cada VLAN
  3. Documentar todos los enrutadores legítimos (MAC, dirección IPv6)
  4. Capturar una semana de tráfico RA/NA de referencia
  5. Identificar fuentes inesperadas

Fase 2: Protección Pasiva (Semana 2)#

Objetivo: Habilitar detección sin aplicación

  1. Configurar RA Guard en modo monitor (si se soporta)
  2. Configurar alertas para violaciones
  3. Verificar sin falsos positivos de infraestructura legítima
  4. Ajustar políticas basadas en alertas

Fase 3: Protección Activa (Semanas 3-4)#

Objetivo: Aplicar políticas de seguridad

  1. Habilitar RA Guard en modo bloqueo en VLAN de prueba
  2. Verificar conectividad de cliente y asignación de direcciones
  3. Expandir a VLANs de producción incrementalmente
  4. Añadir DHCPv6 Guard y otras características FHS
  5. Documentar excepciones y puertos confiables

Fase 4: Gestión Continua#

Objetivo: Mantener postura de seguridad

  1. Revisar logs de violación semanalmente
  2. Actualizar listas de enrutadores confiables cuando cambie infraestructura
  3. Probar seguridad durante evaluaciones de vulnerabilidad
  4. Entrenar al equipo en conceptos de seguridad NDP

Mejores Prácticas de Configuración#

Para Switches de Acceso#

! Postura predeterminada: todos los puertos son hacia hosts
ipv6 nd raguard policy DEFAULT-HOST
 device-role host
 
! Aplicar a todos los puertos por defecto
interface range GigabitEthernet1/0/1-48
 ipv6 nd raguard attach-policy DEFAULT-HOST
 ipv6 dhcp guard attach-policy CLIENT-POLICY
 ipv6 snooping
 
! Confiar explícitamente en uplinks (usar anulación manual)
interface GigabitEthernet1/0/49
 description Uplink a distribución
 ipv6 nd raguard attach-policy ROUTER-POLICY
 ipv6 dhcp guard attach-policy SERVER-POLICY
 ipv6 snooping trust

Principio: Denegar por defecto, permitir explícitamente.

Simulación de Ataque para Pruebas#

Verifica que tus defensas funcionen antes de que un atacante las pruebe por ti.

Probar RA Guard#

Usa radvd para enviar Router Advertisements de prueba desde un puerto host:

# Instalar radvd
apt-get install radvd
 
# Configurar RA de prueba (/etc/radvd.conf)
interface eth0 {
  AdvSendAdvert on;
  prefix 2001:db8:bad::/64 {
    AdvOnLink on;
    AdvAutonomous on;
  };
};
 
# Iniciar radvd
systemctl start radvd
 
# Esperado: RA Guard bloquea estos mensajes
# Verificar: Revisar logs del switch para violaciones

Herramientas de Prueba Profesionales#

THC IPv6 Attack Toolkit:

# Instalar
apt-get install thc-ipv6
 
# Probar inundación RA
flood_router6 eth0
 
# Probar ataque DAD
dos-new-ip6 eth0
 
# Esperado: Todos los ataques bloqueados por características FHS

Solo realizar pruebas de ataque en redes de prueba aisladas o con autorización explícita.

Errores Comunes#

Configurar RA Guard en todos los puertos sin confiar explícitamente en uplinks bloquea RAs legítimos. Toda tu red pierde conectividad IPv6.

Síntoma: Los clientes dejan de recibir direcciones después de habilitar RA Guard.

Solución: Identificar y confiar en puertos conectados a enrutadores legítimos.

2. Cobertura VLAN Inconsistente#

Aplicar seguridad a algunas VLANs pero no otras. Los atacantes se conectan a VLANs desprotegidas y pivotan.

Solución: Aplicar políticas de seguridad de primer salto a todas las VLANs, incluyendo redes de gestión.

Cuando la Seguridad Rompe Casos de Uso Legítimos#

Algunos escenarios requieren RAs desde puertos host:

Enrutadores en Modo Bridge#

Pequeños enrutadores en modo bridge/passthrough retransmiten RAs desde upstream.

Solución: Confiar explícitamente en estos puertos o usar diferente diseño de red.

Entornos de Laboratorio de Enrutadores#

Probar configuraciones OSPF, BGP o enrutadores requiere enviar RAs.

Solución: Política de seguridad dedicada para VLANs de laboratorio permitiendo RAs desde cualquier origen.

Documenta todas las excepciones y revisa regularmente.

Comienza a Asegurar NDP Ahora#

Los ataques NDP son reales y están aumentando. Los mecanismos de seguridad existen y funcionan: solo necesitan despliegue.

Seguridad NDP mínima viable:

  1. Habilitar RA Guard en todos los switches de acceso
  2. Confiar solo en puertos uplink
  3. Monitorear violaciones
  4. Responder a alertas

Esto detiene el 95% de ataques NDP con esfuerzo mínimo. Añade DHCPv6 Guard, Source Guard y monitoreo integral para defensa en profundidad.

No esperes a un ataque para empezar a tomar la seguridad NDP en serio. Tu red IPv4 tiene reglas de firewall, seguridad de puerto y snooping DHCP. IPv6 merece la misma atención.

Artículos Relacionados#

Preguntas Frecuentes#

¿Es suficiente RA Guard o necesito SEND?

RA Guard proporciona protección suficiente para la mayoría de redes. SEND ofrece seguridad criptográfica más fuerte pero requiere inversión significativa en infraestructura y tiene soporte limitado de dispositivos. Comienza con RA Guard y otras características de seguridad de primer salto. Solo considera SEND para entornos altamente sensibles donde controlas todos los endpoints.

¿Pueden los atacantes eludir RA Guard con fragmentación?

Las implementaciones RA Guard antiguas podían ser eludidas con RAs fragmentados. Los switches modernos soportan RFC 7113 que añade reensamblaje de fragmentos y análisis de cabeceras de extensión. Verifica que el firmware de tu switch soporte RA Guard mejorado. Si no, acepta esto como riesgo residual o actualiza hardware.

¿Debería bloquear todo ICMPv6 para prevenir ataques NDP?

No. ICMPv6 es fundamental para operación IPv6: maneja NDP, descubrimiento de MTU de ruta y reporte de errores. Bloquear todo ICMPv6 rompe IPv6 completamente. Usa características de seguridad específicas (RA Guard, DHCPv6 Guard) que filtran tipos de mensaje específicos en puertos específicos en lugar de bloqueo blanket de ICMPv6.

¿Cómo aseguro IPv6 en redes sin switches gestionados?

Sin RA Guard a nivel de switch, tienes opciones limitadas:

  • Desplegar SEND si tus endpoints lo soportan (raro)
  • Usar firewalling basado en host para restringir qué RAs aceptan los clientes
  • Implementar segmentación de red para limitar alcance de ataque
  • Monitorear con herramientas como ndpmon para detectar ataques
  • Considerar actualizar a switches gestionados con características de seguridad IPv6

La seguridad basada en host es menos confiable ya que cada endpoint debe configurarse correctamente, pero es mejor que nada.