La surveillance SSL va au-delà de la vérification des dates d’expiration. Une configuration de surveillance complète surveille : les certificats expirants, les changements de configuration, les émissions de certificats non autorisées et les temps d’arrêt causés par des erreurs SSL.
Avec la validité des certificats qui descend à 47 jours d’ici 2029, la surveillance proactive devient essentielle — un renouvellement manqué met votre site hors ligne.
Que surveiller
| Quoi | Pourquoi | À quelle fréquence |
|---|---|---|
| Expiration du certificat | Certificat expiré = site hors ligne | Quotidiennement |
| Chaîne de certificat | Chaîne incomplète = certains appareils échouent | Hebdomadairement |
| Version TLS | Les anciennes versions TLS sont désactivées par les navigateurs | Mensuellement |
| Logs CT | Détecter les certificats non autorisés pour votre domaine | En continu |
| OCSP stapling | Un échec de stapling dégrade les performances | Hebdomadairement |
| En-tête HSTS | HSTS manquant = vulnérable au downgrade | Mensuellement |
Options de surveillance gratuites
1. Script cron (auto-hébergé)
#!/bin/bash
# /usr/local/bin/ssl-monitor.sh
DOMAINS="example.com www.example.com api.example.com"
WARN_DAYS=30
ALERT_EMAIL="admin@example.com"
for domain in $DOMAINS; do
expiry=$(echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
if [ -z "$expiry" ]; then
echo "ERROR: Can't connect to $domain:443" | mail -s "SSL Monitor: $domain unreachable" $ALERT_EMAIL
continue
fi
expiry_epoch=$(date -d "$expiry" +%s 2>/dev/null)
now_epoch=$(date +%s)
days_left=$(( (expiry_epoch - now_epoch) / 86400 ))
if [ "$days_left" -lt "$WARN_DAYS" ]; then
echo "$domain certificate expires in $days_left days ($expiry)" | mail -s "SSL Expiry Warning: $domain" $ALERT_EMAIL
fi
done
# Ajouter au crontab — exécuter quotidiennement à 9h
0 9 * * * /usr/local/bin/ssl-monitor.sh
2. UptimeRobot (SaaS — offre gratuite)
- Inscrivez-vous sur UptimeRobot
- Ajouter un moniteur → Type : HTTPS
- Entrez l’URL de votre domaine
- Définir l’alerte d’expiration SSL : 30 jours avant l’expiration
- Configurer les alertes : e-mail, Slack, webhook
UptimeRobot vérifie toutes les 5 minutes et alerte en cas de temps d’arrêt et d’expiration de certificat.
3. Surveillance Certificate Transparency
Surveillez les logs CT pour détecter les certificats non autorisés émis pour votre domaine :
| Service | Comment | Coût |
|---|---|---|
| Cert Spotter (SSLMate) | Alertes par e-mail pour les nouveaux certificats | Offre gratuite |
| crt.sh | Recherche manuelle | Gratuit |
| Facebook CT Monitor | Outil de surveillance de Facebook | Gratuit |
Outils de surveillance payants
| Outil | Fonctionnalités | Prix |
|---|---|---|
| Better Uptime | SSL + disponibilité + incidents | Offre gratuite / à partir de 20 $/mois |
| Datadog | Surveillance d’infrastructure complète avec vérifications SSL | à partir de 15 $/hôte/mois |
| Pingdom | SSL + disponibilité + performance | à partir de 10 $/mois |
| StatusCake | Surveillance SSL + alertes | Offre gratuite / à partir de 20 $/mois |
Exemple de configuration de surveillance complète
Pour un site en production, combinez plusieurs couches :
Couche 1 : Renouvellement automatique Certbot (empêche l'expiration)
Couche 2 : Script cron (détecte les échecs de renouvellement — e-mail quotidien)
Couche 3 : UptimeRobot (détecte les erreurs SSL — vérifications toutes les 5 min)
Couche 4 : Surveillance CT (détecte les certificats non autorisés — en continu)
Cela vous donne une défense en profondeur — aucun point de défaillance unique.
Surveillance avec GetHTTPS
GetHTTPS n’inclut pas de surveillance intégrée (c’est un outil d’émission de certificats). Mais votre flux de travail devrait être :
- Émettre le certificat avec GetHTTPS
- Configurer des rappels de renouvellement — alerte calendrier au jour 60 sur 90
- Ajouter la surveillance SSL — script cron ou outil SaaS en secours
- Envisager Certbot pour le renouvellement automatique en production
Questions fréquemment posées
Quel est le minimum de surveillance que je devrais avoir ?
Au minimum : un rappel de calendrier pour le renouvellement du certificat (jour 60 sur 90) ET une vérification automatisée (script cron ou UptimeRobot). Le rappel de calendrier couvre les renouvellements normaux ; la vérification automatisée détecte les échecs.
Comment surveiller plusieurs domaines ?
Le script cron ci-dessus gère plusieurs domaines dans une boucle. Les outils SaaS comme UptimeRobot vous permettent d’ajouter plusieurs moniteurs — un par domaine.
Dois-je aussi surveiller les certificats de staging/développement ?
Oui, s’il s’agit de certificats Let’s Encrypt qui expirent. Un certificat de staging expiré bloque le QA et le développement. Au minimum, configurez un rappel de calendrier.
Qu’en est-il de la surveillance de la chaîne de certificat, pas seulement de l’expiration ?
L’API SSL Labs fournit une vérification automatisée de la chaîne. Pour une vérification manuelle rapide :
echo | openssl s_client -connect example.com:443 2>/dev/null | grep "Verify return code"
Ajoutez ceci à votre script cron pour la surveillance de la chaîne.