Présentation

La présence d'un certificat SSL sur vos sites web est essentiel pour la sécurisation des transferts de données. Celui-ci est nécessaire pour le bon fonctionnement du protocole HTTPS, remplaçant du protocole HTTP.

Le protocole HTTPS (HyperText Transfer Protocol Secure) permet de sécuriser les échanges entre le serveur et le visiteur. On parle alors de communication chiffrée. Pour cela, HTTPS utilise un protocole de transport appelée SSL/TLS.

Avec Let's Encrypt, il est possible de générer des certificats SSL pour un domaine ou sous-domaine, mais il est également possible de générer un certificat pour plusieurs sous-domaines. On appelle ces certificats des certificats Wildcard. Ils certifient des noms DNS du type *.exemple.fr.

Préparatifs

Dans mon cas, mon nom de domaine est enregistré sur OVH. Pour générer le Wildcard, nous allons utiliser un plugin de certbot, dns-ovh.

Création de l'entrée DNS

Tout d'abord, il est important de créer un enregistrement de type A pointant vers votre serveur.

Dans votre tableau de bord OVH, on se rend dans notre zone DNS. (https://www.ovh.com/manager/web/#/zone/votredomaine.fr)

On clique sur “Ajouter un entrée” à droite, on choisit le champ de pointage “A”, on laisse la case “sous-domaine” vide puis dans la case “Cible”, on rentre l'adresse IP publique du serveur.

Installation des dépendances

apt install python3-pip
apt-get install certbot
apt-get install python3-certbot-dns-ovh

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

On se rend sur le site de l'API d'OVH pour créer nos clés. Voici les droits à attribuer :

On remplace {domain} par notre nom de domaine, sans les accolades. Par exemple : exemple.fr.

Accound ID correspond à votre Nichandle, présent dans l'interface de gestion de compte OVH, sous la forme xx11111-ovh.

On obtient ensuite une liste d'identifiants : Application Key, Application Secret, Consumer Key.

Sur notre serveur, on crée un fichier ".ovhapi". A titre d'exemple, je le place dans /root/. 

nano /root/.ovhapi

On rentre les identifiants sous cette forme :

dns_ovh_endpoint = ovh-eu
dns_ovh_application_key = xxx
dns_ovh_application_secret = xxx
dns_ovh_consumer_key = xxx

On attribue ensuite les droits sur ce fichier.

chmod 600 /root/.ovhapi

Génération du certificat Wildcard

La génération du certificat s'effectue en une seule ligne de commande :

certbot certonly --dns-ovh --dns-ovh-credentials ~/.ovhapi -d exemple.fr -d *.exemple.fr

Pensez bien à remplacer “exemple.fr” par votre nom de domaine.

Dans ce cas, le domaine exemple.fr ainsi que tous ses sous-domaines seront certifiés. Voici le résultat :