Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 714 minAvancé

VPN : IPsec, WireGuard et OpenVPN

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • distinguer VPN nomade et site à site, tunnel complet et partagé ;
  • comparer IPsec, OpenVPN et WireGuard pour choisir selon le besoin ;
  • configurer un tunnel IPsec ou WireGuard et ses règles de filtrage ;
  • sécuriser une passerelle VPN et les accès distants.

4 exercices corrigés1 schéma

Un VPN (Virtual Private Network, réseau privé virtuel) crée un tunnel chiffré à travers Internet entre deux réseaux, ou entre un appareil et le réseau de l'entreprise : les échanges qui y passent sont confidentiels, intègres et authentifiés, comme s'ils circulaient sur un câble privé. Ce chapitre distingue VPN nomade et VPN site à site, compare IPsec, OpenVPN et WireGuard, montre comment configurer un tunnel entre deux sites et un accès nomade, et liste les règles de sécurité d'une passerelle VPN, l'un des équipements les plus attaqués.

Pourquoi un VPN chez Sorbier

Trois besoins justifient un VPN chez Sorbier Logistique :

  • les nomades : quatre commerciaux et techniciens se déplacent chaque semaine et doivent accéder à l'application de gestion et aux partages depuis l'hôtel, le client ou la maison ;
  • le second site : Sorbier ouvre un entrepôt à Mâcon, avec son propre réseau 192.168.20.0/24, qui doit joindre les serveurs du siège ;
  • l'administration à distance : le prestataire d'astreinte doit pouvoir intervenir la nuit, sans qu'aucun port d'administration soit ouvert sur Internet.

Dans les trois cas, l'alternative serait d'exposer des services sur Internet (le partage de fichiers, le bureau à distance), ce qui est exactement ce qu'il ne faut jamais faire.

Les notions de base

  • Tunnel : les paquets internes sont encapsulés dans d'autres paquets, chiffrés, qui voyagent sur Internet entre les deux extrémités du tunnel. Un observateur ne voit que des paquets chiffrés entre deux adresses publiques.
  • VPN nomade (client-to-site, accès distant) : un logiciel client sur l'ordinateur portable établit le tunnel vers la passerelle de l'entreprise. Le portable reçoit une adresse d'un réseau dédié aux nomades.
  • VPN site à site (site-to-site) : deux passerelles (deux pare-feu) établissent un tunnel permanent. Les postes des deux sites communiquent sans rien installer : le tunnel est transparent pour eux.
  • Tunnel complet (full tunnel) : tout le trafic du nomade passe par le VPN, y compris sa navigation sur Internet, qui est alors filtrée par le pare-feu et le proxy de l'entreprise.
  • Tunnel partagé (split tunnel) : seul le trafic destiné aux réseaux de l'entreprise passe par le VPN ; le reste sort directement par la connexion locale. Moins de charge sur le lien du siège, mais la navigation du nomade échappe au filtrage de l'entreprise.
InternetSiègepare-feu 203.0.113.17192.168.10.0/24Entrepôt de Mâconpare-feu 198.51.100.40192.168.20.0/24VPN site à site (IPsec)tunnel chiffré permanentCommercialà l'hôtel, 10.8.0.11VPN nomade(WireGuard)Sur Internet, on ne voit que des paquets chiffrés entre les deux extrémités d'un tunnel.
VPN site à site entre les deux sites, VPN nomade pour les commerciaux

Les protocoles

IPsec est une suite de protocoles normalisée, intégrée à tous les pare-feu et à Windows. Elle comprend :

  • IKE (aujourd'hui IKEv2, UDP 500) qui authentifie les deux extrémités (par certificat ou clé partagée) et négocie les clés ;
  • ESP (protocole IP n° 50) qui chiffre et authentifie les paquets ; quand un routeur NAT se trouve sur le chemin, ESP est encapsulé dans UDP 4500 (NAT-T) ;
  • AH (protocole IP n° 51) qui authentifie sans chiffrer. Il protège aussi les adresses de l'en-tête IP, ce qui le rend incompatible avec le NAT : on ne l'utilise pratiquement plus.

IPsec fonctionne en mode tunnel (tout le paquet d'origine est chiffré et encapsulé, le cas des VPN) ou en mode transport (seule la charge utile est protégée, entre deux machines).

OpenVPN est un logiciel libre qui construit le tunnel au-dessus de TLS, sur un seul port (UDP 1194 par défaut, ou TCP 443 pour traverser les réseaux restrictifs). Il s'appuie sur une PKI : un certificat par utilisateur, signé par l'AC de l'entreprise, souvent complété d'un identifiant de l'annuaire et d'un second facteur.

WireGuard est le plus récent (intégré au noyau Linux depuis 2020). Son code est très court, donc plus facile à auditer, et il n'offre aucun choix d'algorithmes : Curve25519 pour l'échange de clés, ChaCha20-Poly1305 pour le chiffrement. Chaque pair est identifié par sa clé publique, comme une clé SSH, et le trafic passe sur un seul port UDP (51820 par défaut). Il ne gère ni comptes utilisateurs ni MFA par lui-même : on les ajoute avec une solution autour (portail d'inscription, ZTNA).

IPsec (IKEv2)OpenVPNWireGuard
TransportUDP 500 et 4500, ESP (protocole 50)UDP 1194 par défaut, ou TCPUDP 51820 par défaut
ChiffrementAES-GCM (IKEv2)AES-GCM, ChaCha20-Poly1305ChaCha20-Poly1305
AuthentificationCertificats ou clé partagée, EAP pour les utilisateursCertificats, plus identifiant et MFAClés publiques des pairs
Usage typiqueSite à site entre pare-feu de marques différentes ; nomades avec le client natif de WindowsNomades, réseaux restrictifsNomades et site à site entre équipements qui le gèrent
ConfigurationRiche, donc plus de risques d'erreurMoyenneTrès simple

Les pare-feu commerciaux proposent aussi des VPN SSL propriétaires, avec un portail web. Pratiques, ils ont été la cible de nombreuses failles critiques ces dernières années (passerelles Fortinet, Ivanti, Citrix, entre autres), régulièrement exploitées pour entrer dans les réseaux : leur mise à jour est une urgence absolue à chaque alerte du CERT-FR.

Configurer un VPN site à site IPsec

Entre le pare-feu du siège (203.0.113.17) et celui de Mâcon (198.51.100.40), on configure les deux phases d'IPsec avec des paramètres identiques des deux côtés (les écrans de pfSense sont détaillés au chapitre VPN IPsec site à site du cours pfSense) :

PhaseParamètreValeur choisie
Phase 1 (IKE)VersionIKEv2
AuthentificationCertificats signés par l'AC interne (ou clé partagée longue et aléatoire)
Chiffrement, intégritéAES-256-GCM, fonction pseudo-aléatoire SHA-256
Groupe Diffie-Hellman19 (courbe P-256) ou 31 (Curve25519)
Durée de vie8 heures, puis renégociation
Phase 2 (ESP)Réseau local, réseau distant192.168.10.0/24 ↔ 192.168.20.0/24
ChiffrementAES-256-GCM
Confidentialité persistante (PFS)Groupe 19
Durée de vie1 heure

Sur pfSense : VPN > IPsec > Tunnels, une entrée de phase 1 vers l'adresse distante, puis une entrée de phase 2 par paire de réseaux. Il faut ensuite deux séries de règles :

InterfaceSourceDestinationPort, protocoleActionRôle
WAN198.51.100.40WAN addressUDP 500, UDP 4500AutoriserNégociation IKE et NAT-T depuis Mâcon seulement
WAN198.51.100.40WAN addressESPAutoriserPaquets chiffrés
IPsec192.168.20.0/24192.168.10.179TCP 443AutoriserL'entrepôt utilise l'application de gestion
IPsec192.168.20.0/24192.168.10.177DNS, Kerberos, LDAP…AutoriserServices de domaine
IPsec***BloquerRien d'autre ne traverse le tunnel

Configurer un VPN nomade avec WireGuard

Chaque appareil reçoit une paire de clés. Sur Linux, wg genkey | tee prive.key | wg pubkey > public.key les produit ; les clients Windows, macOS et mobiles les génèrent eux-mêmes. Voici la configuration de la passerelle (sur pfSense, les mêmes champs se remplissent dans l'interface web : voir OpenVPN et WireGuard sur pfSense) :

ini
# Passerelle du siège
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <clé privée de la passerelle>

# Portable de Léa, commerciale
[Peer]
PublicKey = <clé publique du portable de Léa>
AllowedIPs = 10.8.0.11/32

Et celle du portable de Léa :

ini
[Interface]
Address = 10.8.0.11/32
PrivateKey = <clé privée du portable>
DNS = 192.168.10.177

[Peer]
PublicKey = <clé publique de la passerelle>
Endpoint = 203.0.113.17:51820
AllowedIPs = 192.168.10.0/24
PersistentKeepalive = 25

AllowedIPs a deux rôles. Côté passerelle, c'est une liste de contrôle : la passerelle n'accepte de ce pair que des paquets venant de 10.8.0.11. Côté client, c'est la table de routage : seuls les paquets vers 192.168.10.0/24 entrent dans le tunnel, c'est un tunnel partagé. Avec AllowedIPs = 0.0.0.0/0, ::/0, tout le trafic passerait dans le tunnel : tunnel complet. La clé privée ne quitte jamais l'appareil : seule la clé publique est échangée.

Il reste à écrire les règles de l'interface WireGuard du pare-feu : le réseau nomade 10.8.0.0/24 joint l'application de gestion, les partages et le DNS, et rien d'autre ; et sur le WAN, UDP 51820 est autorisé vers le pare-feu.

Sécuriser l'accès distant

Une passerelle VPN est exposée à tout Internet, et elle ouvre la porte du réseau interne : c'est une cible prioritaire.

  • Mettre à jour la passerelle sans délai à chaque alerte : beaucoup d'intrusions récentes ont commencé par une faille de VPN non corrigée.
  • Authentifier fortement : certificat ou clé propre à chaque appareil, plus un identifiant personnel et un second facteur (application d'authentification, clé de sécurité FIDO2). Un mot de passe seul, volé par hameçonnage, suffirait à entrer.
  • Un accès par personne, jamais de compte VPN partagé, et une révocation immédiate au départ d'un salarié ou à la perte d'un portable (révoquer son certificat, supprimer sa clé publique de la passerelle).
  • Filtrer le trafic des nomades comme celui de n'importe quelle zone : ils joignent les services dont ils ont besoin, pas tout le réseau.
  • Journaliser les connexions (qui, quand, depuis quelle adresse, combien de temps) et surveiller les anomalies : une connexion depuis un pays inhabituel, deux connexions simultanées du même compte depuis deux pays.
  • Vérifier l'appareil : poste de l'entreprise, chiffré, à jour, avec un EDR ; un ordinateur personnel ne devrait pas obtenir un accès complet au réseau.
  • Choisir le tunnel complet quand la navigation des nomades doit rester filtrée et tracée ; le tunnel partagé quand le débit du siège est limité, en compensant par un filtrage DNS ou un proxy en nuage sur les portables.

Une alternative gagne du terrain : le ZTNA (Zero Trust Network Access). Au lieu d'ouvrir un tunnel vers un réseau entier, il donne accès à une application précise, après vérification de l'identité et de l'état de l'appareil, à chaque connexion (chapitre 3).

Pour aller plus loin. Diffie-Hellman, qui permet aux deux extrémités d'un tunnel de se mettre d'accord sur une clé, est expliqué dans le chapitre Chiffrement asymétrique du cours Cryptographie, et l'ajout d'un second facteur à la connexion VPN dans le chapitre MFA du cours Authentification.

Exercices

Exercice 1 sur 4 Quel type de VPN ? Réussi À revoir

Pour chaque besoin, choisis un VPN nomade ou un VPN site à site, et un protocole adapté. Justifie.

  1. Relier en permanence le siège (pare-feu pfSense) à une agence équipée d'un pare-feu Stormshield.
  2. Permettre à une technicienne d'accéder depuis chez elle aux interfaces d'administration, avec le client intégré de Windows 11.
  3. Équiper rapidement les téléphones et les portables des commerciaux, avec une configuration simple et des performances élevées.
  4. Se connecter depuis l'hôtel d'un client dont le réseau ne laisse sortir que TCP 443.
Voir la réponseMasquer la réponse de l'exercice 1
  1. Site à site IPsec (IKEv2) : protocole normalisé, compris par des pare-feu de marques différentes ; tunnel permanent et transparent pour les postes.
  2. Nomade IPsec IKEv2 : Windows intègre un client IKEv2, sans logiciel à installer ; authentification par certificat machine plus identifiant et MFA. L'accès doit mener au réseau d'administration ou au bastion, pas à tout le réseau.
  3. Nomade WireGuard : configuration minimale (une paire de clés par appareil), clients sur tous les systèmes, très bonnes performances, notamment sur mobile.
  4. Nomade OpenVPN en TCP 443 : il peut fonctionner sur un seul port TCP, que le réseau de l'hôtel laisse passer. IPsec (UDP 500 et 4500) et WireGuard (UDP) seraient bloqués.

Tu avais trouvé ?

Exercice 2 sur 4 Ouvrir le pare-feu pour IPsec Réussi À revoir

Le pare-feu du siège doit accepter le tunnel IPsec de l'entrepôt de Mâcon (198.51.100.40), qui passe derrière un routeur NAT de l'opérateur. Écris les règles nécessaires sur l'interface WAN. Explique pourquoi AH ne peut pas être utilisé ici.

Voir la réponseMasquer la réponse de l'exercice 2
InterfaceSourcePort sourceDestinationPort destinationProtocoleAction
WAN198.51.100.40*203.0.113.17500UDPAutoriser (IKE)
WAN198.51.100.40*203.0.113.174500UDPAutoriser (NAT-T : ESP encapsulé dans UDP)
WAN198.51.100.40—203.0.113.17—ESP (protocole 50)Autoriser (si pas de NAT sur le chemin)

La source est limitée à l'adresse de Mâcon : personne d'autre n'a à négocier ce tunnel. AH authentifie aussi les adresses de l'en-tête IP ; le routeur NAT de l'opérateur modifie l'adresse source, donc la vérification d'AH échoue à l'arrivée. ESP, lui, ne protège pas l'en-tête IP extérieur et passe le NAT grâce à NAT-T.

Tu avais trouvé ?

Exercice 3 sur 4 Tunnel complet ou partagé ? Réussi À revoir

Le portable de Léa a cette configuration WireGuard : AllowedIPs = 192.168.10.0/24.

  1. Sa navigation sur Internet passe-t-elle par le pare-feu du siège ?
  2. La direction veut que la navigation des nomades soit filtrée comme celle des postes du siège. Que modifies-tu ? Quelle conséquence sur le lien Internet du siège ?
Voir la réponseMasquer la réponse de l'exercice 3
  1. Non : seuls les paquets vers 192.168.10.0/24 entrent dans le tunnel (tunnel partagé). Le reste sort directement par la connexion de l'hôtel, sans filtrage de l'entreprise.
  2. Passer en tunnel complet : AllowedIPs = 0.0.0.0/0, ::/0 côté client, puis, sur le pare-feu, autoriser le réseau nomade 10.8.0.0/24 vers Internet en HTTP et HTTPS (via le proxy) et vérifier que le NAT sortant couvre ce réseau. Conséquence : toute la navigation des nomades passe deux fois par le lien du siège (entrée dans le tunnel, puis sortie vers Internet), ce qui consomme sa bande passante.

Tu avais trouvé ?

Exercice 4 sur 4 Départ d'un salarié Réussi À revoir

Un technicien quitte Sorbier ce soir. Il avait un accès VPN OpenVPN (certificat personnel plus identifiant de l'annuaire) et un accès WireGuard sur son téléphone. Liste les actions à mener sur l'accès distant et justifie chacune.

Voir la réponseMasquer la réponse de l'exercice 4
  • Révoquer son certificat OpenVPN dans l'AC et publier la nouvelle liste de révocation, que la passerelle consulte : le certificat ne permettra plus de se connecter, même s'il en a gardé une copie.
  • Désactiver son compte dans l'annuaire : l'identifiant ne fonctionne plus, pour le VPN comme pour le reste.
  • Supprimer la clé publique de son téléphone des pairs WireGuard de la passerelle : sans elle, la passerelle ignore ses paquets.
  • Vérifier les journaux de ses dernières connexions et fermer ses sessions en cours.
  • Si un compte ou un mot de passe partagé existait (ce qui ne devrait pas être le cas), le changer.

Chaque accès étant personnel, on peut couper ceux d'une seule personne sans gêner les autres : c'est l'intérêt de ne jamais partager un accès VPN.

Tu avais trouvé ?

Chapitre terminé !

Fais les 4 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Sécuriser le Wi-Fi : WPA3, 802.1X, RADIUS et portail captifRevoir le sommaire du cours