1. Livres & vidéos
  2. pfSense
  3. Gestion des certificats et PKI
Extrait - pfSense Administrez et sécurisez vos infrastructures réseau
Extraits du livre
pfSense Administrez et sécurisez vos infrastructures réseau Revenir à la page d'achat du livre

Gestion des certificats et PKI

Introduction

Les certificats numériques sont un pilier fondamental de la sécurité dans pfSense. Ils permettent de garantir l’authenticité, la confidentialité et l’intégrité des communications sur le réseau.

Qu’il s’agisse de sécuriser une interface web, un accès VPN, un portail captif ou des services internes, pfSense repose sur une infrastructure à clés publiques (PKI) bien intégrée et relativement simple à mettre en œuvre.

Concept de la PKI

Avant de manipuler des certificats dans pfSense, il est utile de comprendre les bases de la PKI (Public Key Infrastructure), ou infrastructure à clés publiques. La PKI s’appuie sur la cryptographie asymétrique, qui repose sur l’utilisation d’une paire de clés : une clé publique et une clé privée. La clé publique peut être librement distribuée et sert à chiffrer des données destinées au détenteur de la clé privée ou à vérifier une signature numérique. La clé privée, elle, est gardée secrète et permet de déchiffrer ou de signer des données reçues et de produire les signatures numériques. L’ensemble repose sur un élément central : l’autorité de certification (CA), qui est chargée de signer et de valider les certificats des entités ou services.

Dans pfSense, la PKI permet notamment de :

  • sécuriser l’accès à l’interface d’administration web en HTTPS ;

  • authentifier les connexions VPN (serveur et clients) ;

  • gérer l’accès sécurisé à un portail captif ;

  • automatiser la gestion des certificats avec Let’s Encrypt.

Comprendre cette logique vous permettra de gérer les certificats dans pfSense de manière plus...

Autorité de certification (CA)

L’autorité de certification (CA) est l’entité de confiance centrale qui signe et valide les certificats. Elle garantit l’authenticité et gère la révocation.

Le tableau ci-dessous présente les différents types d’autorité de certification :

Type de CA

Caractéristiques

CA racine

Auto-signée, clé hautement sécurisée (stockage offline obligatoire)

CA intermédiaire

Signée par CA racine, émet les certificats au quotidien

CA publique

Let’s Encrypt, DigiCert - reconnues par tous les navigateurs

CA privée

Interne à l’organisation, distribution manuelle sur les postes

Création d’une autorité de certification locale

Avant de pouvoir émettre des certificats, il faut créer une autorité de certification interne. C’est elle qui signera les certificats utilisés dans pfSense. Cela permet d’éviter de dépendre d’une autorité externe, et facilite le contrôle en interne.

Voici les étapes pour créer une autorité de certification :

 Allez dans Système - Certificats - Certificats.

 Cliquez sur Ajouter/Signer pour ajouter une nouvelle CA.

 Renseignez les informations suivantes :

  • Descriptive Name : CA_Local

  • Method : Create an internal Certificate Authority

  • Key length : 2048 ou 4096 bits

Le choix dépend du niveau de sécurité recherché et des performances attendues. Une clé de 2048 bits reste adaptée à la majorité des usages courants et offre de bonnes performances. Une clé de 4096 bits renforce la sécurité, mais demande davantage de ressources lors des opérations cryptographiques. Pour une autorité de certification locale ou des certificats sensibles, privilégiez 4096 bits. Pour des services courants ou des environnements modestes, 2048 bits peut suffire.

  • Digest Algorithm : SHA256

  • Common Name : CA_pfSense

 Cliquez sur Enregistrer.

Voici le résultat :

images/ch9-2-1.png

Création d’un certificat serveur signé par l’autorité de certification

Ce certificat sera utilisé pour sécuriser l’interface web de pfSense.

Voici les étapes à réaliser :

 Allez dans Système - Certificats.

 Cliquez sur Ajouter/Signer.

 Renseignez les champs suivants :

  • Descriptive Name : cert_pfsense_web

  • Method : Create an internal certificate

  • Certificate Authority : CA_Local

  • Type : Server Certificate

  • Common Name : l’adresse IP ou le FQDN de pfSense

Images/192.168.56.10.png

pfSense signale qu’un certificat serveur ne devrait pas dépasser 398 jours (13 mois). Cette limite est fixée par le CA/Browser Forum et ne s’applique qu’aux certificats émis par une autorité publiquement reconnue : une CA privée comme CA_Local n’y est pas soumise. S’y aligner reste toutefois une bonne pratique, car elle réduit la fenêtre d’exposition en cas de compromission de la clé et prépare à l’automatisation du renouvellement. À noter que cette limite se resserre : le CA/Browser Forum a acté un passage progressif à 47 jours d’ici mars 2029, ce qui rendra l’automatisation (ACME) incontournable.

 Cliquez sur Enregistrer.

 Pour appliquer le certificat à l’interface web, allez dans System - Advanced - Admin...

Utiliser l’autorité de certification locale pour OpenVPN

L’un des usages les plus fréquents des certificats dans pfSense est l’authentification pour les connexions OpenVPN.

 Allez dans VPN - OpenVPN - Wizards.

 Sélectionnez l’autorité de certification que vous venez de créer : CA_Local.

 Créez un certificat serveur pour OpenVPN.

 Suivez l’assistant pour configurer les paramètres du tunnel.

 Pour chaque utilisateur, créez un certificat client via Cert. Manager - Certificates.

 Téléchargez la configuration OpenVPN incluant le certificat, la clé privée et l’autorité de certification.

Révocation de certificats (CRL)

En cas de compromission ou de changement d’accès, il peut être nécessaire de révoquer un certificat. Pour ce faire :

 Allez dans Système - Certificats - Révocation.

 Cliquez sur Ajouter pour créer une CRL liée à votre CA.

 Cliquez sur Révocation en face du certificat concerné.

Bonnes pratiques

Créer une CA et émettre des certificats ne suffit pas : une infrastructure de certificats se maintient dans le temps. Quelques réflexes évitent les mauvaises surprises.

  • Adaptez la taille des clés à leur rôle. Générez celle de votre autorité en 4096 bits : elle vivra plusieurs années, et sa compromission rendrait suspects tous les certificats émis sous cette autorité. Pour les certificats serveurs, 2048 bits suffisent largement, puisqu’ils sont renouvelés régulièrement.

  • Protégez la clé privée de la CA. Sauvegardez-la dès sa création, mais rangez-la correctement : hors ligne, chiffrée, avec un accès restreint. Celui qui la détient peut fabriquer des certificats que tous vos postes accepteront sans souci.

  • Ne laissez jamais l’interface d’administration en HTTP. Vous venez de sécuriser votre réseau ; ce serait dommage d’y faire circuler vos identifiants en clair.

  • Tenez un inventaire : à quoi sert chaque certificat, où il est installé, quand il expire. Cela paraît fastidieux jusqu’au jour où un service tombe et où personne ne se souvient d’une échéance. Un simple tableau suffit.

  • Anticipez les renouvellements. Avec des durées de validité qui se raccourcissent...

Intégration Let’s Encrypt (ACME) dans pfSense

Dans un cadre professionnel ou partagé, avoir des certificats HTTPS valides et renouvelés régulièrement est primordial. pfSense offre une intégration directe avec le protocole ACME (Automated Certificate Management Environment), permettant l’acquisition et le renouvellement automatisés de certificats gratuits grâce à Let’s Encrypt.

1. Installation du paquet ACME

Pour installer le paquet ACME :

 Rendez-vous dans Système - Gestionnaire de paquets - Paquets disponibles.

 Recherchez le paquet acme et cliquez sur Install.

 Une fois installé, un nouveau menu apparaît sous Services - ACME Certificates

2. Configuration d’un certificat Let’s Encrypt

Une fois le paquet installé, vous pouvez créer un certificat automatisé pour votre interface web ou vos services VPN.

 Allez dans Services - Acme - Certificates.

 Cliquez sur Ajouter pour ajouter un nouveau certificat.

 Donnez-lui un nom explicite (ex. : cert_webgui).

 Dans la section Account keys, créez une nouvelle clé ACME si besoin.

images/ch9-7_2-1.png

 Puis, dans Services - Acme - Certificates, ajoutez un nouveau certificat.

 Complétez les différents champs selon vos besoins :

  • Dans Domain SAN list, entrez votre nom de domaine (ex. : firewall.mondomaine.fr).

  • Choisissez la méthode...