Le compte à rebours est lancé pour Keyfactor Tech Days | Réservez votre place dès aujourd'hui !

Utiliser ACME pour automatiser les certificats : Un guide pas à pas

Gestion des certificats

Vous cherchez une réponse simple à la question "Qu'est-ce que l'ACME ?".

Nous pouvons vous aider ! L'environnement Environnement de gestion automatisée des certificats (ACME) est un protocole défini par l'IETF RFC 8555 qui automatise l'émission, le renouvellement et la révocation des certificats en rationalisant les interactions entre votre serveur web et les autorités de certification (CA).

Il a été développé à l'origine pour Let's Encrypt ; cependant, ACME est maintenant largement pris en charge par diverses autorités de certification, des fournisseurs d'infrastructure à clé publique (PKI) et des navigateurs.

Cet article vous guidera dans l'utilisation d'ACME pour une automatisation des certificatsCette méthode vous permettra de garder vos systèmes sécurisés, conformes et à jour avec un minimum d'efforts manuels. Plongeons dans l'aventure !

Comment automatiser les certificats avec l'environnement de gestion automatisée des certificats ?

Les pannes et la mauvaise gestion des certificats peuvent perturber les opérations, nuire à la réputation et créer des risques pour la sécurité. L'automatisation peut permettre à votre entreprise de se concentrer sur la croissance et l'innovation tout en restant protégée, ce qui, en fin de compte, renforce la confiance des clients et garantit des opérations fluides et sûres.

Voici les principales étapes de l'automatisation des certificats avec ACME :

Étape 1 : Sélectionnez et configurez votre client ACME

Votre client ACME gère l'ensemble du cycle de vie de vos certificats, de la création à la révocation et au renouvellement.

Lorsque vous choisissez un client ACME, assurez-vous qu'il est compatible avec votre environnement serveur et qu'il ne présente pas de failles de sécurité susceptibles d'être exploitées. Vous devez également choisir un client qui prend en charge les types de certificats requis par la configuration de votre domaine. Idéalement, optez pour un client qui prend en charge plusieurs types de certificats, comme HTTP-01 ou DNS-01. 

De plus, vous pouvez choisir un client ACME en fonction de son langage de programmation (Bash, Python, etc) ou de l'environnement dans lequel il s'exécute (Docker, Kubernetes, etc). 

Une fois le client sélectionné, attribuez-lui les domaines spécifiques qu'il gérera.

Étape 2 : Choisir une autorité de certification

Le rôle de l'autorité de certification est de vérifier que votre client a le contrôle du domaine pour lequel vous demandez un certificat. Lorsque vous choisissez une autorité de certification (AC), tenez compte des types de certificats qu'elle propose, de ses tarifs et de l'assistance qu'elle offre. Assurez-vous que l'autorité de certification est compatible avec le client ACME que vous avez sélectionné précédemment. Open-source Les AC comme Let's Encrypt sont largement compatibles, mais certaines AC commerciales peuvent avoir des exigences d'intégration différentes.

Avant de poursuivre, vous devez effectuer un test de connexion pour vous assurer que votre client peut communiquer avec l'autorité de certification. Ce test peut être aussi simple que command ou un appel API qui lance le processus de demande de certificat.

Étape 3 : Création d'une paire clé-autorisation

Enregistrez votre client auprès du serveur ACME. A partir de là, générez une clé privée et une demande de signature de certificat (CSR). Générez une autre clé dans la CSR pour la soumettre au serveur ACME et à l'autorité de certification.

ACME peut exiger une liaison de compte externe. Il s'agit d'une couche supplémentaire d'authentification et de sécurité qui limite le nombre de personnes pouvant demander des certificats. Dans ce cas, l'AC émettra une clé de liaison de compte unique lorsque vous créerez votre compte sur la plateforme de l'AC. Le client ACME signera la clé de liaison lors de son enregistrement auprès de l'AC, puis enverra la clé de liaison au serveur ACME de l'AC. Une fois la vérification effectuée, vous êtes prêt à partir.

Étape 4 : Générer une RSC et l'envoyer à l'autorité de certification 

Ensuite, votre client ACME enverra une CSR à l'autorité de certification pour demander officiellement votre certificat numérique. L'autorité de certification émettra alors des défis de contrôle de domaine pour vérifier votre propriété. Vous recevrez généralement un défi DNS ou HTTP. Pour DNS, l'autorité de certification fournit un jeton que votre client ACME doit ajouter en tant qu'enregistrement TXT DNS , que l'autorité de certification interrogera ensuite pour confirmer la propriété. Pour HTTP, votre client créera un fichier avec le jeton à une URL spécifique sur votre serveur. L'autorité de certification accède à cette URL pour récupérer le jeton et, une fois la vérification effectuée, votre domaine est confirmé.

Étape 5 : Délivrer le certificat 

Après avoir vérifié la signature, l'autorité de certification émet un certificat numérique certificat numérique X.509qui est encodé en base 64. Le certificat X.509 comprend généralement les éléments suivants

  • la clé publique du client (provenant de la RSC)
  • Informations d'identification sur le domaine
  • la signature de l'autorité de certification, qui lie la clé publique à l'identité du domaine et permet à toute personne qui fait confiance au certificat racine de l'autorité de certification de vérifier que le certificat est authentique et n'a pas été falsifié.
  • La période de validité, y compris les dates de début et d'expiration
  • Nom alternatif du sujet demandé

Étape 6 : Installation du certificat

The agent installs the certificate by placing it in the designated directory on the server’s filesystem, typically in a secure location such as /etc/ssl/certs/ or /etc/letsencrypt/live/<domain>/ for Let’s Encrypt certificates.

Ensuite, vous devez définir les autorisations appropriées pour les fichiers du certificat et de la clé privée afin d'empêcher tout accès non autorisé.

Étape 7 : Automatiser le renouvellement des certificats

Vous devez configurer votre client ACME pour qu'il gère automatiquement le renouvellement des certificats avant leur expiration. N'oubliez pas de configurer une tâche automatisée si votre client ACME ne renouvelle pas automatiquement le certificat.  

Si vous utilisez Keyfactor Commandelle peut émettre des certificats publics en utilisant le protocole ACME. Ou si votre cas d'utilisation est la confiance privée, EJBCA est une excellente autorité de certification pour émettre des certificats privés en utilisant le protocole ACME.

Pour renouveler manuellement tous vos certificats :

REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt certbot renew

You can specify a particular certificate for renewal by adding the parameter –cert-name <domain-identifer> to the above command. If the certificates are not yet due for renewal, you can force a renewal by adding the –force-renewal. 

Note : Le seuil de renouvellement par défaut dans Certbot est de 30 jours avant l'expiration.

Vos prochaines étapes : Un regard sur Keyfactor + ACME

Keyfactor propose deux puissantes solutions ACME : Keyfactor EJBCA et Keyfactor Command .

Keyfactor EJBCA est une plateforme PKI flexible et évolutive qui rationalise l'émission et la gestion des certificats numériques pour les appareils, les utilisateurs et les charges de travail. Il s'agit d'une plateforme multi-protocole PKI qui peut agir en tant que serveur pour émettre des certificats à l'aide d'ACME, de SCEP et d'API REST. Elle fonctionne également comme une autorité de certification, ce qui permet aux organisations de remplacer les systèmes d'autorité de certification obsolètes et peu sûrs par une solution PKI moderne et facile à déployer, que ce soit dans le nuage, sur site ou en tant que service.

Keyfactor Command offre une visibilité en temps réel sur les certificats des autorités de certification privées, publiques et basées sur le cloud. Il permet aux organisations de marquer et d'organiser les certificats avec des métadonnées, de définir des alertes proactives et de simplifier la gestion des certificats avec des processus de renouvellement automatisés. Keyfactor Command simplifie également les audits avec des journaux détaillés des changements de certificats et offre des contrôles d'accès basés sur les rôles pour une administration sécurisée.

Curieux d'en savoir plus ? Vous pouvez demander une démonstration pour réfléchir avec notre équipe et découvrir quelle solution répond le mieux aux besoins de votre organisation.