====== Certbot : Challenge DNS OVH & Wildcard ====== ===== Installation des outils ===== Comme ces plugins nécessitent une des dernières versions de Certbot et qu’ils ne sont pas inclus par défaut, commençons par installer nos dépendances. Nous utiliserons **pip** afin de s’assurer d’obtenir une version récente, car les gestionaires de paquets des distributions livrent la plupart du temps des versions un peu datées… Si vous avez déjà une version installée par votre ppa préféré et que vous souhaitez la supprimer avant d’installer la version **pip**, assurez-vous de faire un petit backup de **/etc/letsencrypt**. En effet **apt purge certbot** effacera ce répertoire et vos certificats avec. apt install python3-pip pip3 install certbot pip3 install certbot-dns-ovh Nous installons **pip** de **python3**. C’est en effet la version de python la plus récente et elle est installée par défaut sur la plupart des systèmes. En outre, l’installation via **python2.x** pose des problèmes au niveau des dépendances. Dernier point de cette étape d’installation, la gestion des logs. Certbot log le résultat de chaque commande dans **/var/log/letsencrypt**. Cependant, **pip** ne configure aucune politique de rotation des logs. Afin que ces derniers ne s’ammassent pas indéfiniement, on va configurer **logrotate** pour qu’il les compresse puis qu’il les efface après 6 mois – comme un certificat a une durée de validité de 3 mois, ça semble être un bon compromis. On place donc un nouveau fichier de config **/etc/logrotate.d/certbot** avec le contenu suivant : /var/log/letsencrypt/*.log { monthly rotate 6 compress delaycompress notifempty missingok create 640 root adm } ===== Création des accès à l’API OVH ===== Deuxième étape, nous allons créer un accès à l’API d’OVH afin que le plugin puisse modifier des enregistrements pour vérifier que le domaine est bien à nous. Pour cela, rendez-vous sur la page de [[https://api.ovh.com/createToken/|création de Token API]] Assurez-vous de bien définir le token avec une validité illimitée et renseignez les droits comme ceci : * GET /domain/zone/* * PUT /domain/zone/* * POST /domain/zone/* * DELETE /domain/zone/* Après validation, il va falloir créer un fichier de configuration pour que Certbot puisse accéder aux identifiants de l’API. Vous pouvez enregistrer ce fichier où bon vous semble et le nommer comme il vous plaît. Pour ma part, c’est **/root/.ovhapi** et voici son contenu : dns_ovh_endpoint = ovh-eu dns_ovh_application_key = xxx dns_ovh_application_secret = xxx dns_ovh_consumer_key = xxx Vous remplacez évidemment les xxx par les informations obtenues lors de la création du token. Enfin, assurez-vous de paramétrer les droits d’accès de ce fichier en **600**, sans quoi Certbot émettra des warnings. **chmod 600 /root/.ovhapi.** ===== Génération des certificats ===== Une fois tout cela en place, nous pouvons générer nos certificats. Nous allons prendre buzut.fr en exemple, mais bien entendu, seulement les domaines gérés sur votre compte OVH pourront fonctionner. # génération du certificat pour buzut.fr et *.buzut.fr # ce sont deux certificats distincts mais ils seront groupés en un seul fichier certbot certonly --rsa-key-size 4096 --dns-ovh --dns-ovh-credentials ~/.ovhapi -d buzut.fr -d *.buzut.fr