Šta ulazi u IPsec predlog? IKE i ESP polja
Predlog je jedna kompletna ponuda, a ne vreća algoritama. Pogledajte koja polja pripadaju IKE, a koja ESP, i zašto jedno nepodudaranje odbija cijeli skup.
IKE počinje, oba partnera oglašavaju AES, a tunel i dalje pada uz NO_PROPOSAL_CHOSEN. Zapis imenuje predlog, ali ne i polje koje se nije poklopilo. Predlog je jedna kompletna ponuda, a jedno nekompatibilno polje poništava cijelu kombinaciju, a ne samo taj red. Čitanje predloga kao vreće nezavisnih izbora algoritama uobičajen je razlog zašto nepodudaranje ostaje nevidljivo.
Dvije pregovore s odvojenim listama predloga
IKEv2 gradi dvije sigurnosne asocijacije. Prva je IKE SA, koja štiti samu razmjenu upravljanja, a druga je CHILD SA, koja prenosi vaš saobraćaj kroz ESP. Svaka ima vlastitu listu predloga, a partner može prihvatiti jednu i odbiti drugu.
Ta podjela objašnjava čestu zbrku: ispravna IKE SA dokazuje samo da su se algoritmi upravljačkog kanala poklopili. Ako predlog CHILD ne uspije, tunel nikada ne prenese nijedan paket, iako je prva faza završena i zapisi na vrhu izgledaju zdravo.
Redoslijed unutar svake liste također je važan. Odgovarač bira iz inicijatorovih poredanih ponuda, pa premještanje široko kompatibilnog unosa iznad uskog mijenja koji će se skup instalirati, bez promjene ijednog imena algoritma. Fiksirajte taj redoslijed u konfiguraciji umjesto da se oslanjate na zadane vrijednosti. Stabilan redoslijed čini i poređenje zapisa između lokacija smislenim.
Koja polja pripadaju kojem predlogu
Skup polja je mali, ali nije isti u oba pregovora. Čitajte tabelu red po red, jer polje u jednoj koloni može izostati u drugoj. Sintaksa se razlikuje po implementaciji; strongSwan dokumentacija o predlozima je jedan konkretan izvor.
| Field | IKE SA proposal | CHILD SA proposal |
|---|---|---|
| Encryption | Required | Required |
| Integrity | Required unless AEAD | Required unless AEAD |
| PRF | Required | Not present |
| DH group | Required | Only for PFS |
| ESN | Not present | Optional |
Polje šifriranja imenuje šifru i, u većini sintaksi, dužinu ključa. Polje integriteta imenuje hash koji se koristi za autentifikaciju šifriranog teksta, a PRF imenuje funkciju koja izvodi ključni materijal za IKE SA. DH grupa uspostavlja novi zajednički tajni materijal, zbog čega se pojavljuje na obje strane, ali u različite svrhe.
Prošireni redni brojevi pripadaju samo podatkovnoj putanji. Oni proširuju prostor rednih brojeva i pregovaraju se kao dio CHILD predloga, pa nepodudaranje tamo odbija CHILD ponudu, dok IKE SA ostaje netaknut.
Kako se bira jedna kompletna ponuda
Svaki predlog je skup, a odgovarač traži skup u kojem je svako obavezno polje prihvatljivo. Dvije liste mogu obje sadržavati AES i SHA-256 i ipak nemati kompatibilan unos, jer se dužina ključa, PRF ili DH grupa razlikuju. Poređenje se obavlja po predlogu, a ne po algoritmu.
Kada se ništa ne poklopi, odgovarač šalje NO_PROPOSAL_CHOSEN sa tipom SA koji nije uspio. Pročitajte na koju se listu predloga odnosi obavještenje prije nego što uredite konfiguraciju; mijenjanje ESP algoritama kada je IKE predlog odbijen troši ciklus otklanjanja grešaka.
Ponašanje pri odabiru vrijedi znati kada podešavate profil. Neke implementacije preferiraju inicijatorov redoslijed, druge preslažu po lokalnoj politici, pa skup koji radi između dva dobavljača može nestati kada obrnete koju stranu pokreće vezu.
AEAD uklanja polje umjesto da ga dodaje
AES-GCM i ChaCha20-Poly1305 autentifikuju i šifriraju u jednoj operaciji. Kada se bilo koji od njih odabere za ESP, algoritam integriteta se ne pregovara odvojeno, jer AEAD konstrukcija već pokriva to. Zato je predlog koji spaja AES-GCM sa SHA-256 u najboljem slučaju suvišan, a u najgorem odbijen.
PRF je i dalje odvojen na IKE strani, jer izvodi ključeve za upravljački kanal umjesto da štiti korisni teret. Zato IKE predlog može legitimno kombinovati AEAD šifru s PRF-om i DH grupom, dok odgovarajući ESP predlog navodi samo AEAD šifru i opcionu PFS grupu.
Dužina ključa dio je tokena za šifriranje, pa su AES-128-GCM i AES-256-GCM različite ponude. Profil kopiran iz vodiča koji je pretpostavljao 256-bit ključeve neće se poklopiti sa krajnjom tačkom konfigurisanom za 128-bit, iako oba reda kažu AES-GCM. Dva partnera mogu se složiti o porodici šifri i ipak odbiti jedan drugog zbog broja nakon crtice.
Čitajte instaliranu SA, a ne konfiguraciju
Konfigurisana lista predloga je ponuda; instalirana SA je rezultat. Na strongSwan i Linux kernelu oba su prikaza dostupna:
sudo swanctl --list-sas
sudo ip xfrm state
sudo ip xfrm policyswanctl --list-sas ispisuje pregovarane algoritme po SA, uključujući i to da li CHILD koristi AEAD. ip xfrm state pokazuje šta je kernel stvarno instalirao, i to je mjesto gdje potvrđujete da obnova ključa nije pala na drugačiji skup od onog koji ste dokumentovali.
Sačuvajte taj izlaz pored konfiguracije nakon popravke. Kada ažuriranje klijenta promijeni zadane vrijednosti, zabilježeni skup vam daje osnovu za poređenje, a poređenje pokazuje na polje koje se pomjerilo umjesto da istragu počinje iznova.