Menu
InformatiWeb Pro
  • Index
  • Admin système
  • Virtualisation

Connexion

Inscription Mot de passe perdu ?
US
  • Windows Server
    • WMS 2012
    • WS2012 R2
    • WS2016
  • Citrix
    • Citrix NetScaler Gateway
    • Citrix XenApp / XenDesktop
    • Citrix XenServer
  • VMware
    • VMware ESXi
    • VMware vSphere
    • VMware Workstation
  • Microsoft
    • Hyper-V
  • RAID
    • Adaptec SmartRAID
    • Broadcom MegaRAID
  • UPS
    • APC Back-UPS Pro
  • Pare-feu
    • pfSense
  • InformatiWeb Pro
  • Admin système
  • Pare-feu
  • Créer un tunnel VPN site à site (S2S) via OpenVPN sécurisé avec SSL/TLS (mode L3) sous pfSense 2.6
  • Pare-feu
  • pfSense
  • 17 septembre 2025 à 09:32
  • InformatiWeb
  • 1/6

Créer un tunnel VPN site à site (S2S) via OpenVPN sécurisé avec SSL/TLS (mode L3) sous pfSense 2.6

Précédemment, nous vous avions expliqué comment créer un tunnel VPN site à site avec OpenVPN sous pfSense en le protégeant avec une clé partagée.
Néanmoins, dans ce tutoriel, nous vous expliquerons comment le faire en sécurisant OpenVPN grâce à des certificats SSL.

Note : comme pour le tunnel OpenVPN de notre tutoriel précédent, nous utiliserons une infrastructure virtuelle (dans notre cas) avec 2 sites : site 1 (Bruxelles) avec l'ID réseau "10.0.1.0/24" et site 2 (Paris) avec l'ID réseau "10.0.2.0/24".
Le serveur OpenVPN sera installé sur le site 1 (Bruxelles), car il s'agit du siège de l'entreprise et le client OpenVPN sera installé sur le site 2 (Paris). Si vous possédez d'autres sites géographiques dans votre cas, il vous suffira d'installer un client OpenVPN sous pfSense et de configurer ce qu'il faut (comme vous le verrez dans ce tutoriel).

  1. Configurer le site 1 à Bruxelles pour OpenVPN
    1. Créer une autorité de certification interne pour OpenVPN sur le serveur (site 1 - Bruxelles)
    2. Créer un certificat pour le serveur OpenVPN sur le site 1 (Bruxelles)
    3. Créer un certificat pour le client OpenVPN sur le site 2 (Paris)
    4. Exporter le certificat de la CA interne et les certificats clients
    5. Ajouter un serveur OpenVPN sous pfSense sur le site 1 (Bruxelles)
    6. Ajouter une configuration spécifique par client OpenVPN
    7. Autoriser l'accès au serveur OpenVPN depuis l'interface WAN sur le site 1 (Bruxelles)
    8. Autoriser le trafic réseau dans le tunnel OpenVPN vers le site 1 (Bruxelles)
  2. Configurer le site 2 à Paris pour OpenVPN
    1. Importer le certificat de l'autorité de certification interne sur le site 2 (Paris)
    2. Importer le certificat pour le futur client OpenVPN du site 2 (Paris)
    3. Ajouter un client OpenVPN sur le site 2 (Paris)
    4. Autoriser le trafic réseau dans le tunnel OpenVPN vers le site 2 (Paris)
  3. Vérifier le statut du tunnel OpenVPN
  4. Consultez les journaux (logs) pour OpenVPN
  5. Test du ping via le tunnel OpenVPN
  6. Test de l'accès à un site web d'un site distant
  7. Ajouter le widget OpenVPN sur le dashboard de pfSense (facultatif)

1. Configurer le site 1 à Bruxelles pour OpenVPN

1.1. Créer une autorité de certification interne pour OpenVPN sur le serveur (site 1 - Bruxelles)

Pour commencer, vous devez créer une autorité de certification qui sera utilisée par OpenVPN pour authentifier les clients sur votre serveur OpenVPN.
Le serveur OpenVPN possèdera un certificat de type "serveur" et les clients possèderont chacun un certificat différent de type "utilisateur".
Ces certificats émaneront de l'autorité de certification interne que vous allez créer sur la machine pfSense du site 1 (Bruxelles) où vous installerez plus tard le serveur OpenVPN.
Pour en savoir plus sur le fonctionnement d'une autorité de certification, référez-vous à notre article : WS 2016 - AD CS - Qu'est-ce qu'une CA et installer une CA d'entreprise.

Pour cela, sur le site 1 (Bruxelles), allez dans : System -> Cert. Manager.

Ensuite, dans l'onglet "CAs" de la page "System / Certificate Manager / CAs" qui s'affiche, cliquez sur : Add.

Sur la page qui s'affiche, dans la section "Create / Edit CA", configurez ces paramètres :

  • Descriptive name : indiquez un nom pour votre autorité de certification (CA) interne.
    Dans notre cas : VPNSiteToSiteCA.
  • Method : Create an internal Certificate Authority.
    Ce qui permet de créer une nouvelle paire de clés "clé publique / clé privée", ainsi qu'inscrire des certificats pour des serveurs ou des utilisateurs (clients VPN dans ce cas-ci).
  • Randomize Serial : cochez la case "Use random serial numbers when signing certificates" pour que les numéros de série des certificats émis par cette autorité de certification soient générés de façon aléatoire pour des raisons de sécurité.
    En effet, cela diminue fortement la possibilité de deviner le numéro de série d'un certificat.

Dans la section "Internal Certificate Authority", vous pourrez configurer des paramètres de sécurité, ainsi qu'à titre informatif pour votre autorité de certification :

  • Key type : laissez l'algorithme de chiffrement "RSA" sélectionné par défaut et utilisez une taille de clé de 2048 au minimum (pour des raisons de sécurité).
  • Digest Algorithm : sélectionnez l'algorithme "sha256" au minimum.
  • Lifetime (days) : durée de validité du certificat de l'autorité de certification. Par défaut : 3650 jours = 10 ans.
  • Common Name : nom de l'autorité de certification.
    Dans notre cas : VPNSiteToSiteCA.
  • Les autres paramètres sont facultatifs et vous permettent d'ajouter des attributs à titre indicatif, tels que : le pays et la ville où le serveur se trouve, le nom de votre entreprise, ...

Attention : lorsque le certificat d'une autorité de certification expire, les certificats émis par celle-ci deviennent invalides.
Pensez-y lorsque vous indiquez la durée de vie (Lifetime) de ce certificat d'autorité.

Votre certificat d'autorité de certification interne a été créé.

1.2. Créer un certificat pour le serveur OpenVPN sur le site 1 (Bruxelles)

Maintenant que vous possédez une autorité de certification interne, vous pouvez générer des certificats qui émaneront de celle-ci.
Pour cela, dans l'onglet "Certificates", cliquez sur : Add.

Note : le certificat SSL "webConfigurator default" que vous voyez dans la liste concerne simplement l'interface web que vous utilisez actuellement et qui est accessible en HTTPS.

Sur la page qui s'affiche, dans la section "Add/Sign a New Certificate", configurez ces paramètres :

  • Method : Create an internal Certificate. Permet de créer un nouveau certificat interne (pour un serveur ou un utilisateur).
  • Descriptive name : un nom pour ce certificat.
    Dans notre cas, il s'agit d'un certificat pour notre serveur OpenVPN de Bruxelles, donc nous avons indiqué "VPNserverBrux" comme nom.

Dans la section "Internal Certificate", configurez ces paramètres :

  • Certificate authority : l'autorité de certification qui doit émettre (signer) ce certificat.
    Sélectionnez l'autorité de certification (CA) créée précédemment. Dans notre cas : VPNSiteToSiteCA.
  • Key type : type et taille de la clé.
    Dans notre cas : RSA 2048. Ce qui correspond aux valeurs utilisées précédemment lors de la création du certificat de l'autorité de certification (CA).
  • Digest Algorithm : choisissez "sha256" comme lors de la création du certificat de votre CA interne.
  • Lifetime (days) : indiquez une durée de vie de maximum 398 jours pour des raisons de compatibilité avec certaines plateformes (d'après la documentation de pfSense).
    398 jours = 1 an, 1 mois et 2 jours.
  • Common Name : le nom commun de ce certificat. Ce nom est fictif, mais sera utilisé lors de la configuration d'OpenVPN.
    Dans notre cas, pour le serveur OpenVPN, nous avons indiqué "VPNserverBrux".
  • Country Code, ... : des options supplémentaires que vous pouvez compléter à titre indicatif. Comme pour le certificat de la CA interne.

Pour finir, dans la section "Certificate Attributes", sélectionnez "Server Certificate" et cliquez simplement sur Save.

Important : vous devez toujours sélectionner "Server Certificate" lorsque vous générez un certificat qui sera utilisé par un serveur OpenVPN.

Le certificat pour votre serveur OpenVPN a été créé.

1.3. Créer un certificat pour le client OpenVPN sur le site 2 (Paris)

Dans l'onglet "Certificates", cliquez à nouveau sur "Add".

Important : vous devez créer autant de certificats que de sites qui seront configurés avec un client OpenVPN.
En effet, lorsque OpenVPN fonctionne en mode SSL/TLS, il utilise les certificats clients pour identifier les clients OpenVPN.
De plus, vous pouvez attribuer des configurations spécifiques à un client OpenVPN en spécifiant le nom commun du certificat que vous créerez ici.
D'où l'importance de générer un certificat par site par client OpenVPN.

Dans notre cas, nous possédons 2 sites. Donc, le site 2 (Paris) sera à utiliser un client OpenVPN.

Dans la section "Add/Sign a New Certificate" de la page qui apparait, indiquez ceci :

  • Method : Create an internal Certificate.
  • Descriptive name : VPNclientParis. Dans notre cas, il s'agit d'un certificat pour le futur client OpenVPN de Paris.

Dans la section "Internal Certificate", indiquez les mêmes paramètres que pour le certificat précédent, excepté pour le nom commun (Common Name) du certificat.

  • Certificate authority : VPNSiteToSiteCA.
  • Common Name : VPNclientParis. Dans notre cas, ce certificat sera pour le client OpenVPN de Paris.
  • etc.

Sélectionnez "User Certificate" pour le type de certificat (Certificate Type) et cliquez sur : Save.

Important : vous devez toujours sélectionner "User Certificate" lorsque celui-ci doit être utilisé par un client OpenVPN.

Le certificat pour votre client OpenVPN a été créé.

1.4. Exporter le certificat de la CA interne et les certificats clients

Lorsque vous souhaiterez configurer un client OpenVPN sur un site distant (dans notre cas : celui de Paris), vous aurez besoin du certificat utilisateur correspondant à ce client OpenVPN.
Néanmoins, étant donné que celui-ci émane de votre autorité de certification interne créée sur le site 1 (Bruxelles), vous aurez aussi besoin du certificat de votre CA pour que la chaine de confiance soit complète.

Pour commencer, allez dans "System -> Certificate Manager", puis dans l'onglet "CAs".
Ensuite, cliquez sur l'icône représentant une étoile (encadrée en rouge) sur l'image ci-dessous pour exporter uniquement son certificat (qui contient notamment sa clé publique).

Attention : pour vérifier la signature et la validité d'un certificat, pfSense n'a besoin que du certificat de votre autorité de certification.
En effet, la vérification d'un certificat s'effectue grâce à la clé publique présente dans le certificat de votre autorité de certification.
La clé privée doit rester sur le serveur où vous avez créé votre autorité de certification et vos clients ne doivent jamais la connaitre. Sinon, ils pourraient créer des certificats valides émanant de votre autorité de certification (CA).

Ensuite, allez dans l'onglet "Certificates" et exportez le certificat (grâce à l'icône représentant une étoile), ainsi que la clé privée (grâce à l'icône représentant une clé) de chaque certificat utilisateur (User Certificate).

Important : le certificat et la clé privée concernant le serveur OpenVPN doivent rester sur ce serveur et NE doivent donc PAS être exportés.

Dans notre cas, nous avons donc 3 fichiers :

  • VPNclientParis.crt : le certificat de type utilisateur pour notre futur client OpenVPN que nous installerons sur le site 2 (Paris).
  • VPNclientParis.key : la clé privée associée au certificat ci-dessus.
  • VPNSiteToSiteCA.crt : le certificat (qui contient notamment sa clé publique) de notre autorité de certification (CA) interne "VPNSiteToSiteCA".

Page suivante

Partager ce tutoriel

Partager
Tweet

A voir également

  • pfSense 2.6 - Accès à l'interface web via l'interface WAN

    Pare-feu 21/5/2025

    pfSense 2.6 - Accès à l'interface web via l'interface WAN

  • pfSense 2.6 - Créer et utiliser des VLANs

    Pare-feu 28/5/2025

    pfSense 2.6 - Créer et utiliser des VLANs

  • pfSense 2.6 - Résolution DNS

    Pare-feu 4/6/2025

    pfSense 2.6 - Résolution DNS

  • pfSense 2.6 - Sécuriser l'interface web en HTTPS

    Pare-feu 9/7/2025

    pfSense 2.6 - Sécuriser l'interface web en HTTPS

Commentaires

Vous devez être connecté pour pouvoir poster un commentaire

Donnez-nous votre avis

Contenu épinglé

  • Logiciels (Admin système)
  • Logiciels Linux
  • Nos programmes
  • Conditions générales
  • Donnez votre avis

Contact

  • Livre d'or
  • Support technique
  • Contact

® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.

Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.