O conexiune reușită dovedește doar că ambele capete au găsit un set de valori pe care le acceptă. Un profil IKEv2 administrat pentru Mac conține două dicționare de asociere de securitate, gateway-ul are propria listă de propuneri, iar conexiunea reușește pe orice intersecție pe care ambele părți o permit. Efectuați verificările de mai jos în ordine și opriți-vă acolo unde cele două capete nu sunt de acord, în loc să adăugați încă un cifru pentru a vedea dacă ajută. Fiecare pas exclude un alt strat al profilului.

Verificați ambele dicționare înainte de a edita o valoare

În setările IKEv2 ale încărcăturii VPN, IKESecurityAssociationParameters descrie asocierea IKE, iar ChildSecurityAssociationParameters descrie Child SA. Schema Apple precizează că parametrii IKE se aplică și pentru Child SA atunci când al doilea dicționar lipsește. Această moștenire este comodă și exact așa ajunge un profil să conțină valori pe care nimeni nu le-a ales conștient.

<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>

Scrieți ambele rânduri în registrul de implementare chiar și atunci când valorile coincid. Un recenzent poate vedea atunci că Child SA a fost luat în considerare, nu moștenit din greșeală, iar o modificare ulterioară a unui rând nu îl schimbă în tăcere pe celălalt.

Verificați ce înseamnă fiecare cheie înainte de a copia un șir

Cele patru chei nu sunt interschimbabile cu un șir de propunere din alt produs. Numele algoritmilor depind de implementare, așa că traduceți setul ales prin sintaxa documentată a fiecărei părți, în loc să lipiți o propunere strongSwan într-un câmp Apple.

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

„Folosiți cel mai mare număr de grup” nu este o metodă de selecție. Identificatorii de grup desemnează construcții diferite, iar un număr mai mare nu înseamnă pur și simplu o versiune mai puternică a aceluiași lucru. Cereți proprietarului gateway-ului să aprobe combinația completă, deoarece un set este valid sau invalid ca întreg. Un cifru aprobat cu un grup neaprobat este o propunere neaprobată și fie va eșua, fie va reveni în tăcere la ceva ce niciuna dintre părți nu a documentat.

Verificați limitele de versiune care retrag algoritmii vechi

Schema de încărcătură a Apple restricționează DES, 3DES, SHA1-96, SHA1-160 și grupurile Diffie-Hellman 1, 2 și 5 la versiuni macOS anterioare celei 26. Un profil preluat dintr-o implementare mai veche poate conține încă una dintre acele valori și se poate conecta în continuare la un gateway vechi, iar acesta este exact cazul în care o configurație funcțională ascunde o dată de retragere.

Obțineți versiunile Mac acceptate și politica de propuneri menținută de gateway înainte de a construi profilul. Apoi alegeți intersecția și notați de ce au fost excluse opțiunile rămase. O notă care spune „gateway-ul oferă în continuare grupa 2 pentru clienții vechi” valorează mai mult decât o listă de cifruri fără istoric. Fără acea notă, următorul recenzent nu poate distinge o excepție deliberată de o scăpare.

Verificați autentificarea pe rândul ei

Acordul asupra unei propuneri nu repară o identitate de server greșită. Identitatea gateway-ului, încrederea în certificat și acreditările utilizatorului sau dispozitivului sunt decizii separate, iar fiecare poate eșua în timp ce algoritmii sunt perfect aliniați. Schimbarea algoritmului de semnătură al unui certificat nu este același act ca alegerea algoritmului de criptare IKE, deși ambele apar în aceeași revizuire.

Păstrați identitatea de server așteptată lângă propunere în registru. Când o conexiune eșuează după o schimbare de certificat, acea pereche îi spune următoarei persoane dacă s-a mișcat mai întâi negocierea sau decizia de încredere.

Implementați o revizie și inspectați ce s-a negociat

Folosiți fluxul de distribuire acceptat de organizație și înregistrați identificatorul profilului, revizia, versiunile Mac țintă și politica de gateway corespunzătoare. Oferiți dispozitivelor care nu se pot conecta o cale de recuperare documentată și evitați crearea unui al doilea profil cu același nume a cărui proprietate nimeni nu o poate stabili.

În timpul acceptării, inspectați configurația instalată și asocierile IKE și Child negociate prin diagnostice aprobate. Apoi forțați o reînnoire controlată, deoarece prima conexiune dovedește doar că negocierea inițială a funcționat; o nepotrivire a duratei de viață apare de obicei la prima schimbare de chei, mult după ce implementarea a fost aprobată.

Păstrați setul acceptat împreună cu registrul de revizie. Astfel următoarea actualizare macOS sau schimbare a gateway-ului are o bază de comparație, în locul unui profil care doar se întâmplă să se conecteze astăzi.

Articole similare