ESP transporta o tráfico nunha VPN IPsec, e o seu runbook comeza cunha regra: lea a asociación de seguridade antes de cambiar unha política. A maior parte do comportamento inexplicado de ESP remóntase a un selector que non coincidía, un modo que se supuxo en lugar de lerse, ou un contador que ninguén comprobou mentres se enviaba un único fluxo. Os tres pasos seguintes establecen que transporta que, demostran que un fluxo o usa e deixan unha reversión que non depende da memoria. Cada paso produce unha observación que paga a pena anotar.

Coñeza os campos antes de lelos

ESP coloca unha cabeceira diante dos datos protexidos e un tráiler detrás. A cabeceira leva un índice de parámetros de seguridade que identifica que asociación debe usar o receptor, un número de secuencia para detectar repeticións e un recheo no tráiler que mantén a carga útil aliñada para o cifrado. O campo de cabeceira seguinte do tráiler di cal é o contido protexido, e así é como o receptor sabe que desencapsulou.

O modo cambia que hai dentro desa protección. En modo túnel o material protexido é un paquete IP interno completo, e unha cabeceira externa nova transpórtao entre os extremos. En modo transporte a protección envolve a carga útil da capa superior dun paquete existente, así que non hai unha segunda cabeceira IP que abrir. Que modo se usa é un feito de configuración, non unha cuestión de interpretación. Léao na entrada de estado en lugar de inferilo dun diagrama.

Ningún dos dous modos oculta o direccionamento externo que debe entregar o paquete. Iso é unha propiedade do deseño e non unha carencia, e por iso un observador intermedio aínda pode ver que dúas direccións falan mesmo cando a carga útil é opaca.

Paso un: lea o estado e despois a política

As entradas de estado gardan as claves e os contadores; as entradas de política gardan os selectores que deciden que pode usalas. En Linux ambas son visibles sen capturar paquetes, e lelas nesa orde mantén separadas as dúas preguntas.

ip xfrm state
ip xfrm policy

Na saída de estado, comprobe a orixe e o destino da asociación, o modo e se a encapsulación mostra portos UDP. Eses portos significan que se usa a travesía de NAT, o que cambia que debe permitir un cortalumes intermedio, pero non que selectores ou claves se aplican nos extremos.

Despois lea os selectores da política. Un selector que nomea un prefixo máis estreito que o tráfico que proba é o motivo máis habitual de que un túnel que funciona pareza ignorar un fluxo, e un selector para o protocolo equivocado produce o mesmo silencio.

FieldWhere it appearsWhat it decides
Security parameter indexESP header, and the receiving state entryWhich association and keys the receiver applies
Sequence numberESP headerReplay detection for that association
Next headerESP trailerWhat the decapsulated payload contains
Inner IP headerInside tunnel-mode payload onlyThe original source and destination the endpoints act on
Traffic selectorsPolicy, not the packetWhich local traffic is allowed to use the association

As ferramentas dos fabricantes mostran a mesma información nunha forma máis cómoda. ipsec statusall en strongSwan lista as asociacións fillas, os seus selectores e os seus contadores de bytes, o que a miúdo é máis rápido que ler a saída xfrm en bruto cando xa sabe que filla mirar.

Paso dous: demostre que un fluxo move os contadores

Os contadores só teñen sentido se sabe que debería movelos, así que escolla unha orixe e un destino que o selector cubra con seguridade e envíe unha petición inofensiva. Despois volva ler a mesma entrada e compare.

ip -s xfrm state
tcpdump -ni any esp

Dúas lecturas contan historias distintas. Os paquetes que aumentan no lado de saída pero nunca no de entrada apuntan a un problema de reenvío ou de camiño de volta, non a un problema de clave, porque o paquete encapsulouse e marchou. Que non se mova ningún contador significa que o tráfico nunca coincidiu coa política, e o selector é onde hai que mirar.

A captura do mesmo paso confirma a encapsulación no cable, incluído se os paquetes externos son ESP ou ESP encapsulado en UDP. Tamén lle mostra as direccións que realmente transportaron o fluxo, que ás veces difiren das da configuración que estaba lendo.

Paso tres: cambie unha cousa e conserve unha reversión

Anote a orixe, o destino, o modo, os selectores e os contadores da asociación antes de editar nada. Se un cambio empeora as cousas, ese rexistro é o que lle permite restaurar o estado anterior en lugar de reconstruír unha configuración que funciona a partir dunha conxectura. Ese rexistro custa un minuto de escribir e aforra unha hora máis tarde. Tamén é o único artefacto que sobrevive á persoa que fixo o cambio.

Cambie un selector ou un parámetro, volva cargalo e repita o paso dous sobre o mesmo fluxo. Borrar unha asociación derruba todos os fluxos que a usan, así que unha edición dirixida e unha recarga da filla case sempre son mellores que baleirar o estado para ver que pasa.

A reversión dunha edición de selector é restaurar a política anterior e volver cargala, coa advertencia de que o par pode necesitar un cambio correspondente se o selector se negocia en lugar de ser local. Anote esa dependencia mentres está fresca, porque un par medio restaurado é máis difícil de razoar que calquera dos dous estados finais.

Por último, manteña o alcance honesto. Unha asociación ESP que flúe demostra que as dúas pasarelas protexen e entregan o segmento, e non di nada sobre se a aplicación de arriba autentica os seus usuarios ou cifra o que almacena. Son controis separados con probas separadas, e o runbook só remata cando a seguinte persoa pode repetilo a partir das notas.

Artigos relacionados