Una connessione riuscita dimostra solo che entrambe le estremità hanno trovato un insieme di valori che accettano. Un profilo IKEv2 Mac gestito contiene due dizionari di associazione di sicurezza, il gateway ha la propria lista di proposte e la connessione riesce su qualsiasi intersezione consentita da entrambe le parti. Esegui i controlli seguenti in ordine e fermati dove le due estremità non sono d'accordo, invece di aggiungere un'altra cifratura per vedere se aiuta. Ogni passo esclude uno strato diverso del profilo.

Controlla entrambi i dizionari prima di modificare un valore

Nelle impostazioni IKEv2 del payload VPN, IKESecurityAssociationParameters descrive l'associazione IKE e ChildSecurityAssociationParameters descrive la Child SA. Lo schema di Apple stabilisce che i parametri IKE valgono anche per la Child SA quando il secondo dizionario è assente. Questa eredità è comoda, ed è anche così che un profilo finisce con valori che nessuno ha scelto consapevolmente.

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

Scrivi entrambe le righe nel registro di distribuzione anche quando i valori coincidono. Un revisore può così vedere che la Child SA è stata considerata invece di essere ereditata per caso, e una modifica successiva a una riga non altera silenziosamente l'altra.

Controlla cosa significa ogni chiave prima di copiare una stringa

Le quattro chiavi non sono intercambiabili con una stringa di proposta di un altro prodotto. I nomi degli algoritmi dipendono dall'implementazione, quindi traduci la suite scelta tramite la sintassi documentata di ciascuna parte invece di incollare una proposta strongSwan in un campo 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

«Usa il numero di gruppo più alto» non è un metodo di selezione. Gli identificatori di gruppo indicano costruzioni diverse, e un numero più alto non significa semplicemente una versione più forte della stessa cosa. Fai approvare la combinazione completa dal proprietario del gateway, perché una suite è valida o invalida nel suo insieme. Una cifratura approvata con un gruppo non approvato è una proposta non approvata, e fallirà o ripiegherà silenziosamente su qualcosa che nessuna delle due parti ha documentato.

Controlla i limiti di versione che ritirano gli algoritmi vecchi

Lo schema del payload Apple limita DES, 3DES, SHA1-96, SHA1-160 e i gruppi Diffie-Hellman 1, 2 e 5 alle versioni di macOS precedenti alla 26. Un profilo ripreso da una distribuzione più vecchia può ancora contenere uno di quei valori e connettersi ancora a un gateway vecchio, ed è proprio il caso in cui una configurazione funzionante nasconde una data di ritiro.

Ottieni le versioni di Mac supportate e la politica delle proposte mantenuta dal gateway prima di costruire il profilo. Poi scegli l'intersezione e annota perché le opzioni rimanenti sono state escluse. Una nota che dice «il gateway offre ancora il gruppo 2 per i client vecchi» vale più di un elenco di cifrature senza storia. Senza quella nota, il revisore successivo non può distinguere un'eccezione deliberata da una svista.

Controlla l'autenticazione su una riga separata

L'accordo su una proposta non ripara un'identità del server errata. L'identità del gateway, la fiducia nel certificato e le credenziali dell'utente o del dispositivo sono decisioni separate, e ciascuna può fallire mentre gli algoritmi sono perfettamente allineati. Cambiare l'algoritmo di firma di un certificato non è lo stesso atto che scegliere l'algoritmo di cifratura IKE, anche se entrambi compaiono nella stessa revisione.

Tieni l'identità del server attesa accanto alla proposta nel registro. Quando una connessione fallisce dopo un cambio di certificato, quella coppia dice alla persona successiva se si è mossa prima la negoziazione o la decisione di fiducia.

Distribuisci una revisione e ispeziona cosa è stato negoziato

Usa il flusso di distribuzione supportato dall'organizzazione e registra l'identificatore del profilo, la revisione, le versioni di Mac di destinazione e la politica del gateway corrispondente. Dai ai dispositivi che non possono connettersi un percorso di ripristino documentato, ed evita di creare un secondo profilo con lo stesso nome di cui nessuno possa stabilire la proprietà.

Durante l'accettazione, ispeziona la configurazione installata e le associazioni IKE e Child negoziate tramite diagnostica approvata. Poi forza un rinnovo controllato, perché la prima connessione dimostra solo che la negoziazione iniziale ha funzionato; una discrepanza di durata compare di solito al primo cambio di chiave, molto dopo l'approvazione della distribuzione.

Conserva la suite accettata con il registro della revisione. Il successivo aggiornamento di macOS o cambio di gateway ha così una base di confronto invece di un profilo che oggi si connette solo per caso.

Articoli correlati