Let’s Encrypt avec Dehydrated

Mémo rapide sur Let’s Encrypt utilisé avec Dehydrated

Sources sont par là https://github.com/lukas2511/dehydrated

Perso, j’ai git clone dans /opt, puis :

  • Copier à la racine de /opt/dehydrated un un fichier exemple « config » (qui se trouve dans dossier doc) Peut être placé ailleurs comme /etc/dehydrated !
  • Passer en staging, idéalement. Deux lignes de serveurs à modifier dans config.
  • Créer un fichier  domain.txt avec le format qui va bien pour indiquer les domaines à traiter.

Puis

  • Créer un dossier comme /var/www/dehydrated  avec droits d’écriture qui vont bien.
  • Ajouter l’alias well know dans apache. Note: letsencrypt tape d’abord le port 80 (mais peut basculer en 443)

 

Alias /.well-known/acme-challenge /var/www/dehydrated
<Directory /var/www/dehydrated>
Options None
AllowOverride None
# Apache 2.4
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>

Tester

  1. ./dehydrated –register –accept-terms
  2. ./dehydrated –cron

Après staging,  virer le dossier cert créé si pour le domaine (si tout est ok) et passer en prod en changeant config. Refaire un –cron.

Bonus :

Exemple de confir d'apache
SSLEngine on
SSLCertificateFile    /opt/dehydrated/certs/<servername>/cert.pem
SSLCertificateKeyFile /opt/dehydrated/certs/<servername>/privkey.pem
SSLCertificateChainFile /opt/dehydrated/certs/<servername>/fullchain.pem

Exemple de choses à modifier pour SSL

SSLCipherSuite HIGH:!aNULL
SSLHonorCipherOrder on
SSLProtocol all -SSLv3 -SSLv2 -TLSv1 -TLSv1.1
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"