Voilà la solution la plus simple pour utiliser un certificat TLS de Let’s encrypt sur Pfsense et se débarrasser de vos certificats auto-signés!
La sécurité est de plus en plus primordiale et utiliser des certificats auto-signés à forcément des désavantages. Vous gardez complètement le contrôle de votre clé privée en passant par Let’s Encrypt pour créer votre certificat.
Pour ce tutoriel, la version de Pfsense est la 2.3.3 et les pré-requis suivants sont effectués :
– Création Enregistrement DNS (type A) pour matcher l’IP publique du firewall au CN du certificat crée.
– (si nécessaire) redirection du port 80 depuis routeur en amont pour accéder au port 80 de votre firewall.
Activez Let’s Encrypt sur PFSENSE
Allez dans System / Package Manager / Available Packages.
Vous y trouverez un paquet nommé « Acme« . Clique sur le bouton « install » pour le déployer.
Une fois installé, vous trouverez le menu Acme Certificates sous le bouton Services.
La première étape est de créer votre Account key. Pour ce faire, allez sur l’onglet Account keys
Entrez un nom dans le champ Name, puis une description dans Description
Sélectionnez le type Production dans le champ Acme Server
Puis, cliquez sur le bouton Create New account key.
Une clée privée apparaitra dans le champ Account Key
Et enfin cliquez sur Register Acme account Key puis sur Save
Maintenant, rendez-vous sur l’onglet Certificates pour créer le certificat. Cliquez sur le bouton Add.
Remplissez le champ Name, Description selon vos souhaits.
Vérifiez que Status est bien sur Active.
Sélectionnez le compte défini à l’étape précédente, dans le champ Acme Account
Key Size: 2048
Enfin dans le tableau, nous définirons le nom d’hôte du certificat (CN) qui évidemment doit matcher l’IP publique de votre firewall et le port utilisé pour ce challenge . En effet let’s encrypt fera un DNS challenge pour créer votre certificat et les pré-requis suivants sont indispensables :
– La valeur définie dans Domainname doit être associée à un IP (publique) accessible depuis let’s encrypt
– Créer les régles de firewall nécessaires pour rendre le port 80 accessible
– Si placement derrière un routeur en amont, créer les redirections de ports nécessaires
Exemple compliqué…
Nous sommes derrière un routeur et voulons utiliser le port 8082. (car le port 80 est déjà utilisé)
1 – création de la régle de redirection
Dans Firewall / NAT / Port Forward créez une régle qui redirige le port 80 vers l’ip WAN de votre PFSense :
Cette régle redirige les requêtes sur le port HTTP(80) vers le port 8082, ce qui permettra la validation par Let’s encrypt de votre demande.
Pfsense créera automatiquement la régle de firewall nécessaire liée à cette règle.
Création du certificat
Maintenant retournons dans le menu, Services / Acme certificates / Certificates
Cliquez sur le bouton Issue/renew.
Si les enregistrement DNS du Domainname utilisé et les redirections de ports éventuelles sont correctes, vous obtiendrez un certificat valide en quelques secondes et GRATUITEMENT!.
Pour voir votre certificat, rendez-vous dans System/Cert manager et vous pourrez l’utiliser pour les services de votre choix (Web configurator, portail captif, Décryptage SSL avec Squid..etc)
Comme tout certificat let’s encrypt, il n’est valable que quelques semaines mais pas de souci. Rendez-vous dans l’onglet Services / Acme Certificates / General settings pour activer le renouvellement automatique.
Bravo à Pfsense pour cette bonne intégration avec let’s encrypt qui était attendue de longue date.
Bonjour,
Merci pour ce tuto.
J’ai un serveur owncloud sur mon lan derrière pFsense qui est joignable sur le port 1234
Les utilisateurs se connectent sur mon interface WAN de pFsense et sont redirigé vers mon serveur owncloud avec une règle de port forward
Comment dois-je faire pour leur affecter un certificat ?