ITFabricLab ouvre bientôt : les labs, simulations et examens ne sont pas encore accessibles. Vous pouvez parcourir le catalogue et créer votre compte pour être prévenu de l'ouverture.
Sévérité : CritiqueOpenSSL

Panne générale due à un certificat TLS expiré

```text
curl: (60) SSL certificate problem: certificate has expired
NET::ERR_CERT_DATE_INVALID
```

Détecter

Du jour au lendemain, navigateurs et clients API refusent la connexion au service ; les appels entre microservices échouent également.

Symptômes

Du jour au lendemain, navigateurs et clients API refusent la connexion au service ; les appels entre microservices échouent également.

Environnement

NGINX en frontal avec un certificat installé manuellement il y a un an, services internes utilisant une CA interne.

Cause racine

Certificat renouvelé manuellement, sans automatisation ni alerte d'expiration ; la personne qui s'en occupait a changé de poste.

Diagnostic

  1. openssl s_client -connect app:443 -servername app | openssl x509 -noout -dates.
  2. Vérifier toute la chaîne : un intermédiaire expiré produit le même symptôme.
  3. Recenser les autres certificats proches de l'expiration.

Solution

Émettre et installer un nouveau certificat (chaîne complète), recharger NGINX, vérifier depuis l'extérieur et depuis les clients internes. Pour les services publics : automatiser via ACME (Let's Encrypt, certbot/lego).

Commandes

echo | openssl s_client -connect app.exemple.fr:443 -servername app.exemple.fr 2>/dev/null | openssl x509 -noout -enddate
nginx -t && systemctl reload nginx

Prévention

Renouvellement automatique, inventaire des certificats, sonde blackbox avec alerte à J-21 et J-7, durées de validité courtes pour forcer l'automatisation.