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.
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,
apt install python3-pip
apt-get install certbot
apt-get install python3-certbot-dns-ovh
On se rend sur le site de l'API d'OVH pour créer nos clés. Voici les droits à attribuer :
GET /domain/zone/
GET: /domain/zone/{domain}/
GET /domain/zone/{domain}/status
GET /domain/zone/{domain}/record
GET /domain/zone/{domain}/record/*
POST /domain/zone/{domain}/record
POST /domain/zone/{domain}/refresh
DELETE /domain/zone/{domain}/record/*
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
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 :