Windows i strongSwan: usklađivanje četiri transformacije u IKE predlogu
Zajednička šifra nije dovoljna kada se strane ne slažu oko grupe za razmenu ključeva. Uporedite sve četiri transformacije, pa primenite jednu ograničenu politiku profila.
Obe strane podržavaju AES, obe prihvataju SHA-256, a tunel se ipak ne podiže. Predlog je pao na komponenti koju niko nije uporedio, obično na grupi za razmenu ključeva. Ovaj priručnik čita stvarnu razmenu pre nego što išta promeni, primenjuje jednu ograničenu politiku i ostavlja vraćanje koje obnavlja prethodne parametre.
Pročitajte neuspeh pre nego što promenite grupu
„Greška podudaranja politike“ je sažetak, a ne dijagnoza. Znači da nije pronađen obostrano prihvatljiv predlog i ne govori ništa o tome koja je komponenta odbijena. Tretirajte je kao početak istrage, a ne kao dokaz o određenoj grupi.
Odgovor obično nosi serverska strana. strongSwan zapis na odgovarajućem nivou nabraja predlog primljen od klijenta i predlog koji je konfigurisan da prihvati, a razlika između dve liste imenuje komponentu koja je pala.
Ne pretpostavljajte da klijent nudi ono što tvrdi starija forumska objava. Aktivni profil i njegova instalirana politika određuju ponuđenu listu, a ažurirana Windows gradnja može ponuditi drugačiji skup od onog na snimku ekrana sa kojeg kopirate.
Zapišite obe liste. Četiri pozicije transformacije i jedna grupa kratka je lista, a poređenje red po red traje kraće od bilo kog eksperimenta. Četiri pozicije lako je držati na oku. Zapisni fajl nije.
Uporedite svaku transformaciju, a ne jedno poznato ime
IKE predlog je skup izbora koji se svi moraju podudarati. Šifriranje štiti pregovaranje, integritet ili PRF ga potvrđuje, a Diffie-Hellman grupa stvara svež ključni materijal. Predlog koji se podudara u prva dva i razlikuje u trećem i dalje je neprihvatljiv za obe strane.
Dva Windows polja koja se ovde mešaju pripadaju različitim fazama. DHGroup odnosi se na IKE razmenu ključeva, a PfsGroup na dete asocijaciju koja štiti saobraćaj. Promena drugog ne može popraviti neuspeh u prvom.
Nazivi grupa razlikuju se među implementacijama i to je odvojen izvor zabune. strongSwan piše modp2048 i ecp256, dok Windows koristi nazive nabrajanja kao Group14 i ECP256, pa poređenje mora prevesti pre nego što uporedi. Držite belešku u dve kolone sa oba naziva. Sledeće neslaganje tada se klasifikuje za nekoliko sekundi.
| Transform | Windows parameter | strongSwan name | Failure it causes |
|---|---|---|---|
| Encryption | CipherTransformConstants | aes, aes256gcm and similar | No common proposal at all |
| Integrity or PRF | AuthenticationTransformConstants | sha256, sha512 and similar | Proposal rejected after encryption matches |
| Key-exchange group | DHGroup | modp2048, ecp256 | Exchange fails during key establishment |
| Child SA protection | PfsGroup | esp proposal groups | Tunnel negotiates, data association does not |
Primenite jednu potpunu i ograničenu politiku
Podržani instrument za izvorni IKEv2 profil je IPsec politika po vezi, postavljena kao jedan objekat, a ne polje po polje. Prvo je pregledajte, zatim primenite i sačuvajte prethodne parametre u zapisu promene.
Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf
Prekidač -WhatIf pregleda lokalnu promenu i ništa ne primenjuje. To je korisno i ujedno česta zamka, jer pregled dokazuje samo da su parametri sintaksno prihvatljivi lokalnom cmdletu. Ne govori ništa o tome hoće li mrežni prolaz prihvatiti dobijeni predlog.
Ujedno uskladite i obim. Veza u spremištu za sve korisnike treba odgovarajući parametar za sve korisnike, a uređivanje profila po korisniku sa istim prikazanim imenom menja drugi objekat koji tunel ne koristi.
Zatim pre testiranja uskladite strongSwan stranu na isti skup. Usklađena promena na oba kraja jedina je verzija ovoga koja konvergira; promena jedne strane i ponovljeni pokušaji daju zapis pun istog odbijanja.
Proverite razmenu i obnavljanje ključeva odvojeno
Uspešna veza jedno je zapažanje, a obnavljanje ključeva drugo. Početno IKE pregovaranje koristi jedan skup parametara, a dete asocijacija koja nosi saobraćaj može se kasnije ponovo pregovarati sa svojom politikom. Postavka koja se poveže i zatim nakon nekog vremena padne obično je drugi slučaj.
ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *
Prva naredba pokazuje pogled servera na uspostavljene asocijacije, uključujući dete SA i njen preostali vek. Druga pokazuje šta klijentski profil sada drži i to je jedini način da potvrdite da je politika koju ste postavili politika na snazi.
Posmatrajte puno obnavljanje ključeva pre nego što proglasite uspeh. To znači ostaviti vezu podignutom dovoljno dugo da se dete asocijacija zameni, a zatim potvrditi da saobraćaj teče dalje. Većina neslaganja politike krije se upravo u tom koraku, jer početno pregovaranje može uspeti sa skupom koji obnavljanje ne prihvata.
Vraćanje je prethodni skup parametara, a ne permisivna rezerva. Ako je klijent ponudio samo slabu nasleđenu grupu, odgovor je poboljšati zajedničku politiku klijenta i servera, a ne dodati tu grupu na mrežni prolaz gde svaka buduća strana može pregovarati nadole do nje.
Zapišite četiri parametra, grupu, obim veze i rezultat obnavljanja ključeva. To je kratka beleška i ona je razlika između priručnika i priče o tome kako se tunel jednom podigao.