Group24 i MODP3072 to obie nazwy grupy wymiany kluczy i nie jest to ta sama grupa o różnej sile. Group24 łączy moduł 2048-bitowy z podgrupą rzędu pierwszego 256-bitową, natomiast MODP3072 to grupa 15 o 3072 bitach. Wybór jednej, gdy wskazano drugą, zmienia wymaganie zamiast je spełniać. O wyniku decydują cztery rzeczy i żadna z nich nie wymaga zaufania nazwie, która wygląda podobnie.

Numer to wpis rejestru, nie ranga

IANA numeruje grupy wymiany kluczy w kolejności ich rejestracji, więc większy numer oznacza późniejszy wpis rejestru, a nie mocniejszą grupę. Grupa 14 to 2048-bitowy MODP, grupa 15 to 3072-bitowy MODP, a grupa 24 łączy moduł 2048-bitowy z podgrupą rzędu pierwszego 256-bitową. Czytanie identyfikatora jako rankingu rozmiaru tworzy dokładnie ten błąd, by traktować 24 jako większe 15. Nazwa jest etykietą, a parametry za nią są tym, czego negocjacja faktycznie używa.

IANA groupWhat the group isExpressible as Windows DHGroupWhat a mismatch looks like
14A 2048-bit finite-field modulusGroup14The gateway reports modp2048, which is the same group in other vocabulary
15A 3072-bit finite-field modulusNot in the documented enumerationYou cannot request it from this parameter; a gateway reporting modp3072 was configured elsewhere
24A 2048-bit modulus with a 256-bit prime-order subgroupGroup24The gateway reports modp2048s256, so the two names differ while describing one group
20The NIST P-384 curveECP384The gateway reports ecp384, and that 384 counts a field size rather than a modulus

Grupy na krzywych eliptycznych dodają własne zamieszanie, ponieważ liczba bitów krzywej opisuje ciało, a nie moduł. Porównywanie P-384 z grupą ciała skończonego o 3072 bitach tak, jakby liczby mierzyły to samo, nic ci nie mówi.

Co może wyrazić wyliczenie Windows

Rejestr IKE i parametr klienta Windows to różne interfejsy o różnych słownikach. Dokumentacja polecenia cmdlet VpnClient firmy Microsoft podaje, że DHGroup przyjmuje None, Group1, Group2, Group14, ECP256, ECP384 i Group24. Group15 nie występuje w tym udokumentowanym zbiorze, co oznacza, że parametr nie może wyrazić żądanej grupy. To ograniczenie interfejsu, a nie stwierdzenie, jakie grupy obsługuje protokół.

Podanie niewymienionej pisowni, liczby całkowitej lub skopiowanego ciągu zasad nie rozszerza wyliczenia. Sprawdź dokumentację dla wersji Windows, którą faktycznie wdrażasz, a jeśli grupa jest niedostępna, uczciwym wynikiem są inne zatwierdzone zasady lub inny klient.

Trzymaj DHGroup, PfsGroup i typ certyfikatu osobno

DHGroup wybiera grupę do wymiany kluczy IKE, a PfsGroup zarządza poufnością w przód dla następujących skojarzeń ruchu chronionego. To osobne pola, więc poprawne ustawienie jednego nic nie mówi o drugim. Klucz RSA lub ECDSA certyfikatu jest trzecią właściwością i należy do uwierzytelniania, a nie do wymiany efemerycznej. Jeden profil może więc być poprawny w jednej warstwie, a błędny w innej, a udane połączenie nie ujawni, w której.

Raporty, że określony typ certyfikatu wymusił grupę ECP na każdym połączeniu IKEv2, opisują jedną kombinację ustawień. Nie ustanawiają reguły protokołu, a traktowanie ich jako reguły jest sposobem, w jaki lokalna osobliwość staje się zasadą.

Odczytaj grupę wynegocjowaną przez bramę

Moduł VpnClient oferuje Set-VpnConnectionIPsecConfiguration jako interfejs tylko do zapisu, a na hoście nie ma odpowiedniego polecenia cmdlet Get-, które odczytałoby te zasady z powrotem. Zapisz zastosowane wartości DHGroup i PfsGroup, a następnie odczytaj na bramie, czego wymiana faktycznie użyła. Uruchamiaj polecenia po nowym połączeniu, a nie po ponownym połączeniu, które wykorzystało stare skojarzenie.

swanctl --list-sas
ipsec statusall

Profil zgłaszający Group24, podczas gdy brama zgłasza modp2048s256, jest spójny, ponieważ to ta sama grupa w dwóch słownikach. Brama zgłaszająca modp3072, podczas gdy profil mówi Group24, nie jest spójna i jeden punkt końcowy nie egzekwuje tego, co sądzisz. Wiersz certyfikatu odpowiada na osobne pytanie o uwierzytelnianie, a pole PFS na trzecie. Porównaj wszystkie trzy, zanim napiszesz notatkę o zgodności.

Zapisz żądaną grupę, wynegocjowaną grupę i interfejs, który przyjął lub odrzucił ustawienie. Ten trójkąt jest tym, czego potrzebuje recenzent, i niczego z niego nie da się wywnioskować z nazwy zasad.

Powiązane artykuły