rss logo

Configuration d'une connexion 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.

Diagramme réseau montrant un tunnel ipsec entre deux hôtes Windows
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 d'exécution Windows avec wf.msc écrit à l'intérieur
  • Faire un clic droit sur Règles de sécurité de connexion et sélectionner Nouvelle règle… :
Console du Pare-feu Windows avec fonctions avancées de sécurité avec le menu déroulant des règles de sécurité de connexion
  • Sélectionner Personnalisée et cliquer sur Suivant :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion avec l'option personnalisée sélectionnée
  • Dans la section Quels ordinateurs se trouvent au point de terminaison 1, sélectionner Ces adresses IP et cliquer sur Ajouter… :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Points d'extrémité
  • Ici, nous ajoutons l'Hôte ou le Réseau avec lequel nous devons établir une connexion IPsec pour communiquer :
Fenêtre Adresse IP, avec le réseau 192.168.1.0/24 rempli
  • Faire de même avec le point de terminaison 2 en entrant l'adresse IP du serveur puis cliquer sur Suivant :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Points d'extrémité
  • Pour une sécurité maximale et imposer l'utilisation d'IPsec sélectionner Imposer l'authentification des connexions entrantes et sortantes :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape des exigences
  • Comme nous utiliserons une clé pré-partagée comme Méthode d'Authentification dans cet exemple, cliquer sur Personnaliser… :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Méthode d'authentification
  • Suivre les étapes suivantes afin de paramétrer la PSK (clé pré-partagée) :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, les trois étapes pour définir la clé pré-partagée
  • Nous pouvons spécifier un ou plusieurs protocoles spécifiques à encapsuler dans IPsec, ici nous encapsulons tout :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Protocole et Ports
  • Nous pouvons restreindre la règle à des profils spécifiques :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Profil
  • Enfin, spécifier le Nom de la règle :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Nom

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… :
Console du Pare-feu Windows avec fonctions avancées de sécurité, menu déroulant des règles entrantes
  • Sélectionner Personnalisée et cliquer sur Suivant :
Fenêtre de l'assistant Nouvelle règle entrante, étape Type de règle
  • Choisir Tous les programmes et cliquer sur Suivant :
Fenêtre de l'assistant Nouvelle règle entrante, étape Programme
  • Nous pouvons spécifier un ou plusieurs protocoles spécifiques à être ciblés par la règle, ici nous ciblerons tous les protocoles :
Fenêtre de l'assistant Nouvelle règle entrante, étape Protocole et Ports
  • Limiter l'application de la règle aux adresses IP définies concernées :
Fenêtre de l'assistant Nouvelle règle entrante, étape Portée
  • Dans l'étape Action, configurer la condition Exiger le chiffrement des connexions :
Fenêtre de l'assistant Nouvelle règle entrante, étape Action, sélectionner Exiger que les connexions soient chiffrées
  • Nous pouvons limiter l'application de la règle à des utilisateurs spécifiques, ce qui ne sera pas utilisé pour nos besoins :
Fenêtre de l'assistant Nouvelle règle entrante, étape Utilisateurs
  • 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 :
Fenêtre de l'assistant Nouvelle règle entrante, étape Ordinateurs
  • Nous pouvons restreindre la règle à des profils spécifiques :
Fenêtre de l'assistant Nouvelle règle entrante, étape Profil
  • Enfin, spécifier le Nom de la règle :
Fenêtre de l'assistant Nouvelle règle entrante, étape Nom

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 d'exécution Windows avec wf.msc écrit à l'intérieur
  • Faire un clic droit sur Règles de sécurité de connexion et sélectionner Nouvelle règle… :
Console du Pare-feu Windows avec fonctions avancées de sécurité avec le menu déroulant des règles de sécurité de connexion
  • Sélectionner Personnalisée et cliquer sur Suivant :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion avec l'option personnalisée sélectionnée
  • Dans la section Quels ordinateurs se trouvent au point de terminaison 1, sélectionner Ces adresses IP et cliquer sur Ajouter… :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Points d'extrémité
  • Ici, nous ajoutons l'adresse IP de notre client :
Fenêtre Adresse IP, avec le réseau 192.168.1.30 rempli
  • Faire de même avec le Point de terminaison 2 en entrant l'adresse IP du serveur puis cliquer sur Suivant :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Points d'extrémité
  • Pour une sécurité maximale et imposer l'utilisation d'IPsec, sélectionner Imposer l'authentification pour des connexions entrantes et sortantes :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Exigences
  • Comme nous utiliserons une clé pré-partagée comme Méthode d'Authentification dans cet exemple, cliquer sur Personnaliser… :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Méthode d'authentification
  • Suivre ces étapes pour configurer la clé pré-partagée :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, les trois étapes pour configurer la clé pré-partagée
  • Nous pouvons spécifier un ou plusieurs protocoles spécifiques à encapsuler dans IPsec, ici nous encapsulons tout :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Protocole et Ports
  • Nous pouvons restreindre la règle à des profils spécifiques :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Profil
  • Enfin, spécifier le Nom de la règle :
Fenêtre de l'assistant Nouvelle règle de sécurité de connexion, étape Nom
  • Faire un ping vers le serveur et vérifier que l'association de sécurité est présente :
Console du Pare-feu Windows avec fonctions avancées de sécurité dans le menu des associations de sécurité

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 :
Console Windows Defender Firewall avec sécurité avancée
  • Dans l'onglet Paramètres IPsec, cliquer sur Personnaliser… :
Fenêtre des propriétés de Windows Defender Firewall avec sécurité avancée
  • Sélectionner Avancé et cliquer sur Personnaliser… :
Fenêtre de personnalisation des paramètres IPsec par défaut de Windows Defender Firewall avec sécurité avancée

Mode Principal

  • D'abord, supprimer les entrées existantes, puis activer Diffie-Hellman et enfin cliquer sur Ajouter… :
Fenêtre de personnalisation des paramètres avancés d'échange de clés de Windows Defender Firewall avec sécurité avancée
  • Changer les algorithmes par défaut :
Fenêtre d'ajout de méthode de sécurité de Windows Defender Firewall avec sécurité avancée

Mode Rapide

  • Activer Exiger le chiffrement, puis supprimer les algorithmes prédéfinis et enfin cliquer sur Ajouter… :
Fenêtre de personnalisation des paramètres de protection des données de Windows Defender Firewall avec sécurité avancée
  • Sélectionner ESP, puis modifier les algorithmes :
Fenêtre d'ajout d'algorithmes d'intégrité et de chiffrement de Windows Defender Firewall avec sécurité avancée

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