Les certificats TLS sont indispensables pour chiffrer les communications entre les navigateurs et les applications web. Jusqu'à présent, les certificats étaient achetés auprès d'autorités de certification commerciales et renouvelés manuellement. Nous avons mis en place Let's Encrypt pour passer à des certificats gratuits, renouvelés automatiquement, sans plus jamais avoir à surveiller une date d'expiration.
Qu'est-ce que Let's Encrypt ?
Let's Encrypt est une autorité de certification gratuite et automatisée qui délivre des certificats TLS. Associée à des clients comme Certbot, elle permet de chiffrer les communications web et de renouveler les certificats sans intervention manuelle.
Le problème : des certificats achetés et renouvelés à la main
Avant la mise en place de Let's Encrypt, la gestion des certificats TLS reposait sur un processus manuel et coûteux :
- Achat auprès d'autorités commerciales : chaque certificat représentait un coût annuel, parfois significatif selon le nombre de domaines couverts.
- Renouvellement manuel : le suivi des dates d'expiration reposait sur la vigilance des équipes. Un certificat oublié expirait, rendant l'application inaccessible et déclenchant des alertes de sécurité chez les utilisateurs.
- Procédure complexe : générer une demande de certificat, la soumettre à l'autorité, attendre la validation, installer le certificat - une procédure répétée pour chaque application et à chaque renouvellement.
Un certificat expiré ne prévient pas. L'application devient inaccessible et les utilisateurs voient une alerte de sécurité dans leur navigateur - exactement l'opposé de ce qu'on cherche à obtenir avec un certificat TLS.
Let's Encrypt : des certificats gratuits et automatiques
Let's Encrypt est une autorité de certification gratuite, automatisée et reconnue par tous les navigateurs. Elle délivre des certificats TLS valides, sans coût et sans procédure manuelle. Deux avantages majeurs :
- Gratuit : plus aucun achat de certificat. Les certificats Let's Encrypt sont délivrés gratuitement, ce qui élimine ce poste de dépense pour l'ensemble du parc applicatif.
- Automatisé : les certificats sont obtenus et renouvelés automatiquement, sans intervention humaine. Les équipes n'ont plus à surveiller les dates d'expiration.
Une application dédiée au renouvellement automatique
Nous avons mis en place une application de gestion des certificats Let's Encrypt qui prend en charge l'ensemble du cycle de vie : obtention initiale, renouvellement avant expiration et déploiement automatique sur les services concernés. Cette application surveille en permanence les certificats en place et déclenche le renouvellement bien avant la date d'expiration - sans aucune action manuelle requise.
L'inscription et la configuration initiale sont relativement simples : pointer vers le domaine à sécuriser, valider la propriété du domaine, et le certificat est émis en quelques secondes. La complexité résiduelle est gérée une seule fois lors de la configuration, puis entièrement automatisée.
Ce que cela change au quotidien
La mise en place de Let's Encrypt a transformé la gestion des certificats en quelque chose que les équipes n'ont plus à penser :
- Zéro achat de certificat : l'élimination de ce coût récurrent pour l'ensemble du parc applicatif.
- Zéro surveillance des dates d'expiration : le renouvellement est automatique, les équipes n'interviennent plus.
- Zéro interruption liée à un certificat expiré : les renouvellements anticipés garantissent une disponibilité permanente.
- Déploiement simplifié d'une nouvelle application : obtenir un certificat pour un nouveau service prend quelques secondes.
Déploiement conteneurisé, authentification centralisée et mises à jour maîtrisées
Cette application est déployée en conteneur Docker, orchestré et provisionné via Ansible. Cette approche garantit un déploiement reproductible, documenté et homogène d'un environnement à l'autre : la configuration est décrite sous forme de code, ce qui élimine les installations manuelles et fiabilise chaque mise en service.
Nous assurons les mises à jour de manière transparente pour les utilisateurs : les montées de version sont préparées, testées et appliquées de façon contrôlée, sans interruption perceptible du service. L'établissement bénéficie ainsi d'une application toujours à jour et sécurisée, sans avoir à gérer lui-même la complexité technique des mises à jour.
L'accès à cette application repose sur une authentification centralisée par OIDC avec Keycloak. Comme l'ensemble des applications que nous déployons, elle s'appuie sur un fournisseur d'identité unique : les utilisateurs se connectent avec les mêmes identifiants sur tout le parc applicatif, la gestion des accès est mutualisée et les règles de sécurité (mot de passe, second facteur, révocation) sont appliquées de façon homogène. Ce socle d'authentification unifié simplifie l'expérience utilisateur et renforce la maîtrise des accès à l'échelle du système d'information.
Notre déploiement
Let's Encrypt est intégré directement dans notre stack NGINX : les deux instances de reverse proxy (interne et DMZ) gèrent automatiquement leurs certificats via Let's Encrypt. Le renouvellement est déclenché automatiquement par l'application de gestion des certificats, qui surveille les échéances et renouvelle avant expiration. L'ensemble est supervisé par Uptime Kuma, qui surveille également les dates d'expiration des certificats et alerte en cas d'anomalie.
Intégration au système d'information
Let's Encrypt est le socle TLS de l'ensemble de la stack : tous les services exposés via NGINX bénéficient de certificats Let's Encrypt renouvelés automatiquement. Uptime Kuma surveille les dates d'expiration en complément, fournissant une double sécurité. La configuration est gérée par Ansible pour garantir la cohérence entre les différentes instances.
Bénéfices concrets
- Coût zéro : plus aucun achat de certificat TLS pour l'ensemble du parc applicatif.
- Renouvellement entièrement automatique : les équipes ne gèrent plus les certificats.
- Zéro risque d'expiration : les renouvellements anticipés garantissent une disponibilité permanente.
- Configuration simple : l'inscription et l'obtention d'un certificat pour un nouveau service prennent quelques secondes.
- Reconnu par tous les navigateurs : les certificats Let's Encrypt sont acceptés universellement, sans alerte de sécurité.
- Conversion PFX automatique : les applications Windows et équipements nécessitant du PKCS#12 bénéficient aussi de Let's Encrypt, sans intervention manuelle.
Let's Encrypt s'inscrit dans notre approche d'un système d'information hospitalier open source, souverain et maîtrisé, où chaque brique est déployée et documentée pour rester exploitable en autonomie par les équipes.
Conversion automatique en PFX pour les cas particuliers
Certaines applications Windows ou équipements réseau ne savent pas consommer un certificat au format PEM natif de Let's Encrypt. Ils attendent un certificat au format PFX (PKCS#12), qui regroupe le certificat et la clé privée dans un fichier protégé par mot de passe.
Nous avons mis en place un système qui convertit automatiquement les certificats Let's Encrypt au format PFX à chaque renouvellement. Ces applications bénéficient ainsi des avantages de Let's Encrypt - certificats gratuits, renouvellement automatique - sans aucun compromis sur leur mode de fonctionnement natif. La conversion est transparente : elle s'effectue en arrière-plan, sans intervention manuelle, et le PFX à jour est disponible dès le renouvellement du certificat.
Un projet de déploiement open source ?
Nous déployons et intégrons des solutions open source souveraines pour les établissements de santé.
Demander un diagnostic de 30 min →