Tunnel VPN Client-to-Site avec OpenVPN et pfSense

Ce projet consiste en la création d'un tunnel VPN sécurisé en mode Client-to-Site grâce à OpenVPN et pfSense. L'objectif est de permettre un accès distant sécurisé à un réseau local, avec une authentification par certificats et des règles de pare-feu adaptées.

Schéma réseau

Schéma réseau OpenVPN

Le schéma ci-dessus illustre la topologie du réseau :

Étapes de configuration

1. Création de l'autorité de certification

La première étape consiste à créer une autorité de certification (CA) pour signer les certificats des clients et du serveur OpenVPN. Cela garantit que seules les machines autorisées peuvent se connecter au VPN.

Paramètres de la CA :

Champ Valeur
Descriptive name carrifiedServerSIO-amelaine
Method Create an Internal Certificate Authority
Key type RSA (3348 bits)
Digest Algorithm SHA256
Lifetime 3650 jours
Common Name Sio-Amelaine-OpenVPN

2. Génération du certificat serveur

Après la création de la CA, un certificat serveur est généré pour OpenVPN. Ce certificat est utilisé pour authentifier le serveur auprès des clients.

Paramètres du certificat serveur :

Champ Valeur
Descriptive name carrifiedServerSIO-amelaine
Certificate authority carrifiedServerSIO-amelaine
Key type RSA (3348 bits)
Digest Algorithm SHA256
Lifetime 3650 jours
Common Name Sio-Amelaine-OpenVPN

3. Configuration du serveur OpenVPN

Le serveur OpenVPN est configuré dans pfSense avec les paramètres suivants :

  • Server mode : Remote Access (SSL/TLS + User Auth)
  • Backend for authentication : Local Database
  • Device mode : tun - Layer 3 Tunnel Mode
  • Protocol : UDP on IPv4 only
  • Interface : WAN
  • Local port : 1194

Capture d'écran de la configuration :

Configuration OpenVPN

4. Mise en place des règles de pare-feu

Pour autoriser le trafic VPN, deux règles de pare-feu sont ajoutées :

Règle WAN

Autorise le trafic UDP sur le port 1194 pour les connexions OpenVPN entrantes.

Paramètres :

  • Interface : WAN
  • Protocol : UDP
  • Destination port range : 1194
  • Action : Pass

Règle Floating

Autorise le trafic entre le réseau VPN et le LAN.

Paramètres :

  • Interface : OpenVPN
  • Protocol : Any
  • Source : 10.10.58.0/24
  • Destination : LAN net
  • Action : Pass

5. Export de la configuration client

La configuration client est exportée depuis pfSense pour permettre aux utilisateurs de se connecter au VPN. Deux fichiers sont générés :

  • Un fichier de configuration OpenVPN (.ovpn)
  • Un installeur Windows pour OpenVPN (64-bit)

Options d'export :

  • Host Name Resolution : Interface IP Address
  • Verify Server CN : Automatic
  • Block Outside DNS : Activé
  • Silent Installer : Désactivé

6. Connexion au VPN

Pour se connecter au VPN, l'utilisateur doit :

  1. Installer OpenVPN GUI sur sa machine Windows.
  2. Importer le fichier de configuration (.ovpn) exporté.
  3. Lancer OpenVPN GUI et se connecter avec ses identifiants.

Exemple de logs de connexion :

Tue Dec 2 11:44:06 2025 OpenVPN 2.6.7 Windows version 10.0
Tue Dec 2 11:44:06 2025 Library versions: OpenSSL 3.1.4, LZO 2.10
Tue Dec 2 11:44:08 2025 Peer Connection Initiated with [AF_INET]172.20.10.3:3094
Tue Dec 2 11:44:09 2025 Initialization Sequence Completed
Tue Dec 2 11:44:09 2025 Set TAP-Windows TUN subnet mode network/local/netmask = 10.10.58.0/10.10.58.2
                

Une fois connecté, l'adresse IP de la machine change pour refléter le réseau VPN (ex. : 10.10.58.2).

Conclusion

Ce projet m'a permis de maîtriser la configuration d'un tunnel VPN sécurisé avec OpenVPN et pfSense. Les compétences acquises incluent :

Ce projet s'inscrit dans ma démarche pour allier réseau et cybersécurité, en vue de proposer des solutions d'accès distant sécurisées pour les entreprises.

Retour aux projets