Ressource éducative

Clients ACME sur Linux

11 février 2024
9 min de lecture
Contenu expert

Publié le

11 février 2024

Introduction

Le protocole ACME est un protocole réseau conçu pour automatiser le processus de validation de domaine et la délivrance de certificats X.509. Le processus est mis en place entre un serveur ACME et un client ACME.

Deux clients populaires sur Linux sont Certbot et acme.sh.

Certbot est un client ACME open source créé par l'Electronic Frontier Foundation (EFF) à l'origine pour être utilisé en coordination avec son propre service d'autorité de certification : Let's Encrypt.

Le deuxième client, acme.sh, est un client écrit en langage Shell (shell Unix) sous licence GPLv3.

Vue d'ensemble

Certbot et acme.sh sont des clients ACME simples basés sur CLI pour Linux.

Certbot peut s'exécuter sur tout système d'exploitation de type UNIX récent équipé de Python 2.7 ou 3.4+, tandis qu'acme.sh peut également fonctionner sur toute distribution Linux récente exécutant soit bash, dash ou sh.

Ils prennent tous deux en charge pleinement la dernière ACMEv2 protocole incluant sa principale fonctionnalité récente : certificats génériques (\\*.example.com).

Les deux clients prennent en charge différents modes d’obtention d’un certificat et, dans certains cas, l’installent automatiquement.

Le tableau suivant répertorie les différents modes pour chaque client:

ModeCert botAcme.shNotes
apache✔️✔️Obtient et installe automatiquement un certificat en utilisant le serveur Apache en cours d'exécution. ( Pour acme.sh, ce mode ne fait qu'obtenir un certificat sans l'installer)
nginx✔️✔️Obtient et installe automatiquement un certificat en utilisant le serveur NGINX en cours d'exécution.( Pour acme.sh, ce mode ne fait qu'obtenir un certificat sans l'installer)
webroot✔️✔️Obtient un certificat en écrivant dans le répertoire webroot d'un serveur web déjà en cours d'exécution.
autonome✔️✔️Utilise un serveur web "standalone" géré par Certbot ou acme.sh. Ce mode est utile sur un système sans serveurs web ou si l'utilisation du serveur web en cours n'est pas souhaitée.
DNS✔️✔️Ce mode automatise l'obtention d'un certificat en modifiant un enregistrement DNS pour prouver le contrôle d'un domaine.
tls-alpn✔️Utilise un serveur TLS pour valider le contrôle d'un domaine.

Demande de certificat

Les deux clients doivent être exécutés avec des privilèges administratifs (sudo), sauf pour acme.sh lorsqu'il utilise le webroot ou DNS modes.

Chaque client ne nécessite que quelques paramètres pour demander un certificat par défaut à Let's Encrypt.

Vous souhaitez mettre en œuvre ces pratiques PKI ?

Obtenez des conseils d'experts pour mettre en œuvre des solutions PKI sécurisées pour votre organisation.

Obtenir de l'aide d'expert

Par exemple pour Certbot :

ParamètreDescription
certonlyObtenir ou renouveler un certificat, mais ne pas l'installer
webrootPlacer les fichiers dans le répertoire webroot d'un serveur pour l'authentification
-w [VALUE]Chemin du dossier webroot du serveur'
-d [VALUE]Le(s) domaine(s) à inscrire.

La commande serait : certbot certonly --webroot -w /var/www/example -d www.example.com

En revanche, les paramètres pour acme.sh sont :

ParamètreDescription
--issueObtenir ou renouveler un certificat, mais ne pas l'installer
-d [VALUE]Le(s) domaine(s) à inscrire.
-w [VALUE]Chemin du dossier webroot du serveur'

La commande serait : acme.sh --issue -d example.com -w /var/www/example

Il existe de nombreuses autres options sur les deux clients pour personnaliser les requêtes selon des besoins spécifiques.

Pour plus d’informations, consultez la page officielle de Certbot et acme.sh : * [Certbot](https://certbot.eff.org/docs/using.html) * [acme.sh](https://github.com/Neilpang/acme.sh)

Cas d’utilisation

Par défaut, Certbot et acme.sh demanderont un certificat en utilisant le CA Let's Encrypt, mais il existe plusieurs cas d’utilisation où l’on préférerait demander un certificat auprès d’un autre CA.

Les exemples suivants décriront comment utiliser certains des différents modes de Certbot et acme.sh pour demander ou révoquer un certificat auprès d’une autre autorité de certification.

Mode Apache

Utiliser le mode Apache de Certbot et acme.sh demandera un certificat, validera le contrôle du domaine demandé en utilisant le serveur Apache en cours d'exécution, puis installera le certificat sur le serveur (uniquement pour Certbot).

L'exemple suivant détaille la requête utilisée, ses paramètres et les résultats de la requête utilisant le mode Apache avec Certbot.

Mode NGINX

L'utilisation du mode NGINX de Certbot et acme.sh demandera un certificat, validera le contrôle du domaine demandé en utilisant le serveur NGINX en cours d'exécution, puis installera le certificat sur le serveur (uniquement pour Certbot).

Les exemples suivants détaillent les requêtes utilisées, les paramètres et les résultats des requêtes utilisant le mode NGINX.

Mode autonome

L'utilisation du mode autonome de Certbot et acme.sh demandera un certificat, validera le contrôle du domaine demandé en utilisant un serveur web autonome exécuté par Certbot ou acme.sh.

Dans ce cas d’utilisation, le certificat est uniquement obtenu et n’est pas installé sur le serveur web en cours d’exécution. La configuration du serveur web doit être modifiée par la suite pour que le certificat soit utilisé.

Les exemples suivants détaillent les requêtes utilisées, les paramètres et les résultats des requêtes utilisant le mode autonome.

Révocation

Les deux clients peuvent également révoquer les certificats qu'ils gèrent en envoyant une demande de révocation avec le nom de domaine correct du certificat à révoquer.

Les exemples suivants détaillent les requêtes utilisées, les paramètres et les résultats des requêtes pour révoquer un certificat à l'aide de Certbot.

Cela était-il utile?
Retour au centre d'éducation

Table des matières

Continuer d'apprendre

Recevez le dernier contenu éducatif et les informations PKI directement dans votre boîte de réception.

En vous abonnant, vous acceptez de recevoir nos communications. Vous pouvez vous désabonner à tout moment.

Ressources associées

Evertrust

Séquence 2 : Installer et configurer NGINX pour le chiffrement TLS sur RHEL/Debian/OpenSUSE

April 22, 2024
1 min

Améliorez la sécurité de votre serveur web en maîtrisant le chiffrement TLS. Notre guide détaillé propose des étapes pratiques pour installer NGINX sur différentes distributions Linux, ajoutant une couche de sécurité pour protéger les données sensibles transmises sur le web.

En savoir plus
Evertrust Comment

Activer la prise en charge de la cryptographie post-quantique dans les navigateurs Web

April 17, 2024
1 min

Explorez l'avenir de la cryptographie post-quantique et de l'échange sécurisé de clés dans la communication web. Apprenez comment activer ces fonctionnalités de sécurité avancées dans les principaux navigateurs comme Microsoft Edge et Firefox. Restez en avance grâce à notre guide étape par étape.

En savoir plus
Evertrust

Séquence 1 : Le guide d'installation et de configuration d'Apache Httpd pour le chiffrement TLS sur RHEL, Debian, OpenSUSE

16 avril 2024
1 min

Explorez le processus optimal d'installation et de sécurisation d'un serveur web sur les distributions Linux telles que RHEL, Debian et OpenSUSE. En maîtrisant la mise en œuvre du chiffrement TLS sur les serveurs web Apache Httpd, nous fournissons des étapes concises pour une meilleure protection des données.

En savoir plus

Prêt à reprendre le contrôle de vos certificats ?

Parlez à nos experts et découvrez comment Evertrust peut vous aider à mettre en œuvre les meilleures pratiques en matière de PKI et de gestion du cycle de vie des certificats.

Parler à un expert