ESP prenosi promet u IPsec VPN-u, a njegov runbook počinje jednim pravilom: pročitajte sigurnosnu asocijaciju prije nego što promijenite politiku. Većina neobjašnjenog ponašanja ESP-a svodi se na selektor koji se nije poklopio, način rada koji je pretpostavljen umjesto pročitan, ili brojač koji nitko nije provjerio dok je slan jedan tok. Tri koraka ispod utvrđuju što što prenosi, dokazuju da jedan tok to koristi i ostavljaju vraćanje koje ne ovisi o pamćenju. Svaki korak daje jedno zapažanje koje vrijedi zapisati.

Poznajte polja prije nego što ih pročitate

ESP stavlja zaglavlje ispred zaštićenih podataka i privjesak iza njih. Zaglavlje nosi indeks sigurnosnih parametara koji identificira koju asocijaciju primatelj treba koristiti, redni broj za otkrivanje ponavljanja i dopunu u privjesku koja drži korisni teret poravnat za šifru. Polje sljedećeg zaglavlja u privjesku kaže što je zaštićeni sadržaj i tako primatelj zna što je dekapsulirao.

Način rada mijenja ono što stoji unutar te zaštite. U tunelskom načinu zaštićeni materijal je potpuni unutarnji IP paket, a novo vanjsko zaglavlje prenosi ga između krajnjih točaka. U transportnom načinu zaštita obavija korisni teret gornjeg sloja postojećeg paketa, pa nema drugog IP zaglavlja za otvaranje. Koji je način u uporabi činjenica je konfiguracije, a ne stvar tumačenja. Pročitajte je iz unosa stanja umjesto da je izvodite iz dijagrama.

Nijedan način ne skriva vanjsko adresiranje koje mora dostaviti paket. To je svojstvo dizajna, a ne nedostatak, i zato promatrač u sredini i dalje vidi koje dvije adrese razgovaraju čak i kada je korisni teret neproziran.

Prvi korak: pročitajte stanje, pa politiku

Unosi stanja drže ključeve i brojače; unosi politike drže selektore koji odlučuju što ih smije koristiti. Na Linuxu su oba vidljiva bez hvatanja paketa, a čitanje u tom redu drži dva pitanja odvojenima.

ip xfrm state
ip xfrm policy

U izlazu stanja provjerite izvor i odredište asocijacije, način rada i to pokazuje li enkapsulacija UDP portove. Ti portovi znače da se koristi NAT prolaz, što mijenja što srednji vatrozid mora dopustiti, ali ne i koji selektori ili ključevi vrijede na krajnjim točkama.

Zatim pročitajte selektore u politici. Selektor koji navodi uži prefiks od prometa koji testirate najčešći je razlog zašto se čini da radni tunel ignorira tok, a selektor za pogrešan protokol daje istu tišinu.

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

Alati proizvođača ispisuju iste informacije u preglednijem obliku. ipsec statusall na strongSwanu navodi podređene asocijacije, njihove selektore i njihove brojače bajtova, što je često brže od čitanja sirovog xfrm izlaza kada već znate koju podređenu asocijaciju gledati.

Drugi korak: dokažite da jedan tok pomiče brojače

Brojači imaju smisla samo ako znate što ih je trebalo pomaknuti, zato odaberite izvor i odredište koje selektor sigurno pokriva i pošaljite jedan bezopasan zahtjev. Zatim ponovno pročitajte isti unos i usporedite.

ip -s xfrm state
tcpdump -ni any esp

Dva čitanja pričaju različite priče. Paketi koji rastu na izlaznoj strani ali nikad na ulaznoj upućuju na problem s prosljeđivanjem ili povratnim putem, a ne s ključem, jer je paket enkapsuliran i otišao. Ako se nijedan brojač ne pomiče, promet nikad nije ni odgovarao politici, a selektor je mjesto gdje treba gledati.

Hvatanje u istom koraku potvrđuje enkapsulaciju na žici, uključujući to jesu li vanjski paketi ESP ili ESP enkapsuliran u UDP. Ono vam također pokazuje adrese koje su doista prenijele tok, a one se ponekad razlikuju od onih u konfiguraciji koju ste čitali.

Treći korak: promijenite jednu stvar i zadržite vraćanje

Zapišite izvor, odredište, način rada, selektore i brojače asocijacije prije nego što bilo što uredite. Ako promjena pogorša stvari, taj zapis vam omogućuje da vratite prethodno stanje umjesto da radnu konfiguraciju ponovno gradite iz nagađanja. Taj zapis traje minutu da se napiše i štedi sat kasnije. To je i jedini artefakt koji nadživi osobu koja je napravila promjenu.

Promijenite jedan selektor ili jedan parametar, ponovno ga učitajte i ponovite drugi korak na istom toku. Brisanje asocijacije ruši svaki tok koji je koristi, pa su ciljana izmjena i ponovno učitavanje podređene asocijacije gotovo uvijek bolji od pražnjenja stanja da vidite što će se dogoditi.

Vraćanje nakon izmjene selektora znači obnoviti prethodnu politiku i ponovno je učitati, uz napomenu da partneru može trebati odgovarajuća promjena ako se selektor pregovara, a nije lokalan. Zapišite tu ovisnost dok je svježa, jer je napola obnovljen par teže razumjeti od bilo kojeg od dvaju krajnjih stanja.

Na kraju, držite opseg iskrenim. Tok ESP-a koji protječe dokazuje da dva pristupnika štite i dostavljaju segment, i ne govori ništa o tome autentificira li aplikacija iznad svoje korisnike ili šifrira ono što pohranjuje. To su odvojene kontrole s odvojenim dokazima, a runbook je završen tek kada sljedeća osoba može to ponoviti iz bilješki.

Povezani članci