VPN : Site-à-site, client-to-site, IPsec et WireGuard
Le VPN (Virtual Private Network) crée un tunnel chiffré sur internet. En PME, il sert à connecter les agences entre elles, à permettre le télétravail sécurisé ou à accéder aux ressources internes depuis l'extérieur.
Les deux grands types de VPN
VPN site-à-site : connecte deux réseaux locaux entre eux via internet, de manière permanente. Les utilisateurs des deux sites accèdent aux ressources de l'autre réseau comme si c'était le même LAN.
Usage PME : relier le siège (Paris) à une agence (Lyon). Les employés lyonnais accèdent aux serveurs parisiens sans manipulation particulière.
VPN client-to-site (Remote Access VPN) : un utilisateur individuel (en télétravail, en déplacement) se connecte au réseau de l'entreprise depuis son poste.
Usage PME : télétravail, accès aux applications internes depuis l'extérieur.
IPsec : le protocole fondateur
IPsec (Internet Protocol Security) est la suite de protocoles standard pour les VPN. Il opère en couche 3 (réseau) et offre :
- Chiffrement (ESP : Encapsulating Security Payload) : les données sont illisibles sans la clé
- Authentification (AH : Authentication Header) : garantit l'intégrité et l'identité
- Gestion des clés (IKE : Internet Key Exchange) : négociation automatique des clés
IPsec a deux modes :
- Mode transport : chiffre uniquement le contenu (payload) : utilisé entre deux machines
- Mode tunnel : chiffre tout le paquet IP original et l'encapsule dans un nouveau paquet : utilisé pour les VPN
sequenceDiagram
participant A as Site Paris (pfSense)
participant I as Internet
participant B as Site Lyon (pfSense)
A->>I: Phase 1 IKE : négociation paramètres
I->>B: Transmission négociation
B-->>A: Accord sur chiffrement (AES-256, SHA-256)
A->>B: Phase 2 : tunnel IPsec établi
Note over A,B: Tout le trafic entre les deux sites est chiffré dans le tunnel
A->>B: Trafic chiffré (paquet original encapsulé)
B->>A: Trafic chiffré retour
WireGuard : le challenger moderne
WireGuard est un protocole VPN moderne, créé en 2015, intégré au noyau Linux depuis 2020. Il est radicalement plus simple qu'IPsec :
- ~4 000 lignes de code vs ~400 000 pour IPsec : surface d'attaque bien plus petite
- Performances supérieures : débit plus élevé, latence plus faible
- Configuration simple : fichier texte avec clé publique/privée (modèle similaire à SSH)
- Intégré à pfSense/OPNsense et disponible sur Windows, macOS, Linux, Android, iOS
Inconvénient : moins interopérable avec les équipements réseau d'entreprise anciens (Cisco, Juniper) qui ne supportent que IPsec/SSL.
Tunnel split vs tunnel full
Full tunnel : tout le trafic de l'utilisateur passe dans le tunnel VPN (y compris la navigation web). Le trafic internet sort par l'IP de l'entreprise.
- Avantage : contrôle total du trafic utilisateur, filtrage web centralisé
- Inconvénient : charge la bande passante de l'entreprise
Split tunnel : seul le trafic vers le réseau interne passe dans le tunnel. La navigation web sort directement par la connexion locale.
- Avantage : moins de bande passante consommée côté entreprise
- Inconvénient : moins de contrôle : l'utilisateur peut visiter des sites non filtrés
Cas concret
Un télétravailleurs appelle : il est connecté au VPN mais ne peut pas accéder au partage de fichiers \serveur\partage.
Diagnostic :
- Vérifier que le VPN est bien connecté (icône ou état dans le client VPN)
- Tester un ping vers l'IP du serveur (pas son nom) :
ping 192.168.1.50 - Si le ping réussit mais pas l'accès au partage → problème DNS ou pare-feu local
- Si le ping échoue → vérifier le split tunnel : le réseau 192.168.1.0/24 est-il inclus dans les routes VPN ?
- Vérifier les logs du VPN côté serveur pour confirmer l'authentification réussie
Erreurs fréquentes
- Utiliser des clés pré-partagées faibles (PSK) : utiliser au minimum 32 caractères aléatoires, ou mieux, des certificats.
- Laisser le port VPN par défaut exposé : IKE/IPsec utilise UDP 500 et 4500 : des scanners automatiques cherchent ces ports.
- Oublier de mettre à jour le client VPN : les vulnérabilités VPN (ex: Log4Shell sur certains VPN SSL) sont activement exploitées.
À retenir
- Site-à-site : relie deux réseaux permanents | Client-to-site : accès utilisateur individuel
- IPsec : standard éprouvé, complexe | WireGuard : moderne, simple, performant
- Full tunnel : tout passe par le VPN | Split tunnel : seul le trafic interne passe
- Toujours utiliser des clés/certificats forts pour l'authentification VPN
Mini-exercice
Sur pfSense ou OPNsense (VM de lab), installez WireGuard depuis le gestionnaire de paquets. Générez une paire de clés publique/privée pour le serveur. Notez la différence de simplicité avec une configuration IPsec IKEv2.