Windows i strongSwan: usklađivanje četiriju transformacija u IKE prijedlogu
Zajednička šifra nije dovoljna kada se strane ne slažu oko skupine za razmjenu ključeva. Usporedite sve četiri transformacije, pa primijenite jednu ograničenu politiku profila.
Obje strane podržavaju AES, obje prihvaćaju SHA-256, a tunel se ipak ne podiže. Prijedlog je pao na komponenti koju nitko nije usporedio, obično na skupini za razmjenu ključeva. Ovaj priručnik čita stvarnu razmjenu prije nego što išta promijeni, primjenjuje jednu ograničenu politiku i ostavlja vraćanje koje obnavlja prijašnje parametre.
Pročitajte neuspjeh prije nego promijenite skupinu
„Pogreška podudaranja politike“ sažetak je, a ne dijagnoza. Znači da nije pronađen obostrano prihvatljiv prijedlog i ne govori ništa o tome koja je komponenta odbijena. Tretirajte je kao početak istrage, a ne kao dokaz o određenoj skupini.
Odgovor obično nosi serverska strana. strongSwan zapis na odgovarajućoj razini nabraja prijedlog primljen od klijenta i prijedlog koji je konfiguriran prihvatiti, a razlika između dvaju popisa 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đeni popis, a ažurirana Windows gradnja može ponuditi drukčiji skup od onoga na snimci zaslona s koje kopirate.
Zapišite oba popisa. Četiri pozicije transformacije i jedna skupina kratak su popis, a usporedba redak po redak traje kraće od bilo kojeg pokusa. Četiri pozicije lako je držati na oku. Zapisna datoteka nije.
Usporedite svaku transformaciju, a ne jedno poznato ime
IKE prijedlog skup je izbora koji se svi moraju podudarati. Šifriranje štiti pregovaranje, cjelovitost ili PRF ga potvrđuje, a Diffie-Hellman skupina stvara svjež ključni materijal. Prijedlog koji se podudara u prva dva i razlikuje u trećem i dalje je neprihvatljiv za obje strane.
Dva Windows polja koja se ovdje miješaju pripadaju različitim fazama. DHGroup odnosi se na IKE razmjenu ključeva, a PfsGroup na dječju asocijaciju koja štiti promet. Promjena drugoga ne može popraviti neuspjeh u prvome.
Nazivi skupina razlikuju se među implementacijama i to je zaseban izvor zabune. strongSwan piše modp2048 i ecp256, dok Windows rabi nazive nabrajanja poput Group14 i ECP256, pa usporedba mora prevesti prije negoli usporedi. Držite bilješku u dva stupca s oba naziva. Sljedeće se neslaganje tada razvrsta u 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 |
Primijenite jednu potpunu i ograničenu politiku
Podržani alat za izvorni IKEv2 profil je IPsec politika po vezi, postavljena kao jedan objekt, a ne polje po polje. Najprije je pregledajte, zatim primijenite i sačuvajte prijašnje parametre u zapisu promjene.
Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf
Prekidač -WhatIf pregledava lokalnu promjenu i ništa ne primjenjuje. To je korisno i ujedno česta zamka, jer pregled dokazuje samo da su parametri sintaktički prihvatljivi lokalnom cmdletu. Ne govori ništa o tome hoće li pristupnik prihvatiti dobiveni prijedlog.
Ujedno uskladite i opseg. Veza u spremištu za sve korisnike treba odgovarajući parametar za sve korisnike, a uređivanje profila po korisniku s istim prikazanim imenom mijenja drugi objekt koji tunel ne rabi.
Zatim prije testiranja uskladite strongSwan stranu na isti skup. Usklađena promjena na obama krajevima jedina je inačica ovoga koja konvergira; promjena jedne strane i ponovljeni pokušaji daju zapis pun istog odbijanja.
Provjerite razmjenu i obnovu ključeva odvojeno
Uspješna veza jedno je opažanje, a obnova ključeva drugo. Početno IKE pregovaranje rabi jedan skup parametara, a dječja asocijacija koja nosi promet može se kasnije ponovno pregovarati s vlastitom politikom. Postav 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 poslužitelja na uspostavljene asocijacije, uključujući dječju SA i njezin preostali životni vijek. Druga pokazuje što klijentski profil sada drži i to je jedini način da potvrdite da je politika koju ste postavili politika na snazi.
Promatrajte punu obnovu ključeva prije nego što proglasite uspjeh. To znači ostaviti vezu podignutom dovoljno dugo da se dječja asocijacija zamijeni, a zatim potvrditi da promet teče dalje. Većina neslaganja politike skriva se upravo u tom koraku, jer početno pregovaranje može uspjeti sa skupom koji obnova ne prihvaća.
Vraćanje je prijašnji skup parametara, a ne permisivna rezerva. Ako je klijent ponudio samo slabu naslijeđenu skupinu, odgovor je poboljšati zajedničku politiku klijenta i poslužitelja, a ne dodati tu skupinu na pristupnik gdje svaka buduća strana može pregovarati prema dolje do nje.
Zapišite četiri parametra, skupinu, opseg veze i rezultat obnove ključeva. To je kratka bilješka i ona je razlika između priručnika i priče o tome kako se tunel jednom podigao.