Estoy usando un generador de tráfico para configurar una conexión TCP que debería pasar un firewall Cisco ASA.
Mi topología se ve así:
+------------------+
| CISCO ASA |
+------------+ | |
| Client +-------+Outside |
| 10.1.202.1| |10.1.202.254 |
| | | | +------------+
+------------+ | Inside| |Server |
| 10.1.102.254+--------+10.1.102.19 |
| | | |
+------------------+ +------------+
La conexión debe establecerse desde un host en la red externa (10.1.202.1/24) a un servidor en la red interna (10.1.102.19/24).
Veo en Wireshark que la SYN
pasa el servidor de seguridad (. 10,1 (1/2) 02,254), el SYN-ACK no pasa y se deja caer (ver capturas: en el interior de la interfaz y el exterior de la interfaz ).
Según show asp drop
me informan, los marcos se descartan debido a la siguiente razón:
TCP failed 3 way handshake (tcp-3whs-failed)
No estoy usando ARP, pero uso la dirección MAC de la interfaz del firewall, que es la puerta de enlace predeterminada.
Creo el SYN
, SYN-ACK
y me ACK
gusta lo siguiente:
SYN: (Cliente (fuera) al servidor (dentro)
**Ethernet**
Destination MAC: <Mac Address of the Firewall-Interface>
Source MAC: <Mac Address of the Sending Device-Interface>
**IP**
Source IP: 10.1.202.1
Destination IP: 10.1.102.19
Default Gateway: 10.1.202.254
**TCP**
Source Port: 9000
Destination Port: 8000
Sequence number: 0
Acknowledgement number: 0
Synchronize: 1
Acknowledgement: 0
SYN-ACK: (Servidor (dentro) al cliente (fuera)) (esto no pasa el firewall)
**Ethernet**
Destination MAC: <Mac Address of the Firewall-Interface>
Source MAC: <Mac Address of the Sending Device-Interface>
**IP**
Source IP: 10.1.102.19
Destination IP: 10.1.202.1
Default Gateway: 10.1.102.254
**TCP**
Source Port: 8000
Destination Port: 9000
Sequence number: 0
Acknowledgement number: 1
Synchronize: 1
Acknowledgement: 1
ACK: (Cliente (externo) al servidor (interno))
**Ethernet**
Destination MAC: <Mac Address of the Firewall-Interface>
Source MAC: <Mac Address of the Sending Device-Interface>
**IP**
Source IP: 10.1.202.1
Destination IP: 10.1.102.19
Default Gateway: 10.1.202.254
**TCP**
Source Port: 9000
Destination Port: 8000
Sequence number: 1
Acknowledgement number: 1
Synchronize: 0
Acknowledgement: 1
Además, mi topología es la siguiente:
El cliente generador de tráfico (fuera de la red) está conectado a un conmutador en el que se agrega una VLAN. El conmutador está conectado a la interfaz de firewall externa. En la red interna, el generador de tráfico está conectado al conmutador donde se agregan etiquetas VLAN y el conmutador está conectado a la interfaz interna del firewall.
¿Alguien puede decirme por qué el ASA deja caer el SYN-ACK
?
¡Gracias por adelantado!
EDITAR:
Como sugirió Ron Trunk, deshabilité la aleatorización de los números de secuencia usando:
número de secuencia aleatoria deshabilitado
Añadido captura del interior de la interfaz y el exterior de la interfaz .
Actualizado los archivos de captura
Respuestas:
Por defecto, el ASA aleatoriza los números de secuencia en el protocolo de enlace (para evitar secuestros de sesión). Entonces sus números de secuencia no coinciden. Puedes desactivar esa función.
fuente
service-policy <name> interface <interface>
). Gracias por tu pista.En su captura interna , hay dos paquetes que van del Servidor (10.1.102.19) al Cliente (10.1.202.1), pero provienen de diferentes direcciones MAC.
Eso parece extraño, pero probablemente no sea tu problema. Hasta donde puedo interpretarlo, su problema es el siguiente:
Parece que el servidor en sí responde naturalmente a su paquete SYN diseñado con el RST-ACK en el paquete # 23 (de la tapa interna, ver arriba), probablemente porque el puerto 8000 está cerrado. Esto hará que el cortafuegos reenvíe el RST al exterior (paquete n. ° 23 en la tapa exterior) y purgue esta conexión de su tabla de estado.
Pero su paquete SYN-ACK diseñado se dispara en el n. ° 25 (de la tapa interior), lo que provoca un RST del cortafuegos (n. ° 26) porque no hay una entrada en la tabla de conexión relacionada con este flujo.
fuente
SYN-ACK
no pasa el firewall. He actualizado los archivos de captura de las interfaces internas / externas al estado actual.¿Puede ejecutar lo siguiente en su ASA?
// Habilita todas las capturas para todas las gotas de asp
// Muestra el búfer de captura que debe identificar por qué falla el apretón de manos
Debería mostrar algo similar a lo siguiente pero para su tipo específico de caída:
Tenga en cuenta que una regla básica para el ASA es que para iniciar el tráfico desde una interfaz de menor seguridad (Exterior) a una interfaz de mayor seguridad (Interior) debe haber una entrada de ACL explícita para permitir el paso de este tráfico. Sin ver su configuración ASA, es difícil saber qué podría estar causando los problemas.
fuente
Está describiendo el funcionamiento normal / predeterminado del ASA. Solo se permiten conexiones TCP establecidas de EXTERIOR a INTERIOR. Puede deshabilitar esto configurando TCP State Bypass .
fuente