rss logo

Comment configurer un tunnel IPsec en mode transport entre deux machines Windows

Je vais parler ici de la possibilité de configurer un VPN IPsec sécurisé entre des hôtes Microsoft Windows situés sur le même LAN, afin d'améliorer grandement la sécurité du réseau. Grâce à cette configuration, tous les échanges entre les machines seront cryptés, sans exception.

Architecture réseau

Pour les besoins de cet article, nous garderons une architecture aussi simple que possible. Il s'agit d'établir une connexion sécurisée avec un VPN IPsec sécurisé par PSK (Pre-shared key) entre un ordinateur fonctionnant sous Windows 11 et un serveur fonctionnant sous Windows 2022. Les deux ordinateurs seront sur le même réseau local.

Schéma réseau illustrant un tunnel en mode transport IPsec entre un poste Windows 11 et un hôte Windows Server 2022 sur le même réseau local (LAN)
Logo Windows Server

Serveur Windows

Configuration IPsec

Interface Graphique Utilisateur (GUI)

  • Ouvrir la console du Pare-feu Windows avec fonctions avancées de sécurité :
Fenêtre Exécuter de Windows avec 'wf.msc' saisi pour ouvrir le Pare-feu Windows Defender avec fonctions avancées de sécurité
  • Faire un clic droit sur Règles de sécurité de connexion et sélectionner Nouvelle règle… :
Création d'une nouvelle règle de sécurité de connexion dans le Pare-feu Windows Defender pour la configuration IPsec
  • Sélectionner Personnalisée et cliquer sur Suivant :
Sélection du type de règle personnalisée dans l’assistant de création de règle de sécurité du Pare-feu Windows pour la configuration IPsec
  • Dans la section Quels ordinateurs se trouvent au point de terminaison 1, sélectionner Ces adresses IP et cliquer sur Ajouter… :
Spécification des adresses IP pour le point de terminaison 1 lors de la configuration de la règle de connexion IPsec dans le Pare-feu Windows
  • Ici, nous ajoutons l'Hôte ou le Réseau avec lequel nous devons établir une connexion IPsec pour communiquer :
Saisie d'une adresse IP spécifique pour définir un point de terminaison dans une règle IPsec du Pare-feu Windows
  • Faire de même avec le point de terminaison 2 en entrant l'adresse IP du serveur puis cliquer sur Suivant :
Définition des adresses IP et des plages de sous-réseau comme points de terminaison pour une règle de sécurité IPsec sous Windows
  • Pour une sécurité maximale et imposer l'utilisation d'IPsec sélectionner Imposer l'authentification des connexions entrantes et sortantes :
Configuration d'une règle IPsec sous Windows exigeant une authentification pour les connexions entrantes et sortantes
  • Comme nous utiliserons une clé pré-partagée comme Méthode d'Authentification dans cet exemple, cliquer sur Personnaliser… :
Fenêtre de configuration d'une règle IPsec affichant la sélection de la méthode d'authentification avancée sous Windows
  • Suivre les étapes suivantes afin de paramétrer la PSK (clé pré-partagée) :
Configuration avancée de l'authentification IPsec sous Windows avec une clé pré-partagée saisie comme première méthode
  • Nous pouvons spécifier un ou plusieurs protocoles spécifiques à encapsuler dans IPsec, ici nous encapsulons tout :
Configuration d'une règle de connexion IPsec sous Windows avec sélection du type de protocole et des plages de ports
  • Nous pouvons restreindre la règle à des profils spécifiques :
Écran de sélection du profil de règle IPsec avec activation des types de réseaux domaine, privé et public
  • Enfin, spécifier le Nom de la règle :
Dernière étape de la création de la règle IPsec dans le Pare-feu Windows avec le nom de la règle défini sur 'IPsec'

PowerShell

  • Nous pouvons créer la même règle IPsec que celle configurée juste au-dessus, en trois lignes de commande PowerShell :
PS C:\> $PSKAuthProp = New-NetIPsecAuthProposal -Machine -PreSharedKey "IPsuperSECRET"
PS C:\> $PSKAuthSet = New-NetIPsecPhase1AuthSet -DisplayName "PSK auth" -Proposal $PSKAuthProp
PS C:\> New-NetIPsecRule -DisplayName "IPsec" -Name "IPsec" -Mode Transport -InboundSecurity Require -OutboundSecurity Require -LocalAddress 192.168.1.200 -RemoteAddress 192.168.1.30 -Enable True -Phase1AuthSet $PSKAuthSet.Name

Configuration du pare-feu

Nous allons la créer une règle de pare-feu pour permettre les flux chiffrés.

Interface Graphique Utilisateur (GUI)

  • Faire un clic droit sur Règles de sécurité entrantes et sélectionner Nouvelle règle… :
Interface du Pare-feu Windows Defender montrant comment créer une nouvelle règle entrante
  • Sélectionner Personnalisée et cliquer sur Suivant :
Assistant de création de règle entrante Windows affichant la sélection du type de règle personnalisée
  • Choisir Tous les programmes et cliquer sur Suivant :
Configuration d'une règle de pare-feu sous Windows appliquée à tous les programmes du système
  • Nous pouvons spécifier un ou plusieurs protocoles spécifiques à être ciblés par la règle, ici nous ciblerons tous les protocoles :
Règle de pare-feu Windows configurée pour autoriser tous les protocoles et tous les ports
  • Limiter l'application de la règle aux adresses IP définies concernées :
Paramètres de portée dans une règle du Pare-feu Windows spécifiant les adresses IP locales et distantes pour la connexion IPsec
  • Dans l'étape Action, configurer la condition Exiger le chiffrement des connexions :
Configuration d'une règle du Pare-feu Windows exigeant des connexions IPsec chiffrées pour des communications sécurisées
  • Nous pouvons limiter l'application de la règle à des utilisateurs spécifiques, ce qui ne sera pas utilisé pour nos besoins :
Assistant de création de règle du Pare-feu Windows affichant les options d'autorisation de connexion basées sur les utilisateurs pour les règles IPsec
  • Nous pouvons faire de même pour limiter la règle à des ordinateurs spécifiques, ce qui ne sera pas utilisé dans cet exemple non plus :
Assistant de création de règle du Pare-feu Windows affichant les restrictions de connexion basées sur l'ordinateur pour la configuration de la règle IPsec
  • Nous pouvons restreindre la règle à des profils spécifiques :
Assistant de règle du Pare-feu Windows affichant les profils de réseau domaine, privé et public sélectionnés pour l'application de la politique IPsec
  • Enfin, spécifier le Nom de la règle :
Dernière étape de l'assistant du Pare-feu Windows affichant une règle entrante IPsec nommée 'IPsec ALLOW' prête à être créée

PowerShell

  • Nous pouvons créer la même Règle de Pare-feu que celle configurée juste ci-dessus, en une seule ligne de commande PowerShell :
PS C:\> New-NetFirewallRule -DisplayName "IPsec ALLOW" -Direction Inbound -Enabled True -Action Allow -LocalAddress 192.168.1.200 -RemoteAddress 192.168.1.0/24 -Protocol Any -Encryption Dynamic -Authentication Required

Nous avons maintenant terminé la configuration du serveur. Il est maintenant temps de passer à la configuration du client.

Windows 11

Logo Windows 11

Je vais les décrire toutes, mais les étapes sont globalement les mêmes que celles que nous avons suivies pour le serveur.

  • Ouvrir la console du Pare-feu Windows :
Fenêtre Exécuter de Windows avec 'wf.msc' saisi pour ouvrir l'interface du Pare-feu Windows Defender
  • Faire un clic droit sur Règles de sécurité de connexion et sélectionner Nouvelle règle… :
Pare-feu Windows Defender affichant le menu contextuel pour créer une nouvelle règle de sécurité de connexion sous Règles de sécurité de connexion
  • Sélectionner Personnalisée et cliquer sur Suivant :
Écran de l’assistant Pare-feu Windows montrant la sélection du type de règle personnalisée pour la configuration IPsec
  • Dans la section Quels ordinateurs se trouvent au point de terminaison 1, sélectionner Ces adresses IP et cliquer sur Ajouter… :
Configuration IPsec sous Windows montrant comment spécifier les adresses IP pour les connexions sécurisées des points de terminaison
  • Ici, nous ajoutons l'adresse IP de notre client :
Fenêtre d'adresse IP, avec le réseau 192.168.1.30 renseigné
  • Faire de même avec le Point de terminaison 2 en entrant l'adresse IP du serveur puis cliquer sur Suivant :
Assistant de configuration IPsec montrant les adresses IP sélectionnées pour le point de terminaison 1 et le point de terminaison 2 sous Windows
  • Pour une sécurité maximale et imposer l'utilisation d'IPsec, sélectionner Imposer l'authentification pour des connexions entrantes et sortantes :
Assistant IPsec sous Windows montrant l'option d'exiger une authentification pour les connexions entrantes et sortantes
  • Comme nous utiliserons une clé pré-partagée comme Méthode d'Authentification dans cet exemple, cliquer sur Personnaliser… :
Assistant IPsec sous Windows avec la méthode d'authentification avancée sélectionnée et l'option Personnaliser mise en surbrillance
  • Suivre ces étapes pour configurer la clé pré-partagée :
Paramètres d'authentification avancée IPsec sous Windows avec configuration et confirmation de la clé pré-partagée (PSK)
  • Nous pouvons spécifier un ou plusieurs protocoles spécifiques à encapsuler dans IPsec, ici nous encapsulons tout :
Configuration de la règle de connexion IPsec sous Windows avec sélection du type de protocole et des plages de ports
  • Nous pouvons restreindre la règle à des profils spécifiques :
Assistant de règles IPsec du pare-feu Windows montrant les profils de réseau sélectionnés : Domaine, Privé et Public
  • Enfin, spécifier le Nom de la règle :
Dernière étape de la création d'une règle IPsec dans le pare-feu Windows, avec le nom de la règle « IPsec to 192.168.1.200 ».
  • Faire un ping vers le serveur et vérifier que l'association de sécurité est présente :
Le pare-feu Windows montre une association IPsec en mode principal avec une clé prépartagée et un cryptage AES-CBC 128 entre 192.168.1.30 et 192.168.1.200.

Améliorer la sécurité

A partir d'ici, tout devrait être fonctionnel et les connexions sont chiffrées. Nous allons voir comment renforcer davantage la sécurité en choisissant des protocoles IPsec plus robustes que ceux proposés par défaut. Toutes les commandes ci-dessous doivent être entrées à la fois sur le client et sur le serveur.

IKEv2

  • Activer le mode IKEv2 :
PS C:\> Set-NetIPsecRule -DisplayName "IPsec" -KeyModule IKEv2 -ForwardPathLifetime 120

Renforcer la sécurité en changeant les protocoles avec l'interface graphique (GUI)

  • Depuis la console Windows Defender Firewall avec sécurité avancée, faites un clic droit sur Windows Defender Firewall avec sécurité avancée, puis sélectionner Propriétés :
Interface du pare-feu Windows Defender montrant le menu contextuel avec l'option Propriétés sélectionnée
  • Dans l'onglet Paramètres IPsec, cliquer sur Personnaliser… :
Fenêtre de propriétés du pare-feu Windows Defender avec l'onglet Paramètres IPsec ouvert et le bouton Personnaliser en surbrillance
  • Sélectionner Avancé et cliquer sur Personnaliser… :
La fenêtre de personnalisation des valeurs par défaut d'IPsec montre les options avancées activées pour l'échange de clés et la protection des données, les boutons de personnalisation étant mis en évidence.

Mode Principal

  • D'abord, supprimer les entrées existantes, puis activer Diffie-Hellman et enfin cliquer sur Ajouter… :
Paramètres avancés d'échange de clés IPsec indiquant l'intégrité SHA-1, le cryptage AES-CBC 128 et 3DES avec Diffie-Hellman Group 2, et les options permettant d'ajouter ou de supprimer des méthodes de sécurité.
  • Changer les algorithmes par défaut :
Configuration de la méthode de sécurité dans Windows IPsec avec intégrité SHA-384, cryptage AES-CBC 256 et échange de clés Elliptic Curve Diffie-Hellman P-384

Mode Rapide

  • Activer Exiger le chiffrement, puis supprimer les algorithmes prédéfinis et enfin cliquer sur Ajouter… :
Personnaliser la fenêtre des paramètres de protection des données dans Windows IPsec avec l'exigence de cryptage sélectionnée et l'algorithme ESP utilisant SHA-1 et AES-CBC
  • Sélectionner ESP, puis modifier les algorithmes :
Configuration des algorithmes de cryptage et d'intégrité ESP dans Windows IPsec avec AES-GCM 256 sélectionné pour les deux paramètres

Renforcer le mode rapide avec PowerShell

  • Changer les protocoles :
PS C:\> $proposal1 = (New-NetIPsecQuickModeCryptoProposal -Encapsulation ESP -Encryption AES256 -ESPHash SHA256)
PS C:\> $mMCryptoSet=(New-NetIPsecQuickModeCryptoSet -DisplayName "Quick Mode Rule" -Proposal $proposal1)
PS C:\> Set-NetIPsecRule -DisplayName IPsec -QuickModeCryptoSet $mMCryptoSet.Name

Quelques Commandes

  • Obtenir les propriétés IPsec de la règle IPsec :
PS C:\> Get-NetIPsecRule -DisplayName IPsec
  • Supprimer la règle IPsec nommée IPsec :
PS C:\> Remove-NetIPsecRule -DisplayName IPsec
  • Obtenir les propriétés du mode principal IPsec pour la règle IPsecMain :
PS C:\> Get-NetIPsecMainModeRule -DisplayName IPsecMain
  • Supprimer le profil principal IPsec :
PS C:\> Remove-NetIPsecMainModeRule -Name "{XXX-XXX-XXX}"
  • Obtenir les associations de sécurité actives du mode principal (Main Mode SA) :
PS C:\> Get-NetIPsecMainModeSA
  • Obtenir les associations de sécurité actives du mode rapide (Quick Mode SA) :
PS C:\> Get-NetIPsecQuickModeSA
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address