IPsec ESP: kaj prenaša in kako dokazati, da teče
ESP v tunelskem načinu ovije notranji IP paket in identificira svojo povezavo s pomočjo SPI. Preberite stanje in nato opazujte, kako en tok premika števce.
ESP prenaša promet v omrežju IPsec VPN, njegov runbook pa se začne z enim pravilom: preberite varnostno povezavo, preden spremenite politiko. Večina nerazloženega vedenja ESP se vrača k selektorju, ki se ni ujemal, načinu, ki je bil predpostavljen namesto prebran, ali števcu, ki ga nihče ni preveril, medtem ko je bila poslana ena sama povezava. Trije koraki spodaj ugotovijo, kaj kaj prenaša, dokažejo, da ena povezava to uporablja, in pustijo razveljavitev, ki ni odvisna od spomina. Vsak korak da eno opažanje, ki se ga splača zapisati.
Spoznajte polja, preden jih preberete
ESP postavi glavo pred zaščitene podatke in rep za njimi. Glava nosi indeks varnostnih parametrov, ki določa, katero povezavo naj uporabi prejemnik, zaporedno številko za odkrivanje ponovitev in v repu zapolnitev, ki drži koristni tovor poravnan za šifro. Polje naslednje glave v repu pove, kaj je zaščitena vsebina, in tako prejemnik ve, kaj je dekapsuliral.
Način spremeni, kaj je znotraj te zaščite. V tunelskem načinu je zaščiteni material celoten notranji IP paket, nova zunanja glava pa ga prenaša med končnima točkama. V transportnem načinu zaščita ovije koristni tovor zgornje plasti obstoječega paketa, zato ni druge IP glave za odpiranje. Kateri način je v uporabi, je dejstvo konfiguracije, ne vprašanje razlage. Preberite ga iz vnosa stanja, namesto da bi ga sklepali iz diagrama.
Noben način ne skriva zunanjega naslavljanja, ki mora dostaviti paket. To je lastnost zasnove, ne pomanjkljivost, in zato vmesni opazovalec še vedno vidi, katera dva naslova se pogovarjata, tudi ko je koristni tovor neprosojen.
Prvi korak: preberite stanje, nato politiko
Vnosi stanja hranijo ključe in števce; vnosi politike hranijo selektorje, ki odločajo, kaj jih sme uporabljati. V Linuxu sta oba vidna brez zajemanja paketov in branje v tem vrstnem redu drži vprašanji ločeni.
ip xfrm state
ip xfrm policy
V izpisu stanja preverite vir in cilj povezave, način in ali enkapsulacija kaže vrata UDP. Ta vrata pomenijo, da se uporablja prehod skozi NAT, kar spremeni, kaj mora vmesni požarni zid dovoliti, ne pa tega, kateri selektorji ali ključi veljajo na končnih točkah.
Nato preberite selektorje v politiki. Selektor, ki navaja ožjo predpono od prometa, ki ga preizkušate, je najpogostejši razlog, da se delujoč tunel zdi, da ignorira tok, selektor za napačen protokol pa da enako tišino.
| Field | Where it appears | What it decides |
|---|---|---|
| Security parameter index | ESP header, and the receiving state entry | Which association and keys the receiver applies |
| Sequence number | ESP header | Replay detection for that association |
| Next header | ESP trailer | What the decapsulated payload contains |
| Inner IP header | Inside tunnel-mode payload only | The original source and destination the endpoints act on |
| Traffic selectors | Policy, not the packet | Which local traffic is allowed to use the association |
Orodja proizvajalcev izpisujejo iste informacije v priročnejši obliki. ipsec statusall na strongSwanu našteje podrejene povezave, njihove selektorje in njihove števce bajtov, kar je pogosto hitreje kot branje surovega izpisa xfrm, ko že veste, na katero podrejeno povezavo gledati.
Drugi korak: dokažite, da ena povezava premika števce
Števci imajo smisel le, če veste, kaj bi jih moralo premakniti, zato izberite vir in cilj, ki jih selektor zagotovo pokriva, in pošljite eno neškodljivo zahtevo. Nato znova preberite isti vnos in primerjajte.
ip -s xfrm state
tcpdump -ni any esp
Dve branji pripovedujeta različni zgodbi. Paketi, ki rastejo na odhodni strani, a nikoli na prihodni, kažejo na težavo s posredovanjem ali povratno potjo, ne s ključem, ker je bil paket zapakiran in je odšel. Če se ne premakne noben števec, se promet ni nikoli ujemal s politiko, in selektor je kraj, kam pogledati.
Zajem v istem koraku potrdi enkapsulacijo na žici, vključno s tem, ali so zunanji paketi ESP ali ESP, zapakiran v UDP. Pokaže vam tudi naslove, ki so res prenesli tok, in ti se včasih razlikujejo od tistih v konfiguraciji, ki ste jo brali.
Tretji korak: spremenite eno stvar in obdržite razveljavitev
Zapišite vir, cilj, način, selektorje in števce povezave, preden karkoli uredite. Če sprememba poslabša stanje, prav ta zapis omogoči, da obnovite prejšnje stanje, namesto da delujočo konfiguracijo znova sestavljate iz ugibanja. Zapis vzame minuto in prihrani uro pozneje. Je tudi edini artefakt, ki preživi osebo, ki je spremembo naredila.
Spremenite en selektor ali en parameter, znova ga naložite in ponovite drugi korak na istem toku. Brisanje povezave poruši vsak tok, ki jo uporablja, zato sta ciljno urejanje in ponovno nalaganje podrejene povezave skoraj vedno boljša od praznjenja stanja, da bi videli, kaj se zgodi.
Razveljavitev urejanja selektorja pomeni obnoviti prejšnjo politiko in jo znova naložiti, s pridržkom, da bo partner morda potreboval ustrezno spremembo, če se o selektorju dogovarjata in ni lokalen. Zapišite to odvisnost, dokler je sveža, ker je na pol obnovljen par težje razumeti kot katero koli od obeh končnih stanj.
Za konec, držite obseg pošten. Povezava ESP, ki teče, dokazuje, da dva prehoda ščitita in dostavljata segment, in ne pove ničesar o tem, ali aplikacija zgoraj preverja svoje uporabnike ali šifrira to, kar shranjuje. To so ločene kontrole z ločenimi dokazi in runbook je dokončan šele, ko ga naslednja oseba lahko ponovi iz zapiskov.