Windows és strongSwan: az IKE-javaslat négy transzformációjának összehangolása
A közös titkosítás nem elég, ha a felek nem értenek egyet a kulcscseréhez használt csoportról. Hasonlítsa össze mind a négy transzformációt, majd alkalmazzon egyetlen szűk profilházirendet.
Mindkét fél támogatja az AES-t, mindkettő elfogadja a SHA-256-ot, az alagút mégsem jön fel. A javaslat egy olyan komponensen bukott el, amelyet senki nem hasonlított össze, rendszerint a kulcscsere-csoporton. Ez az útmutató minden módosítás előtt elolvassa a tényleges cserét, egyetlen szűk házirendet alkalmaz, és hátrahagy egy visszaállítást, amely helyreállítja a korábbi paramétereket.
Olvassa el a hibát, mielőtt csoportot cserélne
A „szabályzategyezési hiba“ összefoglaló, nem diagnózis. Azt jelenti, hogy nem található kölcsönösen elfogadható javaslat, és semmit nem mond arról, melyik komponenst utasították el. Tekintse a vizsgálat kezdetének, és ne egy adott csoportra vonatkozó bizonyítéknak.
A válasz rendszerint a kiszolgáló oldalán van. A strongSwan megfelelő szintű naplója felsorolja az ügyféltől kapott javaslatot és az elfogadásra beállított javaslatot, a két lista közötti különbség pedig megnevezi a meghiúsult komponenst.
Ne feltételezze, hogy az ügyfél azt kínálja, amit egy régi fórumbejegyzés állít. Az aktív profil és a telepített házirendje határozza meg a kínált listát, és egy frissített Windows-build más készletet kínálhat, mint a képernyőképen látható, amelyről másol.
Írja fel mindkét listát. Négy transzformációpozíció és egy csoport rövid lista, és soronkénti összevetése kevesebb időt vesz igénybe, mint bármelyik kísérlet. Négy pozíciót könnyű szem előtt tartani. Egy naplófájlt nem.
Minden transzformációt hasonlítson össze, ne egyetlen ismerős nevet
Az IKE-javaslat olyan választások halmaza, amelyeknek mind egyezniük kell. A titkosítás védi a tárgyalást, az integritás vagy egy PRF hitelesíti azt, és egy Diffie-Hellman-csoport friss kulcsanyagot hoz létre. Az a javaslat, amely az első kettőn egyezik és a harmadikon eltér, továbbra is elfogadhatatlan mindkét fél számára.
A két Windows-mező, amelyet itt összekevernek, különböző fázisokhoz tartozik. A DHGroup az IKE-kulcscserére vonatkozik, a PfsGroup pedig a forgalmat védő gyermektársulásra. A második módosítása nem javítja ki az első hibáját.
A csoportnevek eltérnek a megvalósítások között, és ez külön zavarforrás. A strongSwan modp2048 és ecp256 nevet ír, míg a Windows felsorolási neveket használ, például Group14 és ECP256, ezért az összehasonlításnak előbb fordítania kell. Vezessen kétoszlopos jegyzetet mindkét névvel. A következő eltérés aztán másodpercek alatt besorolható.
| 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 |
Alkalmazzon egyetlen teljes és szűk házirendet
A natív IKEv2-profilhoz támogatott eszköz a kapcsolatonkénti IPsec-házirend, amelyet egyetlen objektumként állítanak be, nem mezőnként. Először tekintse meg előnézetben, aztán alkalmazza, és őrizze meg a korábbi paramétereket a változási nyilvántartásban.
Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf
A -WhatIf kapcsoló előnézetben mutatja a helyi változást, és semmit nem alkalmaz. Ez hasznos, és egyben gyakori csapda is, mert az előnézet csak azt bizonyítja, hogy a paraméterek szintaktikailag elfogadhatók a helyi cmdlet számára. Nem mond semmit arról, hogy az átjáró elfogadja-e a keletkező javaslatot.
Ugyanekkor a hatókört is igazítsa hozzá. Az összes felhasználó tárolójában lévő kapcsolatnak a megfelelő összes-felhasználós paraméterre van szüksége, a felhasználónkénti profil azonos megjelenített névvel történő szerkesztése pedig egy másik objektumot módosít, amelyet az alagút nem használ.
Ezután a tesztelés előtt állítsa a strongSwan oldalt ugyanarra a készletre. Az összehangolt változtatás mindkét végén az egyetlen változat, amely konvergál; az egyik oldal módosítása és az ismételt újrapróbálkozás ugyanazzal az elutasítással teli naplót ad.
Ellenőrizze a cserét és a kulcsújítást külön-külön
A sikeres kapcsolat egy megfigyelés, a kulcsújítás pedig egy másik. A kezdeti IKE-tárgyalás egy paraméterkészletet használ, a forgalmat vivő gyermektársulás pedig később a saját házirendjével újratárgyalható. Az a beállítás, amely csatlakozik, majd egy idő után leesik, rendszerint a második eset.
ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *
Az első parancs a kiszolgáló nézetét mutatja a létrejött társulásokról, beleértve a gyermek SA-t és annak hátralévő élettartamát. A második azt mutatja, mit tartalmaz most az ügyfélprofil, és csak így lehet megerősíteni, hogy a beállított házirend az érvényben lévő házirend.
Figyeljen meg egy teljes kulcsújítást, mielőtt sikert hirdet. Ez azt jelenti, hogy a kapcsolatot elég sokáig fenn kell tartani ahhoz, hogy a gyermektársulás lecserélődjön, majd meg kell erősíteni, hogy a forgalom folytatódik. A legtöbb házirend-eltérés ebben a lépésben rejtőzik, mert a kezdeti tárgyalás sikerülhet olyan készlettel, amelyet az újítás nem fogad el.
A visszaállítás az előző paraméterkészlet, nem egy megengedő tartalék. Ha az ügyfél csak egy gyenge régi csoportot kínált, a válasz a közös ügyfél- és kiszolgálóházirend javítása, nem pedig az, hogy ezt a csoportot hozzáadjuk az átjáróhoz, ahol minden jövőbeli fél le tud tárgyalni egészen addig.
Jegyezze fel a négy paramétert, a csoportot, a kapcsolat hatókörét és a kulcsújítás eredményét. Ez egy rövid feljegyzés, és ez a különbség egy útmutató és egy történet között arról, amikor az alagút feljött.