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
Pour une gestion complète de la planification des tâches, consultez nos guides sur cron et crontab et les systemd timers avancés.
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/).
Ressources complémentaires
- Utilisez OpenSSL pour gérer les certificats
- Automatisez avec cron et crontab
- Supervisez avec systemd services avancés
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.


