- La afirmación de que IPv4 es más seguro porque usa NAT por defecto surge de confundir la seguridad con la traducción de direcciones
- NAT (Network Address Translation) no es una función de seguridad, sino un mecanismo de ahorro de direcciones para resolver la escasez de direcciones IPv4
- El funcionamiento de NAT se basa simplemente en el mapeo de puertos para que varios dispositivos compartan una sola IP pública
- En realidad, quien bloquea el tráfico externo no es NAT, sino un firewall con estado (stateful firewall)
- Incluso en entornos IPv6, por defecto el firewall bloquea el tráfico no autorizado, por lo que la ausencia de NAT no implica una menor seguridad
La confusión entre NAT y seguridad
- La afirmación de que IPv4 es más seguro porque usa NAT es una idea equivocada
- NAT no es una función de seguridad, sino una tecnología para la conservación de direcciones (address conservation)
- En IPv6 también se puede usar NAT, pero eso no refuerza la seguridad
- NAT permite que varios dispositivos de la red interna compartan una sola dirección IP pública
- Realiza el enrutamiento reescribiendo (rewrite) la IP de destino según el puerto de destino del paquete
- Funciona según reglas de mapeo de puertos (port mapping) o reenvío de puertos (port forwarding) configuradas por el administrador de red
Cómo funciona realmente NAT
- En un entorno con NAT, el tráfico entrante desde el exterior no se entrega a los dispositivos internos si tiene un puerto de destino inesperado
- Ese tráfico se queda en el dispositivo con IP pública y no se enruta hacia la red interna
- Por eso puede parecer que NAT bloquea el acceso externo, pero eso es solo un resultado secundario y no un objetivo de diseño de seguridad
El papel del firewall
- El efecto de seguridad que muchas veces se atribuye a NAT en realidad proviene de un firewall con estado (stateful firewall)
- La mayoría de los routers modernos incluyen por defecto políticas de firewall que bloquean el tráfico entrante, independientemente de si usan NAT o no
- El firewall descarta (drop) el tráfico con destino inesperado antes de reescribir paquetes o enrutarlos
- Como ejemplo, las reglas predeterminadas del firewall IPv6 de un router UniFi son las siguientes
- Permitir tráfico Established/Related (tráfico de respuesta saliente)
- Bloquear tráfico Invalid
- Bloquear todo el resto del tráfico
Seguridad en entornos IPv6
- Incluso en redes IPv6, las reglas predeterminadas del firewall bloquean el tráfico entrante no autorizado
- Se aplica el mismo nivel de protección aunque no se use NAT
- Para permitir desde el exterior tráfico no solicitado hacia un dispositivo IPv6, es necesario agregar explícitamente reglas de firewall
- Esto se aplica igual, independientemente de si se usa NAT o no
Conclusión
- No tiene fundamento afirmar que IPv6 es menos seguro por no usar NAT
- La seguridad real la determinan no NAT, sino las políticas de firewall y las reglas de control de tráfico
- Incluso en entornos IPv6, con una configuración adecuada del firewall se puede mantener una estrategia de seguridad de denegación por defecto (default-deny)
1 comentarios
Comentarios de Hacker News
Recomiendan revisar la sección 5 del RFC 4787 antes de participar en la discusión
Aunque NAT no es un firewall, sí filtra tráfico y por eso ofrece cierto nivel de función de seguridad
En la práctica, NAT ha evolucionado más allá de la simple traducción de direcciones, y aunque IPv6 no use NAT, puede implementar el mismo filtrado con un firewall
Linux netfilter implementa tanto NAT como firewall; las reglas DNAT/SNAT de la tabla
nathacen NAT, y las reglas REJECT/DROP de la tablafilteractúan como firewallSi solo se aplican reglas de NAT, el tráfico que no pertenece a conexiones existentes también pasa sin problema
Trata sobre cómo NAT crea una tabla de estado al establecer conexiones hacia afuera y permite los paquetes entrantes correspondientes
Es decir, el “filtering” de este documento no se refiere a conexiones entrantes no solicitadas
IPv6 puede ser tan seguro como IPv4, pero depende de la configuración
Que los ingenieros de sistemas y aplicaciones dependan de NAT y del firewall perimetral sin entender el problema de forma integral es un mal hábito de seguridad
Sobre todo mientras más se aleja de las implementaciones reales, la confiabilidad del RFC disminuye
En las redes móviles de EE. UU. se usan direcciones IPv6 sin NAT
Por ejemplo, T-Mobile usa 464XLAT para tunelar IPv4 sobre IPv6
Eso demuestra que pueden operarse firewalls con estado a gran escala sin NAT
Lo probaron con Termux y netcat; IPv4 estaba detrás de CGNAT, pero IPv6 permitía conexión directa
Si la capacidad de red no alcanza, entonces eso debería resolverse
Si IPv6 se generaliza, la comunicación directa entre personas se volverá algo normal
Como ingeniero de redes, una de las primeras cosas que aprendieron fue la relación entre NAT y seguridad
Las direcciones privadas (192.168.0.1) de IPv4 son difíciles de alcanzar desde afuera, pero las direcciones globales de IPv6 pueden exponer información del dispositivo
IPv6 tiene alternativas como Prefix Translation, que permiten conservar parte de las ventajas de NAT y al mismo tiempo mantener acceso transparente
Para una comparación justa, ambas deben alinearse como direcciones internas o externas
En un entorno con CGNAT las conexiones entrantes no son posibles, así que en IPv6 puede limitarse del mismo modo
Se puede ocultar el prefijo con NAT66, pero el beneficio real de seguridad no es muy grande
Muchos hackers confunden NAT con firewall
NAT no existe para seguridad; la seguridad la aporta el firewall
NAT es namespacing y el firewall es seguridad basada en políticas
El namespacing en sí también tiene una fuerte propiedad de seguridad, al hacer que un atacante ni siquiera “conozca el nombre” de los recursos
Un firewall IPv6 puede exponer algo al mundo entero por una sola regla mal puesta
Incluso sin firewall, NAT por sí solo puede proteger recursos internos
NAT reduce la superficie de ataque de una red doméstica a un solo router
En cambio, el firewall puede tener configuraciones por defecto distintas, por lo que IPv6 puede sentirse como un retroceso de seguridad para usuarios comunes
Decir que UPnP rompe la seguridad de NAT es como decir que PCP rompe la del firewall
Sobre la afirmación de que la característica de bloqueo por defecto de NAT es una ventaja de seguridad de IPv4
Las reglas de bloqueo por defecto de IPv6 ofrecen el mismo nivel de seguridad, así que no hay una diferencia estructural de seguridad
El NAT de IPv4 y las reglas de bloqueo por defecto de IPv6 mantienen las mismas condiciones invariantes
Ambos pueden volverse igual de vulnerables si se configuran mal
Al confiarse por tener NAT, alguien sufrió el hackeo de un SBC por no configurar el firewall de IPv6
La causa no fue NAT, sino un error de configuración en IPv6
NAT también causa problemas de seguridad
Puede generar ataques de reflexión o dificultar el rastreo por la separación entre dirección y endpoint
En el pasado hubo un caso de AOL compartiendo pocas direcciones de salida, lo que complicaba bloquear a ciertos usuarios
Pero con el tiempo NAT terminó tratándose como una especie de culto cargo de seguridad
El efecto de NAT cambia según la configuración del ISP y del router
NAT no fue diseñado como función de seguridad, pero sí aporta un efecto de seguridad incidental
En IPv6, si cada dispositivo recibe su propia dirección directa, se necesita un firewall de bloqueo por defecto
Enlace a la especificación de UPnP
Sobre decir que quien afirma que NAT es la base de la seguridad no entiende bien las redes
Comparte un caso de entonces en el que un servidor SIP falló por acumulación de direcciones de privacidad
La discusión relacionada sigue vigente en este hilo de Reddit sobre VOIP
Sobre la afirmación de que NAT no descarta tráfico entrante
NAT solo realiza traducción de direcciones y no descarta paquetes
Dice que modificó el texto para reflejar este comentario