Perfil IKEv2 no Mac: defina os dois dicionários SA e depois teste
Os parâmetros IKE são herdados pela Child SA quando esse dicionário falta. Preencha ambos, traduza os nomes e verifique o que os pares realmente negociaram.
Uma ligação bem-sucedida prova apenas que ambos os extremos encontraram um conjunto de valores que aceitam. Um perfil IKEv2 gerido do Mac contém dois dicionários de associação de segurança, o gateway tem a sua própria lista de propostas e a ligação é estabelecida em qualquer interseção que ambos os lados permitam. Execute as verificações abaixo por ordem e pare onde os dois extremos discordam, em vez de acrescentar outra cifra para ver se ajuda. Cada passo elimina uma camada diferente do perfil.
Verifique os dois dicionários antes de editar um valor
Dentro das definições IKEv2 da carga VPN, IKESecurityAssociationParameters descreve a associação IKE e ChildSecurityAssociationParameters descreve a Child SA. O esquema da Apple indica que os parâmetros IKE também se aplicam à Child SA quando falta o segundo dicionário. Essa herança é conveniente, e é também assim que um perfil acaba com valores que ninguém escolheu conscientemente.
<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>
Escreva ambas as linhas no registo de implementação mesmo quando os valores coincidem. Um revisor pode então ver que a Child SA foi considerada em vez de herdada por acidente, e uma alteração posterior numa linha não altera silenciosamente a outra.
Verifique o que significa cada chave antes de copiar uma cadeia
As quatro chaves não são intercambiáveis com uma cadeia de proposta de outro produto. Os nomes dos algoritmos dependem da implementação, por isso traduza o conjunto escolhido através da sintaxe documentada de cada lado em vez de colar uma proposta strongSwan num campo da Apple.
| Key | Holds | Common mistake |
|---|---|---|
| EncryptionAlgorithm | Cipher for that association | Assuming an AEAD name also sets integrity |
| IntegrityAlgorithm | Integrity for the chosen suite | Leaving it set for an AEAD suite that does not use one |
| DiffieHellmanGroup | Numeric group identifier | Reading the number as key size in bits |
| LifeTimeInMinutes | Association lifetime | Setting it shorter than the gateway's renewal margin |
«Use o maior número de grupo» não é um método de seleção. Os identificadores de grupo designam construções diferentes, e um número mais alto não significa simplesmente uma versão mais forte da mesma coisa. Peça ao proprietário do gateway que aprove a combinação completa, porque um conjunto é válido ou inválido como um todo. Uma cifra aprovada com um grupo não aprovado é uma proposta não aprovada, e ou falha ou recua silenciosamente para algo que nenhum dos lados documentou.
Verifique os limites de versão que retiram os algoritmos antigos
O esquema de carga da Apple restringe DES, 3DES, SHA1-96, SHA1-160 e os grupos Diffie-Hellman 1, 2 e 5 a versões do macOS anteriores à 26. Um perfil trazido de uma implementação mais antiga pode ainda conter um desses valores e ainda ligar-se a um gateway antigo, e é precisamente o caso em que uma configuração funcional esconde uma data de retirada.
Obtenha as versões de Mac suportadas e a política de propostas mantida pelo gateway antes de construir o perfil. Depois escolha a interseção e registe por que razão as opções restantes foram excluídas. Uma nota a dizer «o gateway ainda oferece o grupo 2 para clientes antigos» vale mais do que uma lista de cifras sem histórico. Sem essa nota, o revisor seguinte não consegue distinguir uma exceção deliberada de um descuido.
Verifique a autenticação na sua própria linha
O acordo sobre uma proposta não corrige uma identidade de servidor errada. A identidade do gateway, a confiança no certificado e as credenciais do utilizador ou do dispositivo são decisões separadas, e cada uma pode falhar enquanto os algoritmos estão perfeitamente alinhados. Alterar o algoritmo de assinatura de um certificado não é o mesmo ato que escolher o algoritmo de cifra IKE, embora ambos apareçam na mesma revisão.
Mantenha a identidade de servidor esperada ao lado da proposta no registo. Quando uma ligação falha após uma alteração de certificado, esse par diz à pessoa seguinte se foi a negociação ou a decisão de confiança que se moveu primeiro.
Implante uma revisão e inspecione o que foi negociado
Use o fluxo de distribuição suportado pela organização e registe o identificador do perfil, a revisão, as versões de Mac de destino e a política de gateway correspondente. Dê aos dispositivos que não conseguem ligar-se um caminho de recuperação documentado, e evite criar um segundo perfil com o mesmo nome cuja propriedade ninguém consegue estabelecer.
Durante a aceitação, inspecione a configuração instalada e as associações IKE e Child negociadas através de diagnósticos aprovados. Depois force uma renovação controlada, porque a primeira ligação só prova que a negociação inicial funcionou; uma discrepância de duração aparece normalmente na primeira troca de chaves, muito depois de a implementação ter sido aprovada.
Mantenha o conjunto aceite junto do registo de revisão. Assim a próxima atualização do macOS ou alteração do gateway tem uma linha de base para comparar, em vez de um perfil que hoje só se liga por acaso.