Un certificat SSL expiré n'est pas juste un avertissement ennuyeux dans le navigateur. C'est une interruption de service, une perte de confiance des visiteurs, et une dégradation immédiate de votre référencement. Pour une PME, cela peut représenter des milliers d'euros de ventes perdues en quelques heures.
Ce guide vous explique l'impact réel, comment vérifier et renouveler votre certificat, et comment automatiser pour que ce problème ne se reproduise plus.
Impact d'un Certificat SSL Expiré
Sécurité dégradée
Un certificat TLS garantit deux choses : l'identité de votre serveur (les utilisateurs savent à qui ils parlent) et le chiffrement des échanges (personne ne peut intercepter les données en transit). Quand il expire, cette garantie disparaît.
Les navigateurs modernes — Chrome, Firefox, Safari, Edge — affichent une page d'avertissement rouge bloquante avant même que l'utilisateur puisse accéder à votre site. La majorité des visiteurs ne passent pas outre.
Impact SEO
Google a confirmé que HTTPS est un signal de classement depuis 2014. Un certificat expiré provoque deux effets négatifs :
- Baisse directe : Googlebot peut déclasser votre site s'il rencontre des erreurs SSL répétées
- Hausse du taux de rebond : Les visiteurs qui arrivent sur la page d'avertissement repartent immédiatement, ce signal comportemental négatif est capté par les algorithmes
La Search Console Google peut également marquer votre site comme "non sécurisé" dans ses rapports, ce qui déclenche des alertes supplémentaires.
Conformité RGPD
Si votre site collecte des données personnelles (formulaires, e-commerce, newsletter), un certificat expiré peut être considéré comme un manquement à l'obligation de sécurité des données prévue par l'article 32 du RGPD. Les sanctions de la CNIL peuvent atteindre 4 % du chiffre d'affaires mondial.
Comment Vérifier l'État de Votre Certificat
Via le navigateur
Cliquez sur le cadenas dans la barre d'adresse de Chrome ou Firefox, puis sur "La connexion est sécurisée" > "Le certificat est valide". Vous verrez la date d'expiration.
En ligne de commande
# Vérifier l'expiration d'un domaine
openssl s_client -connect votredomaine.com:443 -servername votredomaine.com 2>/dev/null \
| openssl x509 -noout -dates
# Résultat :
# notBefore=Jan 1 00:00:00 2025 GMT
# notAfter=Mar 31 23:59:59 2026 GMT
Avec curl
curl -vI https://votredomaine.com 2>&1 | grep -E "expire date|start date|subject"
Renouvellement : Let's Encrypt vs Certificat Commercial
Let's Encrypt (gratuit, 90 jours)
Let's Encrypt est l'autorité de certification gratuite la plus utilisée au monde. Ses certificats expirent tous les 90 jours, ce qui semble court mais force l'automatisation — un comportement sain.
Avantages : gratuit, largement supporté, automatisable Limites : pas de validation étendue (EV), certificats wildcard nécessitent une configuration DNS supplémentaire
# Renouvellement manuel avec Certbot (si déjà installé)
sudo certbot renew
# Renouvellement d'un seul domaine
sudo certbot renew --cert-name votredomaine.com
Certificats commerciaux (payants, 1 an)
Les certificats commerciaux (DigiCert, Sectigo, GlobalSign) offrent :
- Validations OV (Organization Validation) ou EV (Extended Validation)
- Garanties financières en cas de fraude
- Support technique dédié
- Durée d'un an (limite imposée par les navigateurs depuis 2020)
Pour la plupart des PME, Let's Encrypt avec automatisation du renouvellement est suffisant. Les certificats EV ont un intérêt pour les sites bancaires ou e-commerce à fort volume.
Automatiser le Renouvellement
Avec Certbot et systemd (recommandé)
# Vérifier que le timer systemd est actif
sudo systemctl status certbot.timer
# S'il n'est pas actif, l'activer
sudo systemctl enable certbot.timer
sudo systemctl start certbot.timer
# Tester le renouvellement sans l'effectuer
sudo certbot renew --dry-run
Le timer systemd de Certbot vérifie automatiquement deux fois par jour si un renouvellement est nécessaire (30 jours avant expiration par défaut).
Avec cron (alternative)
# Ajouter au crontab (vérification quotidienne à 3h00)
0 3 * * * /usr/bin/certbot renew --quiet --deploy-hook "systemctl reload nginx"
Reload automatique après renouvellement
Le certificat renouvelé ne prend effet que si votre serveur web est rechargé. Certbot gère cela avec les "deploy hooks" :
# /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh
#!/bin/bash
systemctl reload nginx
chmod +x /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh
Cas Particuliers
Hébergement mutualisé (cPanel, Plesk)
La plupart des hébergeurs mutualisés proposent AutoSSL ou Let's Encrypt intégré dans leur panneau de contrôle. Vérifiez que l'option est activée et que l'email de notification est valide.
Cloudflare ou CDN
Si vous utilisez Cloudflare en mode proxy, c'est Cloudflare qui gère le certificat côté visiteurs. Votre certificat origin peut être auto-signé ou expiré sans impact immédiat visible. Vérifiez tout de même votre certificat d'origine pour éviter les problèmes de bout en bout.
Certificats wildcard
Un certificat wildcard (*.votredomaine.com) couvre tous les sous-domaines. Avec Let's Encrypt, il nécessite une validation DNS-01 (ajout d'un enregistrement TXT dans votre DNS) au lieu de HTTP-01. Des outils comme acme.sh ou Certbot avec le plugin DNS de votre fournisseur automatisent cela.
Configurer les Alertes
Ne comptez pas sur votre mémoire. Configurez des alertes :
Option 1 — Email via cron :
# Alerte 30 jours avant expiration
0 8 * * * /usr/bin/certbot certificates 2>&1 | grep -A2 "VALID:" | \
awk '/days/ && $2 < 30 {print}' | mail -s "SSL expire bientôt" [email protected]
Option 2 — Monitoring externe : Des services comme UptimeRobot (gratuit) ou Checkly permettent de surveiller l'expiration SSL et d'envoyer des alertes par email, SMS ou Slack.
Option 3 — WarDek : Notre tableau de bord surveille en permanence l'état de vos certificats SSL sur tous vos domaines et sous-domaines. Une alerte est envoyée 30, 14 et 7 jours avant expiration, avec le lien direct vers la procédure de renouvellement adaptée à votre configuration.
Pour aller plus loin sur la sécurité de vos en-têtes HTTP (HSTS, HPKP), consultez notre guide Sécuriser les headers HTTP.
Checklist de Renouvellement
Quand vous renouvelez un certificat, ne vous arrêtez pas au renouvellement lui-même :
- [ ] Certificat renouvelé et valide
- [ ] Serveur web rechargé (nginx/Apache)
- [ ] Vérification de la chaîne de confiance complète (certificats intermédiaires inclus)
- [ ] HSTS configuré avec
max-ageapproprié - [ ] Renouvellement automatique actif pour les 90 prochains jours
- [ ] Email de notification valide et testé
Un certificat expiré n'arrive pas par accident : c'est un problème de process. Avec l'automatisation correcte, c'est un problème que vous ne devriez rencontrer qu'une seule fois dans votre vie de responsable technique.