PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

PfSense : renouveler le certificat Let’s Encrypt avec l’API OVH

vendredi 4 mars 2022 à 10:00

I. Présentation

Dans ce tutoriel, nous allons voir comment automatiser le renouvellement d'un certificat Let's Encrypt via ACME et l'API OVH sur un pare-feu PfSense. Cette méthode basée sur l'API OVH permet de renouveler le certificat au niveau du pare-feu, ce qui est intéressant si l'on utilise PfSense en tant que reverse proxy.

Au sein de mon tutoriel "PfSense : reverse proxy HTTPS avec HAProxy et ACME (Let's Encrypt)", j'ai utilisé la méthode "DNS-Manual" pour demander le certificat Let's Encrypt. Il s'avère que cette méthode n'est pas très pratique, car elle nécessite de créer un enregistrement DNS de type "TXT" avec une valeur spécifique à chaque demande de renouvellement. Autrement dit, cela nécessite d'agir manuellement sur la zone DNS du domaine. En utilisant la méthode basée sur l'API OVH, ce processus de renouvellement du certificat Let's Encrypt est entièrement automatisé : une bonne nouvelle ! D'ailleurs, cette méthode peut être utilisée sur d'autres solutions où l'on implémente Let's Encrypt, comme sur un NAS Synology, par exemple.

Cette méthode est relativement simple à utiliser.... Suivez le guide. Je pars du principe que vous avez déjà un pare-feu PfSense et que le paquet ACME est déjà en place. Si besoin, référez-vous au tutoriel mentionné ci-dessus.

II. ACME et l'API OVH

Tout d'abord, il faut créer une clé d'API côté OVH afin de pouvoir gérer la zone DNS de cette façon. Cliquez sur le lien ci-dessous :

Création d'une clé d'accès à l'API OVH

Vous allez arriver sur le site "api.ovh.com" avec un formulaire à l'écran. Voici comment le compléter :

Lorsque c'est fait, cliquez sur "Create keys".

OVH API Let's Encrypt

Vous allez obtenir plusieurs valeurs, notamment deux clés et un secret : gardez ces valeurs bien au chaud. Ensuite, connectez-vous sur le pare-feu PfSens : Services > ACME Certificates. Dans l'onglet "Certificates", modifiez le certificat qui doit utiliser cette nouvelle méthode de validation (ou créez un certificat si vous n'en avez pas).

Au niveau de l'option "Domain SAN list", choisissez la méthode "DNS-ovh / kimsufi / soyoustart / runabove" : un formulaire va apparaître. Remplissez les valeurs "Application Key", "Application Secret" et "Consumer Key" avec les valeurs obtenues précédemment sur l'interface OVH. Pour l'API Endpoint, choisissez "OVH Europe" dans le cas où vous êtes un client OVH européen.

PfSense ACME OVH API

Validez tout en bas de la page. Une fois de retour sur la page certificat, demandé un renouvelle du certificat. L'opération va prendre 1 minute environ, car ACME va lui-même s'occuper de la création d'un enregistrement DNS temporaire, le temps que le certificat soit récupéré. Pendant ce processus, il va automatiquement attendre de voir si Let's Encrypt parvient à lire l'enregistrement DNS. On peut voir plusieurs étapes dans les logs qui s'affichent :

Checking authentication
Consumer key is ok.
Adding record
Added, sleep 10 seconds.
The txt record is added: Success.
Let's check each DNS record now. Sleep 20 seconds first
Not valid yet, let's wait 10 seconds and check next one.
Domain it-connect.tech '_acme-challenge.it-connect.tech' success.
All success, let's return
Removing DNS records

Etc... Puis le certificat s'affiche dans la console et les fichiers sont stockés sur votre pare-feu ! Voilà, le certificat SSL Let's Encrypt sera renouvelé automatiquement !

The post PfSense : renouveler le certificat Let’s Encrypt avec l’API OVH first appeared on IT-Connect.