Udane połączenie dowodzi tylko, że oba końce znalazły zestaw wartości, które akceptują. Zarządzany profil IKEv2 na Maca zawiera dwa słowniki asocjacji bezpieczeństwa, brama ma własną listę propozycji, a połączenie udaje się na dowolnym przecięciu, które obie strony dopuszczają. Wykonaj poniższe kontrole po kolei i zatrzymaj się tam, gdzie oba końce się nie zgadzają, zamiast dodawać kolejny szyfr, żeby sprawdzić, czy pomoże. Każdy krok wyklucza inną warstwę profilu.

Sprawdź oba słowniki, zanim edytujesz wartość

W ustawieniach IKEv2 ładunku VPN IKESecurityAssociationParameters opisuje asocjację IKE, a ChildSecurityAssociationParameters opisuje Child SA. Schemat Apple'a mówi, że parametry IKE dotyczą także Child SA, gdy brakuje drugiego słownika. To dziedziczenie jest wygodne i właśnie tak profil kończy z wartościami, których nikt świadomie nie wybrał.

<key>IKESecurityAssociationParameters</key>
<dict>
  <key>EncryptionAlgorithm</key><string>AES-256</string>
  <key>IntegrityAlgorithm</key><string>SHA-256</string>
  <key>DiffieHellmanGroup</key><integer>14</integer>
  <key>LifeTimeInMinutes</key><integer>1440</integer>
</dict>

Zapisz oba wiersze w rekordzie wdrożenia, nawet gdy wartości są zgodne. Recenzent zobaczy wtedy, że Child SA został rozważony, a nie odziedziczony przypadkiem, a późniejsza zmiana jednego wiersza nie zmienia po cichu drugiego.

Sprawdź, co oznacza każdy klucz, zanim skopiujesz ciąg

Cztery klucze nie są wymienne z ciągiem propozycji z innego produktu. Nazwy algorytmów zależą od implementacji, więc przetłumacz wybrany zestaw przez udokumentowaną składnię każdej strony, zamiast wklejać propozycję strongSwan w pole Apple'a.

KeyHoldsCommon mistake
EncryptionAlgorithmCipher for that associationAssuming an AEAD name also sets integrity
IntegrityAlgorithmIntegrity for the chosen suiteLeaving it set for an AEAD suite that does not use one
DiffieHellmanGroupNumeric group identifierReading the number as key size in bits
LifeTimeInMinutesAssociation lifetimeSetting it shorter than the gateway's renewal margin

„Użyj największego numeru grupy” nie jest metodą wyboru. Identyfikatory grup oznaczają różne konstrukcje, a wyższy numer nie oznacza po prostu mocniejszej wersji tego samego. Niech właściciel bramy zatwierdzi całą kombinację, bo zestaw jest ważny albo nieważny jako całość. Zatwierdzony szyfr z niezatwierdzoną grupą to niezatwierdzona propozycja, która albo zawiedzie, albo po cichu cofnie się do czegoś, czego żadna ze stron nie udokumentowała.

Sprawdź limity wersji, które wycofują stare algorytmy

Schemat ładunku Apple'a ogranicza DES, 3DES, SHA1-96, SHA1-160 oraz grupy Diffie-Hellmana 1, 2 i 5 do wersji macOS sprzed 26. Profil przeniesiony ze starszego wdrożenia może nadal zawierać jedną z tych wartości i nadal łączyć się ze starą bramą, a to właśnie przypadek, w którym działająca konfiguracja ukrywa datę wycofania.

Uzyskaj obsługiwane wersje Maca i politykę propozycji utrzymywaną przez bramę, zanim zbudujesz profil. Następnie wybierz przecięcie i zapisz, dlaczego pozostałe opcje wykluczono. Notatka „brama nadal oferuje grupę 2 dla starych klientów” jest warta więcej niż lista szyfrów bez historii. Bez tej notatki następny recenzent nie odróżni świadomego wyjątku od przeoczenia.

Sprawdź uwierzytelnianie w osobnym wierszu

Zgoda co do propozycji nie naprawia błędnej tożsamości serwera. Tożsamość bramy, zaufanie do certyfikatu i dane logowania użytkownika lub urządzenia to odrębne decyzje i każda z nich może zawieść, gdy algorytmy są idealnie zgodne. Zmiana algorytmu podpisu certyfikatu to nie to samo działanie co wybór algorytmu szyfrowania IKE, choć oba pojawiają się w tym samym przeglądzie.

Trzymaj oczekiwaną tożsamość serwera obok propozycji w rekordzie. Gdy połączenie zawiedzie po zmianie certyfikatu, ta para powie następnej osobie, co ruszyło się pierwsze: negocjacja czy decyzja o zaufaniu.

Wdróż jedną rewizję i sprawdź, co wynegocjowano

Użyj obsługiwanego przez organizację procesu dystrybucji i zapisz identyfikator profilu, rewizję, docelowe wersje Maca oraz pasującą politykę bramy. Daj urządzeniom, które nie mogą się połączyć, udokumentowaną ścieżkę odzyskiwania, i unikaj tworzenia drugiego profilu o tej samej nazwie, którego własności nikt nie może ustalić.

Podczas odbioru sprawdź zainstalowaną konfigurację oraz wynegocjowane asocjacje IKE i Child za pomocą zatwierdzonej diagnostyki. Następnie wymuś kontrolowane odnowienie, bo pierwsze połączenie dowodzi tylko, że początkowa negocjacja zadziałała; niezgodność czasu życia zwykle pojawia się przy pierwszej wymianie kluczy, długo po zatwierdzeniu wdrożenia.

Trzymaj zaakceptowany zestaw razem z rekordem rewizji. Wtedy następna aktualizacja macOS lub zmiana bramy ma punkt odniesienia do porównania, a nie profil, który dziś tylko przypadkiem się łączy.

Powiązane artykuły