Ajuste de MSS TCP para el tráfico IPSec
Resolution
Para el tráfico IPSec, el cortafuegos de Palo Alto Networks ajustará automáticamente los MSS TCP en el protocolo de enlace de tres vías. Esto ocurrirá independientemente de la opción ADJUST TCP MSS activada en la interfaz externa VPN.
El MSS calculado es el menor de los dos valores como bajo:
- Interfaz de túnel MTU-40 bytes
- MSS calculado basado en interfaz MTU, encriptación, algoritmos de autenticación
Relación entre el tamaño del paquete original, algoritmo de encriptación, algoritmo de autenticación y MTU de interfaz
Pensemos en la siguiente situación:
Cliente ——— palto alto ——— Internet ——— Firewall remoto ——— servidor
\ ____________ (IPSec) ____________/
Cliente MTU: 1500
MTU del servidor: 1500
MTU en VPN que termina el interfaz: 1500
Interfaz de túnel MTU: 1500
Encriptación algo: AES-256-CBC
Algoritmo de autenticación: SHA1
Sobrecarga ESP: (todos los tamaños en bytes)
Encabezado IP externo | 20 |
Número de secuencia | 4 |
SPI | 4 |
Vector de inicialización | 16 |
Acolchado ESP | [0-15] |
Longitud del acolchado | 1 |
Encabezado siguiente | 1 |
Datos de autenticación | 12 |
Total | [58-73] |
Así que AES-256 con SHA1 produce una sobrecarga máxima de 73 bytes.
Tamaño de paquete original + sobrecarga máxima<= 1500></= 1500>
Segmento TCP + encabezado TCP + encabezado IP + sobrecarga máxima<= 1500></= 1500>
Segmento del TCP + 20 octetos + 20 octetos + 73 octetos<= 1500></= 1500>
Segmento TCP<= 1387 bytes 1387=""></= 1387 bytes>
Si se toma MSS como 1388, entonces el encabezado ESP resultante en este caso sólo será 1496 bytes. (El relleno sólo será de 10 bytes)
Desde arriba,
- MSS basado en interfaz de túnel MTU = 1500-20 bytes (encabezado IP)-20 bytes (encabezado TCP) = 1460 bytes
- MSS calculado basado en interfaz MTU, encriptación, algoritmos de autenticación = 1388 bytes
MSS final calculado: min (1460, 1388) = 1388.
El mismo cálculo puede ser utilizado para varias combinaciones de algoritmos de encriptación/autenticación. Algunos de los valores conocidos son:
Tamaño del vector de inicialización para
- AES: 16 bytes
- DES: 8 bytes
Tamaño de los datos de autenticación para
- MD5/SHA-1:12 bytes
- SHA-256:16 bytes
- Sha-384:24 bytes
- Sha-512:32 bytes
Tamaño máximo del acolchado para
- AES: 15 bytes
- DES: 7 bytes
Nota:
- El comportamiento anterior ha sido probado en PAN-OS 6,0 y posteriores.
- En el mismo caso arriba, si establece el MTU de interfaz de túnel como 1400, entonces el MSS resultante será 1360 y no 1388.
El cálculo anterior también se puede utilizar para calcular el valor óptimo de MSS para un túnel IPSec. Si el cortafuegos no está ajustando automáticamente el MSS teniendo en cuenta la sobrecarga ESP, el valor adecuado de MTU se puede establecer en el túnel. Interfaz X para el ajuste del TCP.
Por ejemplo, si, en el caso anterior, el Firewall no estaba ajustando MSS según sobrecarga ESP, puede establecer la interfaz de túnel MTU a 1387 + 40 = 1427 bytes. Esto dará como resultado que el valor de MSS se ajuste a los mismos 1387 bytes.
Esto ayuda a mejorar el rendimiento de las aplicaciones TCP sobre los túneles IPSec.