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).
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 :
Dans la section "Internal Certificate Authority", vous pourrez configurer des paramètres de sécurité, ainsi qu'à titre informatif pour votre autorité de certification :
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éé.
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 :
Dans la section "Internal Certificate", configurez ces paramètres :
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éé.
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 :
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.
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éé.
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 :
Pare-feu 21/5/2025
Pare-feu 28/5/2025
Pare-feu 4/6/2025
Pare-feu 9/7/2025
Contenu épinglé
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.
Vous devez être connecté pour pouvoir poster un commentaire