Motivo de finalización de la sesión TCP obsoleto en los firewalls de la serie VM detrás de AWS Gateway Load Balancer
16101
Created On 11/25/22 16:07 PM - Last Modified 02/02/24 06:02 AM
Symptom
- Las sesiones TCP que pasan a través de uno de los múltiples firewalls de la serie VM detrás de un equilibrador de carga de puerta de enlace (GWLB) muestran el "Motivo de finalización de la sesión" como "caducado" en Supervisar registros > tráfico >
- La captura de paquetes en la etapa de recepción en el firewall de la serie VM que recibe el tráfico del GWLB de AWS y crea la sesión original (PA-VM-1) muestra el establecimiento correcto de (i) el túnel GENEVE subyacente entre el GWLB (172.21.200.78) y la interfaz de no confianza del firewall (172.21.200.84), (ii) el protocolo de enlace TCP de 3 vías y (iii) el intercambio TLS, así como el envío y recepción de parte del tráfico de datos de la aplicación y confirmaciones TCP (ACK) entre el cliente (172.21.43.170) y el servidor (XXX.18.226.52) fuera del entorno de AWS y de cara a la Internet pública, como parte de la sesión TCP superpuesta.
- En algún momento, el flujo de paquetes se detiene (por ejemplo, porque el cliente está inactivo). Si el cliente o el servidor alcanzan el límite de tiempo de espera de la sesión TCP (por ejemplo, 400 segundos para el servidor siguiente), enviarán un mensaje TCP FIN-ACK para finalizar correctamente la sesión TCP.
- Sin embargo, el tiempo de espera de la sesión TCP del GWLB de AWS es de 350 segundos, por lo que el túnel GENEVE subyacente con PA-VM-1 para esa sesión TCP ya se habrá desactivado. Por lo tanto, el TCP FIN-ACK original del servidor y las retransmisiones posteriores (ya que no recibe respuesta del cliente) no se verán en la captura de paquetes de PA-VM-1 en la etapa de transmisión.
- En algún momento, el cliente enviará otra solicitud al servidor, pero el GWLB de AWS la considerará como una nueva sesión TCP. En consecuencia, el GWLB elegirá un cortafuegos en su grupo objetivo, que puede ser o no el mismo cortafuegos en el que se creó originalmente la sesión TCP, y creará un nuevo túnel GENEVE subyacente con dicho cortafuegos. Por ejemplo, en este caso, selecciona un firewall diferente, PA-VM-2. Como PA-VM-2 nunca vio el protocolo de enlace TCP de 3 vías inicial, descartará los paquetes enviados por el cliente al servidor. Esto se puede ver en la captura simultánea de paquetes de PA-VM-2 con la de PA-VM-1 tanto en la etapa de recepción como en la de descarte.
- Mientras tanto, la sesión TCP original en PA-VM-1 finalmente agotará el tiempo de espera y aparecerá como "Motivo de finalización de sesión" "caducado" en Supervisar > registros de > de tráfico. No se mostrará ninguna sesión en los registros de tráfico de PA-VM-2, dado que no se capturó el protocolo de enlace TCP de 3 vías original y, por lo tanto, no se habrá creado una sesión.
Environment
- Amazon Web Services (AWS)
- VPC de consumidor conectadas a través de Transit Gateway a una VPC de seguridad
- La VPC de seguridad contiene varios firewalls de la serie de máquinas virtuales en diferentes zonas de disponibilidad (AZ) detrás de un balanceador de carga de puerta de enlace (GWLB)
- Cada zona de disponibilidad de la VPC de seguridad contiene un punto de enlace de Gateway Load Balancer (GWLBE)
- Firewall de la serie VM (PAN-OS 10.2.2-h2)
Cause
El tiempo de espera de la sesión TCP de AWS GWLB es de 350 segundos, mientras que el del cliente y el servidor es mayor.
Resolution
- Reducir el tiempo de espera de la sesión TCP del cliente o del servidor a un valor menor que el del GWLB de AWS (por ejemplo, 325 segundos); o
- Habilite los mensajes TCP Keep-alive en el cliente, establecidos en un valor menor que el de AWS GWLB (por ejemplo, 325 segundos).
NOTA: Reducir el tiempo de espera TCP de los firewalls de la serie VM de su valor predeterminado global de 3.600 segundos o el tiempo de espera TCP predeterminado específico de la aplicación afectada en Objetos > aplicaciones (por ejemplo, 1.800 segundos para ssl) a un valor menor que el de AWS GWLB (por ejemplo, 325 segundos) no resolverá el problema porque el firewall de la serie VM también finaliza la sesión TCP de forma silenciosa (es decir, sin enviar mensajes TCP RESET tanto al cliente como al servidor), al igual que el GWLB de AWS. Por lo tanto, tanto el cliente como el servidor no sabrán que la sesión TCP ha finalizado. Este comportamiento del cortafuegos no se puede modificar.
Additional Information
DOCUMENTACIÓN DE PALO ALTO NETWORKS
¿Cuándo envía Palo Alto Networks Firewall un restablecimiento de TCP (RST) para finalizar una sesión?
DOCUMENTACIÓN DE AWS
Prácticas recomendadas para implementar Gateway Load Balancer