Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Let's Encrypt / ACME Protocol

general

Définition

Let's Encrypt est une autorité de certification (CA) publique, gratuite, automatisée, et ouverte, gérée par l'Internet Security Research Group (ISRG) avec le soutien d'EFF, Mozilla, Cisco, et Chrome. Lancée en 2015, elle a transformé le paysage du HTTPS en rendant les certificats TLS accessibles gratuitement à tous, contribuant à faire passer le web de 40% à plus de 85% de connexions HTTPS chiffrées. Le protocole ACME (Automatic Certificate Management Environment, RFC 8555) est le protocole standardisé par l'IETF qui permet l'émission, le renouvellement, et la révocation automatique des certificats. Le client ACME (Certbot, acme.sh, Caddy, etc.) communique avec le serveur ACME de la CA pour prouver le contrôle du domaine et obtenir le certificat sans intervention humaine. ACME utilise des "challenges" pour prouver la propriété du domaine. Le challenge HTTP-01 place un fichier de validation sur le serveur web à une URL spécifique (http://example.com/.well-known/acme-challenge/TOKEN) — le serveur ACME vérifie l'accès à ce fichier. Le challenge DNS-01 crée un enregistrement DNS TXT spécifique (\_acme-challenge.example.com = TOKEN) — permet la validation de domaines wildcard (\*.example.com) et sans serveur web accessible publiquement. Le challenge TLS-ALPN-01 utilise une extension TLS pour la validation directement dans le handshake TLS. Let's Encrypt émet des certificats DV (Domain Validation — validation du domaine uniquement) valables 90 jours. La courte durée de validité est intentionnelle : elle force l'automatisation du renouvellement, réduisant l'impact des compromissions de clés (un certificat expire de toute façon en 90 jours). Certbot est configuré pour renouveler automatiquement les certificats 30 jours avant expiration via un cron job ou un systemd timer. Les limites de Let's Encrypt incluent : pas de certificats OV (Organization Validation) ou EV (Extended Validation) — uniquement DV, limite de débit (50 certificats par domaine racine par semaine), et pas de support pour les adresses IP directement (uniquement les noms de domaine). Pour ces cas d'usage, les CAs commerciales (DigiCert, Sectigo, GlobalSign) restent nécessaires.

Configuration Nginx avec Let's Encrypt et Certbot

Le déploiement de Let's Encrypt avec Nginx via Certbot est la configuration la plus répandue. Les commandes : `certbot --nginx -d example.com -d www.example.com` détecte automatiquement la configuration Nginx, obtient un certificat Let's Encrypt, et configure HTTPS (avec redirection HTTP→HTTPS) dans la config Nginx. Le cron de renouvellement automatique est ajouté : `0 12 * * * /usr/bin/certbot renew --quiet`. La commande `certbot renew --dry-run` vérifie que le renouvellement fonctionnera sans effectuer de changements. Pour les configurations avancées (wildcard, challenge DNS-01), des plugins Certbot pour les registrars DNS (Cloudflare, Route 53, OVH) permettent l'automatisation complète du challenge DNS via l'API du registrar.

Protocol ACME — clients alternatifs

Certbot est le client ACME officiel d'EFF/Let's Encrypt, mais de nombreuses alternatives existent pour différents cas d'usage. Caddy Server intègre nativement ACME et gère automatiquement les certificats Let's Encrypt sans configuration supplémentaire — il obtient et renouvelle les certificats transparemment pour chaque vhost configuré. acme.sh est un script shell léger (sans dépendances) particulièrement populaire dans les environnements Docker et CI/CD. Traefik (reverse proxy cloud-native) intègre ACME pour la gestion automatique des certificats dans les environnements Kubernetes. AWS Certificate Manager (ACM), Azure App Service Certificates, et GCP Managed Certificates offrent des alternatives managées cloud qui gèrent automatiquement le cycle de vie des certificats sans Let's Encrypt.

Let's Encrypt dans les environnements privés — ACME interne

ACME n'est pas limité à Let's Encrypt — le protocole peut être utilisé avec une CA interne d'entreprise. Step-CA (Smallstep) est une CA d'entreprise qui implémente le serveur ACME pour distribuer automatiquement des certificats internes aux services de l'infrastructure (mTLS entre microservices, certificats internes pour les outils DevOps). HashiCorp Vault PKI Secrets Engine expose un endpoint ACME permettant d'utiliser Certbot ou d'autres clients ACME avec une PKI interne. Cette approche apporte les bénéfices de l'automatisation ACME (renouvellement automatique, zéro intervention humaine) aux certificats internes, éliminant les certificats expirés qui causent des incidents de production.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis