ESP portas la trafikon en IPsec VPN, kaj ĝia runbook komenciĝas per unu regulo: legu la sekurecan asociiĝon antaŭ ol ŝanĝi politikon. Plej multaj neklarigitaj kondutoj de ESP devenas de selektilo, kiu ne kongruis, reĝimo, kiu estis supozita anstataŭ legita, aŭ nombrilo, kiun neniu kontrolis dum unu sola fluo estis sendata. La tri paŝoj sube fiksas kio portas kion, pruvas ke unu fluo uzas ĝin, kaj lasas reruligon, kiu ne dependas de memoro. Ĉiu paŝo donas unu observon indan je notado.

Konu la kampojn antaŭ ol legi ilin

ESP metas kaplinion antaŭ la protektitaj datumoj kaj postĉenaĵon malantaŭ ili. La kaplinio portas sekurecan parametran indekson, kiu identigas kiun asociiĝon la ricevanto uzu, sinsekvan numeron por rekono de ripetoj, kaj en la postĉenaĵo plenigon, kiu tenas la utilan ŝarĝon ĝisrandigita por la ĉifro. La kampo de sekva kaplinio en la postĉenaĵo diras, kio estas la protektita enhavo, kaj tiel la ricevanto scias, kion ĝi malenkapsuligis.

La reĝimo ŝanĝas, kio estas ene de tiu protekto. En tunela reĝimo la protektita materialo estas kompleta interna IP-pakaĵo, kaj nova ekstera kaplinio portas ĝin inter la finpunktoj. En transporta reĝimo la protekto envolvas la utilan ŝarĝon de la supra tavolo de ekzistanta pakaĵo, do ne ekzistas dua IP-kaplinio por malfermi. Kiu reĝimo estas uzata estas fakto de agordo, ne afero de interpreto. Legu ĝin el la stata rikordo anstataŭ dedukti el diagramo.

Neniu el la du reĝimoj kaŝas la eksteran adresadon, kiu devas liveri la pakaĵon. Tio estas eco de la dezajno, ne manko, kaj tial meza observanto ankoraŭ povas vidi, kiuj du adresoj parolas, eĉ kiam la utila ŝarĝo estas netravidebla.

Paŝo unu: legu la staton, poste la politikon

La statrikordoj tenas la ŝlosilojn kaj nombrilojn; la politikrikordoj tenas la selektilojn, kiuj decidas, kio rajtas uzi ilin. En Linux ambaŭ videblas sen paketa kaptado, kaj legi ilin en tiu ordo tenas la du demandojn apartaj.

ip xfrm state
ip xfrm policy

En la stata eligo kontrolu la fonton kaj celon de la asociiĝo, la reĝimon, kaj ĉu la enkapsuligo montras UDP-pordojn. Tiuj pordoj signifas, ke NAT-trapaso estas uzata, kio ŝanĝas, kion meza fajromuro devas permesi, sed ne kiuj selektiloj aŭ ŝlosiloj validas ĉe la finpunktoj.

Poste legu la selektilojn en la politiko. Selektilo, kiu nomas pli mallarĝan prefikson ol la trafiko, kiun vi testas, estas la plej ofta kialo, kial funkcianta tunelo ŝajnas ignori fluon, kaj selektilo por malĝusta protokolo produktas la saman silenton.

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

Vendistaj iloj presas la saman informon en pli komforta formo. ipsec statusall en strongSwan listigas la idajn asociiĝojn, iliajn selektilojn kaj iliajn bajtajn nombrilojn, kio ofte estas pli rapida ol legi krudan xfrm-eligaĵon, kiam vi jam scias, kiun idon rigardi.

Paŝo du: pruvu, ke unu fluo movas la nombrilojn

Nombriloj havas sencon nur se vi scias, kio devintus movi ilin, do elektu fonton kaj celon, kiujn la selektilo certe kovras, kaj sendu unu sendanĝeran peton. Poste relegu la saman rikordon kaj komparu.

ip -s xfrm state
tcpdump -ni any esp

Du legadoj rakontas malsamajn historiojn. Pakaĵoj, kiuj kreskas ĉe la elira flanko sed neniam ĉe la enira, indikas problemon pri plusendado aŭ revena vojo, ne pri ŝlosilo, ĉar la pakaĵo estis enkapsuligita kaj foriris. Se neniu nombrilo moviĝas, la trafiko tute ne kongruis kun la politiko, kaj la selektilo estas la loko, kie rigardi.

La kaptado en la sama paŝo konfirmas la enkapsuligon sur la drato, inkluzive ĉu la eksteraj pakaĵoj estas ESP aŭ UDP-enkapsuligita ESP. Ĝi ankaŭ montras al vi la adresojn, kiuj efektive portis la fluon, kaj tiuj foje diferencas de tiuj en la agordo, kiun vi legis.

Paŝo tri: ŝanĝu unu aferon kaj konservu reruligon

Notu la fonton, celon, reĝimon, selektilojn kaj nombrilojn de la asociiĝo antaŭ ol redakti ion ajn. Se ŝanĝo plimalbonigas aferojn, ĝuste tiu rikordo ebligas al vi restarigi la antaŭan staton anstataŭ rekonstrui funkciantan agordon el konjekto. La rikordo postulas minuton por skribi kaj ŝparas horon poste. Ĝi ankaŭ estas la sola artefakto, kiu postvivas la personon, kiu faris la ŝanĝon.

Ŝanĝu unu selektilon aŭ unu parametron, reŝargu ĝin, kaj ripetu la duan paŝon kontraŭ la sama fluo. Forigi asociiĝon disŝiras ĉiun fluon uzantan ĝin, do celita redakto kaj reŝargo de la ido preskaŭ ĉiam pli bonas ol malplenigi la staton por vidi, kio okazos.

Reruligo por redakto de selektilo estas restarigi la antaŭan politikon kaj reŝargi ĝin, kun la atentigo, ke la samtavolano eble bezonas kongruan ŝanĝon, se la selektilo estas intertraktata kaj ne loka. Notu tiun dependon dum ĝi estas freŝa, ĉar duone restarigita paro estas pli malfacile pripensebla ol ajna el la du finaj statoj.

Finfine, tenu la amplekson honesta. Fluanta ESP-asociiĝo pruvas, ke la du enirejoj protektas kaj liveras la segmenton, kaj ĝi diras nenion pri tio, ĉu la aplikaĵo supre aŭtentikigas siajn uzantojn aŭ ĉifras tion, kion ĝi konservas. Tiuj estas apartaj kontroloj kun apartaj pruvoj, kaj la runbook finiĝas nur kiam la sekva persono povas ripeti ĝin el la notoj.

Rilataj artikoloj