URL: https://linuxfr.org/news/post-mortem-de-l-incident-du-3-juin-2018 Title: Post‐mortem de l’incident du 3 juin 2018 Authors: Nils Ratusznik Davy Defaud, ZeroHeure et Florent Zara Date: 2018年06月03日T22:21:20+02:00 License: CC By-SA Tags: letsencrypt, postmortem, incident, linuxfr, linuxfrorg, certificat et x509 Score: 50 Beaucoup d’entre‐vous s’en sont rendus compte, le certificat X.509 utilisé par _LinuxFr.org_ a expiré ce 3 juin 2018. Retour sur cet incident et sur le renouvellement de ce certificat dans la seconde partie de cette dépêche. ---- [LinuxFr.org : Quoi de neuf côté LinuxFr.org, relatant le changement de certificat en 2015](https://linuxfr.org/news/quoi-de-neuf-cote-linuxfr-org) [Journal LinuxFr.org hacké](https://linuxfr.org/users/krunch/journaux/dlfp-hacke) [Les certificats SSL chez Gandi](https://www.gandi.net/fr/security) [Let’s Encrypt](https://letsencrypt.org/) [Wikipédia : X.509](https://fr.wikipedia.org/wiki/X.509) ---- Historique des certificats X.509 sur LinuxFr.org =========== Jusqu’en 2015, _LinuxFr.org_ était accessible en HTTPS grâce à un certificat X.509 provenant de l’autorité de certification communautaire [CAcert](http://www.cacert.org/). Malgré un fonctionnement communautaire et quelque peu décentralisé plaisant beaucoup à notre équipe, la [non‐inclusion](https://fr.wikipedia.org/wiki/CAcert.org#Inclusion) de cette autorité de certification dans les navigateurs les plus utilisés devenait un frein à l’accès grand public à _LinuxFr.org_. En 2015, le bureau d’enregistrement de noms de domaines (_registrar_) [Gandi](https://www.gandi.net/fr) a fourni gracieusement à _LinuxFr.org_ un certificat X.509 valable pour tout le domaine _linuxfr.org_ (ce que l’on appelle un _wildcard_, c.‐à‐d. un certificat dont le sujet est `*.linuxfr.org`) pour une durée de trois ans. Cette dépêche est d’ailleurs l’occasion de les remercier chaleureusement pour cela. Trois ans plus tard, nous sommes en 2018. Se pose alors la question de renouveler le certificat. Chronologie de l’incident =========== La date d’expiration du certificat offert par Gandi est le 3 juin 2018 à 1 h 59. Le 24 mai, Benoît poste un rappel sur la tribune de modération. Personne n’étant disponible, le certificat expire le 3 juin. Les premières alertes sont données par courriel, en direction de la liste des modérateurs, à partir de 9 h 11. D’autres personnes signalent aussi le problème sur Twitter dans la foulée. Les premiers administrateurs au courant n’ayant pas forcément la possibilité de se connecter immédiatement sur les serveurs pour résoudre la situation, il faudra attendre 10 h avant que quelqu’un puisse le faire. Deux des administrateurs entrevoient les possibilités : * commander un nouveau certificat chez Gandi ; * utiliser l’autorité de certification gratuite et automatisée Let’s Encrypt. Après quelques tergiversations, d’envois de demandes de signature de certificats ([CSR](https://fr.wikipedia.org/wiki/Demande_de_signature_de_certificat "Certificate signing request")) pas forcément bien ficelées, c’est vers Let’s Encrypt que les administrateurs se tournent. Du fait de dépendances légères et de connaissances sur ce logiciel, c’est le client [dehydrated](https://dehydrated.io/) qui est utilisé, d’abord sur le serveur _alpha_ (préproduction) puis sur le serveur _prod_ (qui porte bien son nom). Le certificat est généré sur la production à 11 h 28, la fin de l’incident peut donc être déclarée vers 11 h 35. À ce moment‐là, décision est prise de ne pas activer le renouvellement automatique, afin de décider de la pérennisation de Let’s Encrypt une fois tous les administrateurs disponibles. Le certificat sur _prod_ sera de nouveau généré en début de soirée (20 h 39) pour ajouter une entrée [CN](https://www.ssl.com/faqs/common-name/) (celle de _prod_ lui‐même). À noter que la priorité étant donnée au service HTTPS, les services de messagerie SMTP ne sont pas modifiés à ce moment‐là. Les courriels continuant d’arriver, cela n’est pas considéré comme prioritaire. Le sujet est néanmoins abordé sur le canal IRC des administrateurs du site et des actions auront lieu sur le sujet. Leçons et actions futures =========== Suite à cet incident, on peut retenir : * que la communauté autour de _LinuxFr.org_ fait un sacré travail de signalement des incidents :) ; * qu’il est important d’avoir plusieurs personnes dans l’équipe qui peuvent intervenir ; * qu’il ne faut pas oublier de vérifier les dates d’expiration de certains services critiques (certificats X.509, noms de domaines...). Les actions actuellement envisagées : * un passage permanent à Let’s Encrypt, sur chaque serveur en ayant besoin ; * pourquoi pas l’installation d’un serveur de supervision pour alerter l’équipe de ce genre de problème (et d’autres ?).