L’objetif est de générer automatiquement ses certificats Let’s Encrypt avec Certbot. Le scénario est le suivant :
- Certbot initie une demande
- Let’s Encrypt initie le Request Challenge
- Certbot met à jour Bind afin d’etre pret pour le Request Challenge
- Certbot informe à Let’s Encrypt que c’est prêt
- Let’s Encrypt verifie l’enregistrement DNS
- Let’s Encrypt fourni nos nouveaux certificat

Prerequis:
- Avoir installé certbot
- Avoir un serveur bind fonctionnel, le service est exécuté de préférence par un utilisateur spécifique, ex « bind ».
Point d’attention
Tester avec une seule clé nommée « tsig-key ».
Bind
Intégration
Générer les clés et on s’assure que les fichiers sont lisibles par l’utilisateur bind.
tsig-keygen -a hmac-sha512 tsig-key > /etc/bind/tsig.key
tsig-keygen -a hmac-sha512 tsig-key > /etc/bind/rndc.key
chown bind: /etc/bind/tsig.key
chown bind: /etc/bind/rndc.key
Les clés générées sont au format suivant :
key "tsig-key" {
algorithm hmac-sha512;
secret "secret==";
};
Partie à ajouter dans named.conf.local :
include "/etc/bind/tsig.key";
zone "jbsky.fr" IN {
update-policy {
grant tsig-key name _acme-challenge.www.jbsky.fr. TXT;
grant tsig-key name _acme-challenge.mail.jbsky.fr. TXT;
};
type master;
file "/etc/bind/db.jbsky.fr";
};
Test
On test la commande suivante en local afin de vérifier si la mise à jour fonctionne.
KEYFILE=/etc/bind/tsig.key
nsupdate -d -k $KEYFILE <<EOT
server ns1.jbsky.fr
zone jbsky.fr.
update add _acme-challenge.mail.jbsky.fr. 10 txt yellow
send
EOT
