ESP prenáša prevádzku v IPsec VPN a jeho runbook sa začína jedným pravidlom: prečítajte si bezpečnostnú asociáciu skôr, než zmeníte politiku. Väčšina nevysvetleného správania ESP sa vracia k selektoru, ktorý nesedel, k režimu, ktorý sa predpokladal namiesto prečítania, alebo k počítadlu, ktoré nikto neskontroloval, kým sa posielal jediný tok. Tri kroky nižšie určujú, čo čo prenáša, dokazujú, že jeden tok to používa, a zanechávajú návrat, ktorý nezávisí od pamäti. Každý krok dáva jedno pozorovanie, ktoré stojí za zapísanie.

Poznajte polia skôr, než ich prečítate

ESP stavia hlavičku pred chránené dáta a trailer za ne. Hlavička nesie index bezpečnostných parametrov, ktorý určuje, ktorú asociáciu má príjemca použiť, poradové číslo na detekciu opakovania a v traileri výplň, ktorá drží užitočné zaťaženie zarovnané pre šifru. Pole ďalšej hlavičky v traileri hovorí, čo je chránený obsah, a tak príjemca vie, čo dekapsuloval.

Režim mení, čo je vnútri tejto ochrany. V tunelovom režime je chráneným materiálom úplný vnútorný IP paket a nová vonkajšia hlavička ho prenáša medzi koncovými bodmi. V transportnom režime ochrana obaľuje užitočné zaťaženie vyššej vrstvy existujúceho paketu, takže niet druhej IP hlavičky na otvorenie. Ktorý režim sa používa, je fakt konfigurácie, nie vec výkladu. Prečítajte ho zo záznamu stavu, namiesto aby ste ho odvodzovali z diagramu.

Ani jeden režim neskrýva vonkajšie adresovanie, ktoré musí paket doručiť. Je to vlastnosť návrhu, nie nedostatok, a preto medziľahlý pozorovateľ stále vidí, ktoré dve adresy spolu hovoria, aj keď je užitočné zaťaženie nepriehľadné.

Krok prvý: prečítajte stav, potom politiku

Záznamy stavu držia kľúče a počítadlá; záznamy politiky držia selektory, ktoré rozhodujú, čo ich smie používať. Na Linuxe sú obidva viditeľné bez zachytávania paketov a čítanie v tomto poradí drží obe otázky oddelené.

ip xfrm state
ip xfrm policy

Vo výstupe stavu skontrolujte zdroj a cieľ asociácie, režim a či enkapsulácia ukazuje porty UDP. Tieto porty znamenajú, že sa používa prechod cez NAT, čo mení, čo musí medziľahlý firewall povoliť, ale nie to, ktoré selektory alebo kľúče platia na koncových bodoch.

Potom prečítajte selektory v politike. Selektor, ktorý uvádza užší prefix než testovaná prevádzka, je najčastejším dôvodom, prečo funkčný tunel vyzerá, že ignoruje tok, a selektor pre nesprávny protokol dáva rovnaké ticho.

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

Nástroje výrobcov vypisujú rovnaké informácie v pohodlnejšej podobe. ipsec statusall na strongSwane vypisuje podriadené asociácie, ich selektory a počítadlá bajtov, čo je často rýchlejšie než čítať surový výstup xfrm, keď už viete, na ktorú podriadenú asociáciu sa pozerať.

Krok druhý: dokážte, že jeden tok hýbe počítadlami

Počítadlá majú zmysel len vtedy, keď viete, čo ich malo pohnúť, preto zvoľte zdroj a cieľ, ktoré selektor určite pokrýva, a pošlite jednu neškodnú požiadavku. Potom znova prečítajte ten istý záznam a porovnajte.

ip -s xfrm state
tcpdump -ni any esp

Dve čítania rozprávajú rôzne príbehy. Pakety, ktoré rastú na odchádzajúcej strane, ale nikdy na prichádzajúcej, ukazujú na problém s preposielaním alebo spätnou cestou, nie s kľúčom, pretože paket bol zapuzdrený a odišiel. Ak sa nehýbe žiadne počítadlo, prevádzka sa s politikou nikdy nezhodovala, a selektor je miesto, kam sa pozerať.

Zachytenie v tom istom kroku potvrdzuje zapuzdrenie na drôte, vrátane toho, či vonkajšie pakety sú ESP alebo ESP zapuzdrené v UDP. Ukáže vám aj adresy, ktoré tok skutočne preniesli, a tie sa občas líšia od tých v konfigurácii, ktorú ste čítali.

Krok tretí: zmeňte jednu vec a zachovajte návrat

Zapíšte zdroj, cieľ, režim, selektory a počítadlá asociácie, kým čokoľvek upravíte. Ak zmena veci zhorší, práve tento záznam vám umožní obnoviť predchádzajúci stav, namiesto aby ste funkčnú konfiguráciu skladali znova z odhadu. Zápis zaberie minútu a neskôr ušetrí hodinu. Je to tiež jediný artefakt, ktorý prežije človeka, ktorý zmenu vykonal.

Zmeňte jeden selektor alebo jeden parameter, znova ho načítajte a zopakujte druhý krok na tom istom toku. Zmazanie asociácie zbúra každý tok, ktorý ju používa, preto sú cielená úprava a opätovné načítanie podriadenej asociácie takmer vždy lepšie než vyprázdnenie stavu, aby ste videli, čo sa stane.

Návrat po úprave selektora znamená obnoviť predchádzajúcu politiku a znova ju načítať, s výhradou, že partner môže potrebovať zodpovedajúcu zmenu, ak sa selektor vyjednáva, a nie je lokálny. Zapíšte túto závislosť, kým je čerstvá, pretože napoly obnovená dvojica sa analyzuje ťažšie než ktorýkoľvek z oboch koncových stavov.

Nakoniec držte rozsah čestný. Pretekajúca asociácia ESP dokazuje, že dve brány chránia a doručujú segment, a nič nehovorí o tom, či aplikácia navrchu overuje svojich používateľov alebo šifruje to, čo ukladá. To sú oddelené kontroly s oddelenými dôkazmi a runbook je hotový len vtedy, keď ho ďalší človek dokáže zopakovať podľa poznámok.

Súvisiace články