Let’s Encrypt – Création d’un wildcard avec son DNS
Prérequis
Avoir certbot >= 0.22
Génération de certificat wildcard avec édition manuelle de zone DNS
Pour générer un certificat en éditant manuellement la zone DNS, c’est aussi simple que :
$ cd /opt/eff.org/certbot/venv/bin/
$ ./certbot certonly --server https://acme-v02.api.letsencrypt.org/directory \
--manual -d '*.domain.tld'
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for domain.tld
-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.
Are you OK with your IP being logged?
-------------------------------------------------------------------------------
(Y)es/(N)o: y
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.domain.tld with the following value:
6CmoURMbv3F14hJdzR8zqXrhcYJeKWJEhT8xZcz4gUY
Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/domain.tldu/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domain.tld/privkey.pem
Your cert will expire on 2018-06-13. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again. To non-interactively renew *all* of your
certificates, run "letsencrypt-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Voici les options utilisées :
--server https://acme-v02.api.letsencrypt.org/directory
: On utilise l’API ACME v2--manual
on va créer l’entrée DNS pour le challenge manuellement-d '*.domain.tld'
le sujet du certificat qu’on souhaite émettre
Et le détail de ce qui s’est passé et des actions a effectuer :
- Tout d’abord, on aura des logs, c’est là qu’il faudra aller voir si quelque chose se passe mal
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- Nous avons demandé à créer les entrées pour le challenge manuellement (
--manual
) et ne souhaitons pas que certbot installe le certificat pour nous dans notre serveur web (certonly
)
Plugins selected: Authenticator manual, Installer None
- L’adresse IP de la machine qui initie la demande de certificat est enregistrée et disponible publiquement dans le cadre de la transparence sur l’émission des certificats. Si vous refuser, vous ne pourrez pas obtenir de certificat de la part de letsencrypt. Ce message et la question peuvent être évitée en ajoutant l’option
--manual-public-ip-logging-ok
-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.
Are you OK with your IP being logged?
-------------------------------------------------------------------------------
(Y)es/(N)o: y
- Vient ensuite la phase de challenge
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.domain.tld with the following value:
6CmoURMbv3F14hJdzR8zqXrhcYJeKWJEhT8xZcz4gUY
Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue
Il ne vous reste plus qu’à ajouter dans votre zone DNS une entrée de type TXT de nom _acme-challenge
et dont la valeur vous est fournie par letsencrypt (ici 6CmoURMbv3F14hJdzR8zqXrhcYJeKWJEhT8xZcz4gUY
) Par exemple, pour bind :
_acme-challenge IN TXT 6CmoURMbv3F14hJdzR8zqXrhcYJeKWJEhT8xZcz4gUY
Si nécessaire, attendez le temps de la bonne mise en place de votre entrée DNS et de sa propagation si votre DNS n’est pas très véloce, puis appuyez sur entrée et certbot se charge de demander à letsencrypt de vérifier le challenge.
- Enfin, si tout s’est bien passé, votre certificat est disponible dans
/etc/letsencrypt/live/domain.tld
Conclusion
Voilà pour cette première partie qui, je l’espère, vous aura permis de générer votre premier certificat wildcard. Dans un second article je détaille la génération de certificat letsencrypt avec édition automatique de la zone pour le service DNS AWS route53 ainsi que l’utilisation de script personnels pour l’édition de la zone DNS et nous appliquerons cette dernière méthode pour des domaines hébergés sur les DNS de Gandi et d’OVH.
Commentaires récents