Cybersécurité

VPN en entreprise : déployer un accès distant sécurisé

6 min de lecture
VPN en entreprise : déployer un accès distant sécurisé

Ce que vous saurez faire à la fin

  1. Choisir entre OpenVPN, WireGuard, IPsec, Tailscale et SD-WAN.
  2. Installer un serveur WireGuard sur un VPS pour 5-50 utilisateurs.
  3. Configurer les clients Windows, Mac, Linux, iOS, Android.
  4. Sécuriser avec MFA, certificats et révocations.
  5. Déployer un VPN site-à-site entre 2 bureaux.

Durée : 1 journée pour un déploiement de base. Pré-requis : 1 serveur Linux Ubuntu 22.04 LTS (VPS chez Contabo, OVH, AWS, ~5-30 €/mois selon scale), nom de domaine pour DNS, 1 administrateur Linux confirmé, configuration réseau bureau accessible.

Étape 1 — Choisir le bon protocole VPN

Protocole Forces Faiblesses Cas d’usage
WireGuard Très rapide, simple, moderne Adoption récente 2026 : choix par défaut
OpenVPN Mature, stable, audité Lent vs WireGuard Compatibilité existante
IPsec / IKEv2 Natif iOS / Windows Configuration complexe Site-à-site fixe
Tailscale (Wireguard managé) Zéro config, mesh, MFA inclus SaaS payant pour features PME sans IT dédié
NetBird, Twingate Open source, zero trust Setup +long Alternatives à Tailscale
SD-WAN (Cisco, Aruba) Multi-sites entreprise Coût élevé 50+ sites

Étape 2 — Provisionner le VPS pour le serveur WireGuard

Commande : 1 vCPU + 1 Go RAM suffit pour 50 utilisateurs. Distribution : Ubuntu 22.04 LTS ou Debian 12. Configurez :

# Mise à jour et hardening initial
sudo apt update && sudo apt upgrade -y
sudo apt install -y wireguard ufw qrencode

# Pare-feu : autoriser SSH (changez 22 vers un port custom) et WireGuard
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp comment 'SSH custom'
sudo ufw allow 51820/udp comment 'WireGuard'
sudo ufw enable

Étape 3 — Générer les clés serveur

cd /etc/wireguard
sudo wg genkey | sudo tee privatekey | wg pubkey | sudo tee publickey
sudo chmod 600 privatekey

# Affichez la clé publique pour les configs clients
cat publickey

Étape 4 — Créer le fichier de config serveur

sudo nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <CLE_PRIVEE_SERVEUR>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

# Premier client (à dupliquer pour chaque utilisateur)
[Peer]
PublicKey = <CLE_PUBLIQUE_CLIENT_1>
AllowedIPs = 10.10.0.2/32

Étape 5 — Activer le forwarding IP et démarrer WireGuard

# Activer IP forwarding
sudo sed -i 's/^#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sudo sysctl -p

# Démarrer et activer au boot
sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0
sudo wg show

Étape 6 — Générer une config par utilisateur

Script bash add-client.sh pour automatiser. Il prend en paramètres le nom et l’IP, génère les clés, écrit la config client, ajoute le peer côté serveur, recharge WireGuard et affiche un QR code pour mobile. Vous le distribuez à votre admin réseau qui lance ./add-client.sh awa.diop 10.10.0.5 pour chaque nouvel utilisateur.

Étape 7 — Installer le client Windows

Téléchargez WireGuard pour Windows sur wireguard.com/install. Lancez. Importez le fichier .conf généré (Add Tunnel > Import tunnel from file). Cliquez Activate. Vérifiez : ipconfig dans cmd doit montrer une interface WireGuard avec IP 10.10.0.X.

Étape 8 — Installer le client Mac, iOS, Android

  • macOS : WireGuard sur App Store. Drag & drop du fichier .conf.
  • iOS : WireGuard sur App Store. Scannez le QR code généré (étape 6).
  • Android : WireGuard sur Play Store. Scannez QR ou importez .conf.
  • Linux : sudo apt install wireguard puis wg-quick up client.conf

Étape 9 — Configurer le DNS et le split-tunneling

Décidez du périmètre :

FULL TUNNEL (tout passe par VPN) :
AllowedIPs = 0.0.0.0/0
+ Sécurité maximale
- Plus lent (latence supplémentaire)

SPLIT TUNNEL (seulement réseaux pro via VPN) :
AllowedIPs = 10.10.0.0/24, 192.168.1.0/24
+ Performance
+ Économie de bande passante
- Pas de protection navigation perso

Étape 10 — Ajouter MFA avec un agent (zero-trust)

WireGuard pur n’a pas de MFA. Pour ajouter MFA :

  • Tailscale : intègre Google / Microsoft / Okta SSO + MFA natif (8 $/user/mois)
  • NetBird : alternative open-source avec SSO
  • Twingate : zero-trust avec MFA + posture check
  • WireGuard + Wg-meshconf + script auth : setup complexe

Pour PME < 30 utilisateurs : Tailscale est souvent le meilleur compromis.

Étape 11 — Configurer un VPN site-à-site (2 bureaux)

Cas : reliez bureau Dakar (192.168.1.0/24) à bureau Saint-Louis (192.168.2.0/24). Sur chaque routeur ou serveur Linux, installez WireGuard. Le serveur Dakar a en peer le serveur Saint-Louis :

[Peer]
# Bureau Saint-Louis
PublicKey = <PUB_SAINTLOUIS>
Endpoint = saintlouis.votredomaine.com:51820
AllowedIPs = 192.168.2.0/24, 10.20.0.2/32
PersistentKeepalive = 25

Symétrique côté Saint-Louis. Routes statiques côté pare-feu de chaque bureau.

Étape 12 — Surveiller les connexions VPN

Commandes utiles :

# Liste des peers connectés et trafic
sudo wg show

# Logs WireGuard (errors + handshakes)
sudo journalctl -u wg-quick@wg0 -f

# Monitor temps réel avec wg-easy (UI web)
docker run -d --name wg-easy   -e PASSWORD=changeme   -e WG_HOST=vpn.votredomaine.com   -p 51820:51820/udp -p 51821:51821/tcp   -v ~/.wg-easy:/etc/wireguard   --cap-add=NET_ADMIN ghcr.io/wg-easy/wg-easy

Interface web admin sur port 51821 : add / remove clients, voir trafic.

Étape 13 — Révoquer un utilisateur compromis

En cas de départ ou compromission :

# Identifier le peer dans /etc/wireguard/wg0.conf
sudo nano /etc/wireguard/wg0.conf
# Supprimer le bloc [Peer] de l'utilisateur

# Recharger sans interruption
sudo wg syncconf wg0 <(sudo wg-quick strip wg0)

# Vérifier qu'il est bien out
sudo wg show

Procédure documentée + délai SLA < 30 min après notification RH.

Étape 14 — Auditer la sécurité du VPN trimestriellement

Checklist :

  • Patches OS serveur à jour
  • Logs analysés (handshakes anormaux, pic de trafic)
  • Liste utilisateurs vs effectifs RH
  • Test de coupure : VPN inaccessible 5 min, comportement clients
  • Backup des configs et clés (chiffrées)
  • Test restauration sur serveur de test

Erreurs courantes en VPN d’entreprise

  • Mot de passe SSH faible sur le serveur VPN : on perd tout.
  • Clés privées partagées entre utilisateurs : impossible de tracer / révoquer.
  • VPN sans MFA : 1 mot de passe volé = accès LAN complet.
  • Pas de monitoring : brute force ou exfil non détectés.
  • Pas de plan B : serveur VPN tombe = télétravailleurs hors-ligne.

Checklist VPN entreprise

✓ Protocole choisi (WireGuard recommandé)
✓ Serveur Ubuntu sécurisé (firewall, SSH custom, no-root login)
✓ Configs clients par utilisateur (1 clé / personne)
✓ DNS interne + split-tunnel défini
✓ Clients déployés (Win, Mac, Linux, iOS, Android)
✓ MFA ajoutée (Tailscale ou agent SSO)
✓ Site-à-site configuré entre bureaux
✓ Monitoring temps réel (wg-easy ou similaire)
✓ Procédure de révocation documentée et testée
✓ Logs centralisés et alertes
✓ Backup des configs chiffrées
✓ Audit trimestriel calé
✓ Plan B (2e VPS, 4G d'urgence)
Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité