Les certificats SSL/TLS sont essentiels pour sécuriser les échanges HTTPS.
Avec Let’s Encrypt et Certbot, vous pouvez obtenir des certificats gratuits et les renouveler automatiquement.
Dans cet article, nous allons voir comment automatiser la rotation des certificats SSL avec Certbot et cron.
Plan de l’article
- Installer Certbot
- Générer un certificat SSL/TLS
- Automatiser le renouvellement avec cron ou systemd
- Vérifier le renouvellement
- Bonnes pratiques de sécurité
- Conclusion
Installer Certbot
Sous Debian/Ubuntu :
sudo apt update
sudo apt install certbot python3-certbot-nginx
Sous CentOS/RHEL :
sudo yum install certbot python3-certbot-nginx
Générer un certificat SSL/TLS
Avec Nginx :
sudo certbot --nginx -d exemple.com -d www.exemple.com
Avec Apache :
sudo certbot --apache -d exemple.com -d www.exemple.com
👉 Le certificat est valide 90 jours.
Automatiser le renouvellement
Certbot installe automatiquement un timer systemd ou une tâche cron.
Vérifiez avec :
systemctl list-timers | grep certbot
Ou ajoutez une tâche cron manuelle :
0 3 * * * certbot renew --quiet
Vérifier le renouvellement
Tester le renouvellement :
sudo certbot renew --dry-run
Vérifier la validité :
openssl x509 -in /etc/letsencrypt/live/exemple.com/fullchain.pem -noout -enddate
Bonnes pratiques de sécurité
- Forcer le HTTPS avec une redirection 301.
- Utiliser des suites TLS modernes et désactiver les protocoles obsolètes.
- Configurer HSTS pour empêcher les downgrades en HTTP.
- Surveiller les logs de Certbot (
/var/log/letsencrypt/
).
Conclusion
Grâce à Certbot et cron, vous pouvez automatiser la rotation des certificats SSL/TLS et garantir une connexion HTTPS toujours valide.
Une étape essentielle pour la sécurité de vos services web en production.