[Dr.WoW] [No.36] NAT Transversal

112 0 0 0

Anteriormente, aprendimos que la política IPSec de la plantilla se puede usar para establecer túneles IPSec cuando el host se conecta a los hosts secundarios sin direcciones IP de egreso fijo. En este punto, independientemente de si el sub-host utiliza o no una dirección IP pública fija o dinámica, aún puede acceder de forma segura al host a través del túnel IPSec. Todo estuvo bien para el Tiandihui.


Y sin embargo, el Internet nunca se mantendrá en calma por mucho tiempo. Tiandihui enfrentó otro desafío. Algunos sub-hosts ni siquiera tenían direcciones IP públicas dinámicas! Solo podían acceder a Internet a través de la red de la dirección del dispositivo NAT. ¿Pueden estos subhosts acceder al host como de costumbre? Además, además del acceso de host secundario al host, también necesitan acceder a Internet; algunos subhostes tienen IPSec y NAT configurados en sus firewalls; ¿Pueden los dos coexistir pacíficamente? Dos responden estas dos preguntas, escuchemos al Dr. WoW.


1 Visión general de los escenarios transversales de NAT


Primero, echemos un vistazo a las redes con dispositivos NAT. Como se muestra en la Figura 1-1, si la IP de la interfaz del FW del host secundario es una dirección de red privada, debe ser transformada por un dispositivo NAT. La dirección solo se puede utilizar para establecer un túnel IPSec con el firewall del host después de que se haya transformado en una dirección IP pública.


Figura 1-1 Escenario transversal de NAT


105519mwqg9qb8kgqqq84a.png


Como todos sabemos, IPSec se utiliza para garantizar que los paquetes no puedan modificarse; NAT, por otro lado, está especialmente diseñado para modificar las direcciones IP de paquetes. Se siente como si estuviéramos mezclando fuego con hielo. Sin embargo, después de observar detenidamente, podemos ver que, en primer lugar, el proceso de negociación de IPSec se completa a través de mensajes ISAKMP; Los mensajes ISAKMP están encapsulados en UDP, los números de puerto de origen y destino para los cuales son ambos 500; Los dispositivos NAT pueden transformar la dirección IP y los puertos de estos mensajes, y como tal, los mensajes ISAKMP pueden transformarse con éxito mediante la transformación NAT para completar la negociación de IPSec SA. Sin embargo, el tráfico de datos se transfiere a través del protocolo AH o ESP; Esto arroja una llave en el proceso de transformación NAT. A continuación, veremos si los paquetes AH y ESP pueden pasar a través de dispositivos NAT.


·         Protocolo AH


Debido a que AH realiza una verificación de integridad de los datos, realizará un cálculo HASH para todos los paquetes IP dentro de la dirección IP. NAT, por otro lado, cambiará las direcciones IP, rompiendo así los valores de AH HASH. Como tal, los paquetes AH no pueden pasar a través de la puerta de enlace NAT.

 

·         Protocolo ESP


ESP realiza una verificación de integridad en los datos, pero esta verificación no incluye el encabezado IP externo; como tal, la traducción de la dirección de ID no romperá el valor de ESP HASH. Sin embargo, debido a que el puerto TCP del paquete ESP está cifrado y no se puede cambiar, ya que los puertos se transforman simultáneamente por el NAT, no se puede admitir ESP.

Para comprender mejor estos problemas, primero debemos observar la función de NAT transversal (nat transversal) que se produce en ambos firewalls cuando se establece el túnel IPSec. Después de que se active la función de NAT y cuando se deba atravesar el dispositivo NAT, el paquete ESP se encapsulará en el encabezado UDP; el número de puerto de origen y de destino será ambos 4500. La dirección IP y el puerto de los paquetes IPSec con este tipo de encabezado UDP no serán modificados por el dispositivo NAT.


Dados los diferentes ajustes del dispositivo NAT y las funciones de transformación de direcciones, presentaremos este tema de los siguientes tres escenarios diferentes.


Escenario 1: Dirección IP pública desconocida  de sub-host posterior a la transformación NAT

Como se muestra en la Figura 1-2, cuando hay un dispositivo NAT dentro de la red del operador, la dirección IP privada de la interfaz GE0/0/2 del FW del sub-host se convertirá en una dirección IP pública cuando sea transformada por el dispositivo NAT. Debido a que Tiandihui no tiene forma de saber la dirección IP pública del host secundario cuando es transformada por el dispositivo NAT, no hay manera de que el FW del host designe explícitamente la dirección IP pública del sub-host del mismo nivel. Como tal, el FW del host debe usar el método de plantilla para configurar la política IPSec; al mismo tiempo, los FW del host y del sub-host deben activar la función transversal de NAT.


En este escenario, el host todavía usa el método de plantilla, por lo que no puede acceder activamente al sub-host; solo el sub-host puede iniciar activamente el acceso al host.


Figura 1-2 Dirección IP pública del sub-servidor de la transformación posterior a NAT desconocida.


105959e37g33ezyhlth1bh.png


La configuración del FW Key del host y del sub-host se muestra en la Tabla 1-1.

Tabla 1-1 configuración transversal de NAT (1)

 

 

Key    Configuration

Host FW_A

Sub-Host FW_B

Propuesta IPSec

IPSec proposal pro1

 transform esp //  El protocol ESP tranforma el   paquete usado.

IPSec proposal pro1

 transform esp //  El protocol ESP tranforma el   paquete usado.

IKE Peer

ike peer sub-host

 pre-shared-key tiandihui1

 ike-proposal 10

nat traversal /  ambos extremos comienzan   simultáneamente, inicio predeterminado

ike peer host

 pre-shared-key tiandihui1

 ike-proposal 10

 remote-address 1.1.1.1

nat traversal /  ambos extremos comienzan simultáneamente,   inicio predeterminado

Politica IPSec

IPSec policy-template tem1 1 //   template method configuration

 security acl 3000

 proposal pro1

 ike-peer sub-host

IPSec policy policy1 1 isakmp template tem1

IPSec policy policy1 1 isakmp

 security acl 3000

 proposal pro1

 ike-peer host

 

Escenario 2: se conoce la dirección IP pública del host secundario posterior a la transformación NAT.


Como se muestra en la Figura 1-3, cuando hay un dispositivo NAT dentro de la red del sub-host, la dirección IP privada de la interfaz FW GE0/0/2 del host secundario se convertirá en una dirección IP pública cuando sea transformada por el dispositivo NAT. Debido a que el dispositivo NAT está dentro del alcance del control del host secundario, se conocerá la dirección IP pública transformada, por lo que el FW del host puede usar tanto la plantilla como los métodos IKE para la configuración de políticas IPSec.


Se debe tener en cuenta que incluso si se usa el método IKE, el host aún no puede establecer activamente un túnel IPSec con el sub-host. Este no es un problema de IPSec, sino un problema de dispositivo NAT. El dispositivo NAT solo puede transformar la dirección de origen para el host secundario; una vez que el dispositivo NAT "oculta" el host secundario, el acceso al host secundario es imposible. Si el host necesita acceder activamente a la dirección de red privada de sub-host FW_B, la función del Servidor NAT debe configurarse en el dispositivo NAT; Discutiremos esto en el Escenario 3.

Figura 1-3 Dirección IP pública del sub-servidor de la transformación posterior a NAT conocida.


110019ezljyja4qquyhfaq.png



Utilizando la política IPSec de IKE como ejemplo, la configuración de la clave FW del host y del sub-host se muestra en la Tabla 1-2.

 

Tabla 1-2 configuración transversal de NAT (2)

Key Configuration

Host FW_A

Sub-Host FW_B

IPSec Proposal

IPSec proposal pro1

 transform esp // El protocolo ESP transforma el   paquete usado.

IPSec proposal pro1

 transform esp // El protocolo ESP transforma el   paquete usado.

IKE Peer

ike peer sub-host

 pre-shared-key   tiandihui1

 ike-proposal 10

nat traversal // ambos extremos comienzan simultáneamente, inicio   predeterminado

remote-address 2.2.2.10 // La dirección del peer es la dirección   post-NAT. Cuando se usa IKE, debido a que la dirección de igual es una   dirección única, solo se puede usar una dirección del grupo de direcciones   del dispositivo NAT. Cuando se utiliza la plantilla, esto no se aplica.

Dirección de autenticación de dirección remota 172.16.0.1 // La   dirección de autenticación es la dirección pre-NAT. Cuando se utiliza la   plantilla, esto no se aplica.

ike peer host

 pre-shared-key   tiandihui1

 ike-proposal 10

 remote-address 1.1.1.1

nat traversal // ambos extremos comienzan   simultáneamente, inicio predeterminado

IPSec Policy

IPSec policy policy1   isakmp

 security acl   3000

 proposal pro1

 ike-peer sub-host

IPSec policy policy1   1 isakmp

 security acl   3000

 proposal pro1

 ike-peer host

 

Escenario 3: Dispositivo NAT con funciones de servidor NAT.


Como se muestra en la Figura 1-4, cuando el dispositivo NAT se encuentra dentro de la red del host secundario, este proporcionará la función del Servidor NAT; la dirección emitida públicamente es 2.2.2.20 y la dirección de la red privada asignada es la dirección de la interfaz GE0/0/2 del FW del sub-servidor 172.16.0.1. Cuando el FW del host utiliza el método IKE para configurar la política IPSec, es posible el acceso del host al sub-host.


Cuando el NAT Server está configurado en el dispositivo NAT, los puertos 2.2.2.20 UDP 500 y 4500 se asignarán respectivamente a los puertos 172.16.0.1 UDP 500 y 4500; La configuración específica es la siguiente:


[NAT] nat server protocol udp global 2.2.2.20 500 inside 172.16.0.1 500

[NAT] nat server protocol udp global 2.2.2.20 4500 inside 172.16.0.1 4500


Mientras tanto, debido a que la configuración del Servidor NAT en el dispositivo NAT generará una tabla de mapa de Servidor inversa, el FW del host secundario también podrá iniciar el acceso activamente al host. Una vez que el paquete llega al dispositivo NAT y coincide con la tabla de mapa de servidor inversa, la dirección de origen se transformará en 2.2.2.20, lo que hará posible el acceso de host secundario.

 

Figura 1-4 Dispositivo NAT con funciones de servidor NAT.


110049ywzdfsr6klbbvb44.png


La configuración de la tecla FW del host y del sub-host se muestra en la Tabla 1-3.

Tabla 1-3 configuración transversal de NAT (3).

Key Configuration

Host FW_A

Sub-Host FW_B

IPSec Proposal

IPSec proposal pro1

 transform esp // El protocolo ESP transforma el   paquete usado.

IPSec proposal pro1

 transform esp // El protocolo ESP transforma el   paquete usado.

IKE Peer

ike peer sub-host

 pre-shared-key   tiandihui1

 ike-proposal 10

nat traversal // ambos extremos comienzan   simultáneamente, inicio predeterminado

remote-address 2.2.2.20 // La dirección del peer es la dirección   global del servidor.

dirección de autenticación de dirección remota 172.16.0.1 // La   dirección de autenticación es la dirección de transformación pre-NAT.

ike peer host

 pre-shared-key   tiandihui1

 ike-proposal 10

 remote-address 1.1.1.1

nat traversal // ambos extremos comienzan   simultáneamente, inicio predeterminado

IPSec Policy

IPSec policy policy1   isakmp

 security acl   3000

 proposal pro1

 ike-peer   sub-host

IPSec policy policy1   1 isakmp

 security acl   3000

 proposal pro1

 ike-peer host

 

Tres características de la configuración transversal de NAT:

·         Los dos FW deben activar la función NAT transversal (nat transversal), es decir, solo una salida del FW es una dirección IP privada.

·         Debido a que la salida del FW del host secundario está "oculta" por el dispositivo NAT, la dirección IP del peer del túnel visible para el servidor de seguridad del host es la dirección IP pública de la transformación posterior al NAT. Por lo tanto, cuando el host utiliza la política IPSec de IKE, La dirección IP designada del comando de dirección remota es la dirección transformada de NAT y ya no es la dirección de red privada de negociación IKE iniciada por un igual.

·         Debido a que la dirección IP pública designada para el comando de dirección remota ya no se puede usar para la autenticación de identidad, se debe agregar un comando adicional, es decir, el comando de dirección de autenticación de dirección remota para designar la dirección de autenticación de identidad del mismo nivel (este debe ser el dispositivo del mismo nivel). dirección de transformación pre-NAT, la dirección de inicio de negociación IKE real); esta dirección IP se usa localmente para autenticar el dispositivo par.

Por supuesto, si el host utiliza una política IPSec configurada por plantilla, seguirá renunciando automáticamente a sus derechos para iniciar el acceso de forma activa, y tampoco podrá autenticar el dispositivo del mismo nivel; como tal, no es necesario configurar los comandos de dirección remota y dirección de autenticación remota.

A continuación, usaremos el segundo escenario para presentar cómo IPSec puede atravesar los NAT cuando se usan IKEv1 e IKEv2.

2 IKEv1 NAT Transversal Negotiation (modo principal)

El proceso de interacción del paquete de negociación transversal de NAT del modo principal IKEv1 es el siguiente:

2. Cuando comienza el modo NAT transversal, los mensajes de la fase 1 de negociación IKEv1 (1) y (2) se marcarán con la carga útil de Id del proveedor del NAT Transversal (NAT-T) para verificar si ambos extremos de la comunicación admiten NAT-T o no.


110117p5p5np5j71zmd9tf.png


Cuando los mensajes de ambos extremos incluyen esta carga útil, solo entonces comenzará la negociación NAT-T relevante.

3. Los mensajes de modo principal (3) y (4) se enviarán con la carga útil NAT-D (Descubrimiento de NAT). La carga útil NAT-D se utiliza para detectar si los dos FW que desean establecer el túnel IPSec tienen o no puertas de enlace NAT y configuraciones de puerta de enlace NAT.



110124le2rum33rpn2pb50.png


Si ambos extremos de la negociación envían direcciones IP de origen y destino y valores HASH de puerto a peers a través del NAT-D, se pueden detectar cambios en la dirección y en el proceso de transferencia de puerto. Si el valor HASH de la computadora del paquete recibido por el destinatario es el mismo que el valor HASH enviado por el interlocutor, la tabla mostrará que no hay ningún dispositivo NAT; de lo contrario, indicará que un dispositivo NAT transformó la dirección IP y el puerto del paquete durante el proceso de transferencia.

La primera carga útil de NAT-D es la IP de igual y el valor HASH del puerto; La segunda carga útil de NAT-D es la IP local y el valor HASH del puerto.

4. Una vez que se descubre la puerta de enlace NAT, el número de puerto de los mensajes ISAKMP subsiguientes (modo principal del mensaje (5)) se transformará a 4500. El ID del paquete ISAKMP es " Non-ESP Marker ".


110137j4tje4uttta5b4c1.png


5. Cuando la segunda fase IKEv1 negocie si se utiliza o no la transformación y el cruce de NAT, el paquete IPSec se encapsulará: como un paquete de túnel de encapsulación UDP (Túnel encapsulado UDP) y un paquete de transferencia de encapsulación UDP (Transporte encapsulado UDP) ).


Para encapsular el encabezado UDP para el paquete ESP, el número de puerto del paquete UDP es 4500. Cuando el paquete encapsulado atraviesa el dispositivo NAT, el dispositivo NAT transformará la dirección y el número de puerto del encabezado IP externo del paquete y el encabezado UDP agregado.


110315vomi7iiyofjsz7l6.png


3 IKEv2 NAT Transversal Negotiation

El proceso de interacción del paquete de negociación transversal de NAT IKEv2 es el siguiente:

6. Una vez que comience el recorrido NAT, el iniciador y respondedor IKE establecerán la carga útil de notificación en el mensaje IKE_SA_INIT en NAT_DETECTION_SOURCE_IP y NAT_DETECTION_DESTINATION_IP. Estas dos cargas útiles de notificación se utilizan para detectar si existe o no un NAT entre los dos firewalls que desean establecer un túnel IPSec y qué firewall es post-NAT. Si la carga útil de notificación NAT_DETECTION_SOURCE recibida no coincide con el IP de origen y el valor HASH del puerto del encabezado IP del paquete, esto indica que el par está detrás de una puerta de enlace NAT. Si la carga útil de notificación recibida NAT_DETECTION_DESTINATION_IP no coincide con el IP de destino y el valor HASH del puerto del encabezado IP del paquete, esto significa que el par local está detrás de la puerta de enlace NAT.


110326hie1isrm55rebbbi.png


7. Una vez que se detecte la puerta de enlace NAT, a partir del mensaje IKE_AUTH, el número de puerto del paquete ISAKMP cambiará a 4500. El ID del paquete es " Non-ESP Marker ".


110341hy7qpy9t4qc3kwzi.png


IKEv2 también usa UDP para encapsular el paquete ESP; el número de puerto del paquete UDP es 4500. Cuando el paquete encapsulado pasa por el dispositivo NAT, el dispositivo NAT llevará a cabo una transformación del número de puerto y dirección para el encabezado IP externo del paquete y el encabezado UDP agregado.


110351bld0m0n1l6hd606l.png


En el segundo escenario, la PC_A configurada puede hacer ping a PC_B. Verifique las SA de IKE e IPSec en el host FW_A:


<FW_A> display ike sa

current ike sa number: 2

---------------------------------------------------------------------------

conn-id peer flag phase vpn

---------------------------------------------------------------------------

40014 2.2.2.10: 264 RD v1: 2 public

40011 2.2.2.10: 264 RD v1: 1 public

Check host FW_A session:

<FW_A> display firewall session table

Current Total Sessions: 2

 udp VPN: public --> public 2.2.2.10: 2050-->1.1.1.1: 4500

 udp VPN: public --> public 2.2.2.10: 2054-->1.1.1.1: 500

Check sub-host FW_B session:

<FW_B> display firewall session table

Current Total Sessions: 2

 udp VPN: public --> public 172.16.0.1: 4500-->1.1.1.1: 4500

 udp VPN: public --> public 172.16.0.1: 500-->1.1.1.1: 500 //at the start of the negotiation, the port number is still 500

 

Debido a que la transformación NAT de origen está configurada en el dispositivo NAT, solo puede haber sub-host a las sesiones de host en el sub-host FW_B y no hay sesiones de host a sub-host.

4 IPSec y NAT para un único Firewall

Hablamos sobre el IPSec NAT transversal, pero ¿qué sucede cuando IPSec y NAT están configurados en el mismo firewall?

Como se muestra en la Figura 1-5, cuando IPSec y NAPT se configuran en el sub-host FW_B al mismo tiempo, el IPSec se usa para proteger el tráfico del sub-host al host comunicaciones cuando NAPT trata con el tráfico del sub-host -Acceso de acceso a internet. Cuando IPSec y el Servidor NAT están configurados en el host FW_A, el IPSec se utiliza para proteger el tráfico de host a sub-host cuando el Servidor NAT trata con el tráfico del acceso del usuario de Internet al servidor host.

Figura 1-5 IPSec y NAT para una única puerta de enlace.



110406nepd8hpxzd86hr2e.png


Podría decirse que el tráfico IPSec y NAT en los dos firewalls debera ser completamente diferente y no relacionado; sin embargo, en este caso, el tráfico IPSec y NAT se superponen, y en el proceso de reenvío del firewall, el NAT está en sentido ascendente y el IPSec está en sentido descendente; como tal, el tráfico de IPSec no será interrumpido por el proceso de NAT. En otras palabras, el tráfico que debía enviarse a través del túnel IPSec será transformado por el NAT tan pronto como la política de NAT esté en su lugar; el tráfico transformado ya no coincidirá con el de la ACL de IPSec y no se puede utilizar en IPSec. Como tal, si la relación IPSec y NAT no se resuelve en este punto, surgirán todo tipo de problemas desconcertantes.

·         Para el sub-host, el acceso del usuario del sub-host al usuario del host no tendrá éxito. Tras la investigación, se mostrará que el tráfico de acceso del usuario del host secundario al usuario del host no entró en el túnel IPSec, coincidiendo con la política de NAT.

·         Para el host, el acceso del servidor host al usuario sub-host no tendrá éxito, ya que el tráfico de acceso coincide con la tabla de asignación de servidor inversa del servidor NAT, por lo que no puede ingresar al túnel IPSec.

El método para resolver estos dos problemas es simple, como sigue:

·         Cuando un IPSec y una NAPT están en un solo firewall, los requisitos son los siguientes:

Al configurar nuestra política de NAT, debemos establecer una política específica para no transformar las direcciones de tráfico IPSec; La prioridad de esta política debe ser mayor que la de otras políticas, y el rango de tráfico definido en esta política debe ser un subconjunto de otras políticas. De esta manera, el tráfico IPSec se excluirá primero de la política de transformación de NAT, de modo que las direcciones no se transformarán ni la transformación tendrá un impacto en la futura solución de problemas de IPSec; el tráfico que debe pasar por la resolución de problemas de NAT se transformará como de costumbre de acuerdo con otras políticas.

A continuación, veremos una secuencia de comandos de configuración de políticas de NAT; hemos configurado dos políticas de NAT: la política 1 y la política 2 en las zonas de seguridad Trust -> Untrust:

nat-policy interzone trust untrust outbound

policy 1 // IPSec protected traffic must not be transformed by NAT

 action no-nat

 policy source 172.16.1.0 mask 24

 policy destination 192.168.0.0 mask 24

policy 2 // Internet access traffic transformed by NAT

action source-nat

policy source 172.16.1.0 mask 24

address-group 1

Cuando un servidor IPSec y NAT se encuentran en un único servidor de seguridad, los requisitos son los siguientes:

Al configurar el Servidor NAT, designe parámetros sin retroceso y no genere una tabla de mapa de Servidor inversa.

[FW_A] nat server protocol tcp global 1.1.1.1 9980 inside 192.168.0.1 80 no-reverse

La clave para comprender los problemas anteriores es comprender el proceso de reenvío del firewall. El proceso de reenvío del FW es increíblemente complicado, y aquí, solo romperemos la punta del iceberg.


  • x
  • convención:

Responder

Responder
Debe iniciar sesión para responder la publicación Inicio de sesi | Registrarse

Aviso: Para garantizar sus legítimos derechos e intereses, la comunidad y los terceros no publicarán contenido que pueda generar riesgos legales a las partes, por ejemplo, pornografía, contenido político, contenido sobre juego, consumo y tráfico de drogas, así como contenido que viole los derechos de propiedad intelectual de terceros, por ejemplo, secretos comerciales, marcas, derechos de autor, patentes y privacidad personal. No comparta su cuenta ni su contraseña con terceros. Todas las operaciones realizadas usando su cuenta se considerarán como sus acciones y todas las consecuencias que estas acciones generen serán responsabilidad suya. Para obtener información detallada, consulte la “ Política de privacidad.”
Si el botón para adjuntar no está disponible, actualice Adobe Flash Player con la versión más reciente

¡Ingresa y disfruta de todos los beneficios para los miembros!

Aterrizaje
Respuesta rápida Desplácese hasta arriba