Stratégie IKEv2 personnalisée sous Windows : appliquez-la comme une étape à part
Une connexion provisionnée et une suite cryptographique personnalisée sont deux résultats. Alignez les champs de stratégie, la portée du profil et le propriétaire qui les réapplique.
Un package de provisionnement crée une connexion IKEv2, et le profil obtenu négocie autre chose que la suite que vous aviez prévue. Le package a fait son travail ; il n’a simplement jamais eu de champ pour la tâche que vous supposiez. Traitez la suite cryptographique comme une étape de provisionnement distincte et vérifiable.
Parcourez les cinq points ci-dessous dans l’ordre et gardez les résultats d’acceptation distincts.
Deux sortes de stratégie derrière des noms similaires
Windows sépare la stratégie qui protège l’échange de clés de celle qui protège le trafic. Le côté IKE est configuré par une méthode de chiffrement et une méthode d’intégrité. Le côté données est configuré par des constantes de chiffrement et de transformation d’authentification, et ces constantes utilisent leurs propres noms. Une seule étiquette AES copiée dans le mauvais champ produit une connexion qui s’établit sous une stratégie que personne n’a approuvée.
Le groupe d’échange de clés et la confidentialité persistante appartiennent à la même négociation et doivent être acceptables pour la passerelle. Les définir sans vérifier l’extrémité distante produit un échec à une étape plus tardive que celle que vous modifiiez, et c’est pourquoi ces erreurs ressemblent à des problèmes de passerelle.
Construisez une stratégie complète, pas deux noms d’algorithme
Écrivez chaque champ explicitement, y compris ceux que vous croyez être des valeurs par défaut. Une stratégie partielle appliquée avec un indicateur de force devient la configuration enregistrée, et les valeurs que vous avez omises sont celles que la plateforme avait à ce moment-là. Les valeurs qui commencent par le même préfixe ne sont pas interchangeables d’un champ à l’autre, et l’un des noms de transformation connus n’est valide que comme transformation d’authentification.
$policy = @{
ConnectionName = 'Corp IKEv2'
AllUserConnection = $true
EncryptionMethod = 'AES256'
IntegrityCheckMethod = 'SHA384'
CipherTransformConstants = 'AES256'
AuthenticationTransformConstants = 'SHA384128'
DHGroup = 'Group19'
PfsGroup = 'PFS2048'
Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy
Considérez ce bloc comme une suite illustrative que vos deux pairs doivent prendre en charge, non comme une recommandation. Le commutateur de force supprime une invite ; il n’approuve pas un package que vous n’avez pas examiné.
Créez d’abord, appliquez ensuite — dans une seule portée
La connexion doit exister avant que sa stratégie puisse être définie, et la portée doit correspondre à chaque étape. Une étape en contexte machine ne peut pas trouver le profil privé d’un utilisateur quelconque simplement parce que le nom affiché est le même. Les connexions pour tous les utilisateurs, les connexions utilisateur et leurs répertoires d’état sont des objets distincts avec des noms distincts.
L’ordre compte plus qu’il n’y paraît dans un package de provisionnement, car deux commandes peuvent s’exécuter plus près l’une de l’autre que la création de la connexion ne le prend. Empaquetez le travail après configuration comme une commande de provisionnement approuvée avec un contexte d’exécution déclaré, et laissez le moteur de provisionnement le séquencer au lieu d’insérer un délai deviné. Une attente assez longue sur votre matériel de test est une condition de course assortie d’un délai. Enregistrez la dépendance plutôt que la durée.
Les champs documentés du Configuration Designer décrivent un réglage VPN et n’exposent pas tous les contrôles IPsec natifs. Si l’exigence est une livraison gérée, le fournisseur de service de configuration VPNv2 possède une section de suite cryptographique exactement pour cet usage.
Nommez un propriétaire unique de la stratégie
Une mise à jour ultérieure du profil de gestion peut recréer la connexion et remplacer ce qu’un script a appliqué, et le remplacement ressemblera à une régression. Décidez si la suite appartient au profil, à un script ou au canal de gestion, et faites en sorte que les mises à jour courantes suivent le même chemin que la première installation.
Deux propriétaires, c’est comme aucun propriétaire quand les deux ne sont pas d’accord. Écrivez le nom du propriétaire dans l’enregistrement des modifications du profil. La prochaine mise à jour suivra ce que dit cet enregistrement.
Vérifiez le résultat négocié, pas le package
Lisez le profil enregistré et sa portée, puis établissez une nouvelle connexion et comparez les propositions retenues sur la passerelle. Confirmez aussi le comportement de renouvellement des clés, car une poignée de main initiale peut réussir avec une suite qu’une phase ultérieure refuse.
Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime
Trois résultats d’acceptation ne sont pas le même événement : le package a été installé, le profil existe avec la stratégie prévue et les pairs l’ont négocié. Gardez-les séparés, afin qu’un champ manquant ne soit jamais réparé en affaiblissant l’authentification ni en activant une solution de repli que personne n’a choisie.