01SISR · Solutions d'infrastructure

Mise en œuvre d'un VPN WireGuard sécurisé

Cette mission s'est articulée autour de deux axes principaux : la mise en place technique du serveur VPN et la gestion des accès sécurisés au travers de la rédaction d'une documentation.

Solutions d'infrastructureVPN / WireGuardSécurisation des accèsDebianProxmox VE

01Contexte et objectifs

L'objectif principal était de permettre un accès distant performant et hautement sécurisé aux ressources internes de l'entreprise pour les postes en télétravail.

Le choix s'est porté sur WireGuard, un protocole VPN moderne, rapide et léger. Pour garantir la traçabilité et la sécurité des flux, chaque utilisateur dispose de son propre tunnel d'interconnexion associé à une adresse IP dédiée.

02Installation et configuration du serveur

Le serveur VPN a été déployé sur une instance Linux locale. Les étapes clés de sa mise en œuvre ont été :

  • Activation du routage IPModification de la configuration du système Linux pour autoriser le serveur à rediriger et acheminer les paquets réseau des clients VPN directement vers le réseau local de l'entreprise.
  • Génération des clés du serveurCréation de la clé privée (gardée secrète) et de la clé publique pour sécuriser et chiffrer l'authentification.
⚠️ Incident rencontré
Problème

Une coupure de courant sur l'infrastructure a provoqué le non-redémarrage automatique de la machine virtuelle (VM) et la réinitialisation des paramètres de routage.

Solution

Configuration de la VM pour un redémarrage automatique dès le lancement de l'hyperviseur Proxmox VE, et mise en place d'un blocage de configuration persistant (sysctl) pour le routage de paquets sur le serveur VPN.

sysctl — routage IP
Capture d'écran de l'état d'activation du routage IP via sysctl
Capture indisponible — images/vpn/capture_routage.png
Cliquer pour agrandir
Vérification de l'activation du routage IP sur le serveur Linux (masquée pour la confidentialité).

03Configuration individualisée des fichiers clients

Pour chaque utilisateur, un processus rigoureux de configuration de bout en bout a été appliqué afin de cloisonner les accès :

  • Génération des clés propres à l'utilisateurCréation d'un couple unique comprenant une clé privée (stockée de manière sécurisée sur le poste client) et une clé publique (enregistrée sur le serveur).
  • Création du fichier de configuration personnaliséStructuration d'un fichier .conf nominatif (ex : VPN_VotrePrenom.conf) comprenant l'ensemble des directives d'accès et de routage nécessaires.
  • Déclaration du client sur le serveurLiaison et ajout de la clé publique de l'utilisateur ainsi que de son adresse IP dédiée au sein de la configuration globale du serveur VPN.
WireGuard — client
Capture d'écran de l'interface graphique du client VPN WireGuard
Capture indisponible — images/vpn/config_vpn_client.png
Cliquer pour agrandir
Exemple de configuration côté client masquée, montrant l'adresse IP masquée de l'utilisateur.

04Rédaction de la documentation utilisateur

Afin d'accompagner les collaborateurs dans la prise en main de ce nouvel outil, j'ai rédigé un guide technique interne détaillant pas à pas la procédure côté utilisateur :

  • Activation et connexionMéthode pour monter le tunnel VPN via l'interface graphique de l'application, validation visuelle de la connexion (l'indicateur d'état passe au vert) et vérification de l'accès sécurisé aux ressources internes de l'organisation.

05Procédures de tests et de validation

Pour valider la conformité de la solution, plusieurs phases de tests ont été menées :

  • Test d'établissement du tunnelActivation du VPN depuis un poste client situé à l'extérieur du réseau de l'entreprise (simulation de télétravail).
  • Vérification des liaisonsInterrogation du statut du serveur pour confirmer l'échange de clés réussi, la bonne liaison du pair (peer) et le transfert effectif de données.
wg show — handshake
Capture d'écran du résultat de la commande wg show sur le serveur
Capture indisponible — images/vpn/Handshake_client_vpn.png
Cliquer pour agrandir
Vérification de l'état de la connexion (wg show) masquée, montrant une connexion réussie et un transfert de données.
🔍 Problème rencontré lors des tests
Problème

Le tunnel ne parvenait pas à s'établir entre le client et le serveur.

Solution

L'analyse a révélé qu'une mauvaise clé publique client avait été saisie côté serveur. Après correction et réalignement des clés asymétriques, la connexion est devenue instantanément fonctionnelle.

  • Test d'accès aux servicesValidation finale réussie par l'ouverture et la manipulation à distance de l'interface d'administration de l'hyperviseur Proxmox via le tunnel VPN.