Générer et automatiser les certificats SSL sur Linux

Dans cet article, nous allons vous expliquer comment utiliser Certbot pour générer et automatiser les certificats SSL sur Linux. Nous décrivons la procédure sur Apache, mais vous pouvez l'utiliser également pour Nginx, Haproxy et Plesk. Certbot est un outil logiciel open source gratuit.

Avant de commencer

Le processus est simple, mais avant la première utilisation, lisez cet article pour bien vous préparer.

Obtenir les identifiants de connexion

L'implémentation du protocole ACME de Digicert est basée sur ACME External Account Binding (EAB). Vous obtiendrez les identifiants de connexion ACME dans votre compte client.

ACME credentials contiennent Key Identifier (clé ID) et HMAC key - une clé secrète pour l'authentification et la vérification des données. Les identifiants doivent être entrés dans le client Certbot.

Attention : Enregistrez bien les clés. La combinaison des clés est unique pour chaque certificat, la durée de validité et l'organisation.

Processus de validation (récapitulation)

Avant que Digicert puisse émettre un certificat, le domaine associé et l'organisation (certificats OV et EV) doivent être vérifiés. Ce règle est valable pour tous les certificats et ACME n'est pas une exception.

  • Les certificats à validation de domaine sont délivrés immédiatement. Vos ACME credentials se trouveront dans votre compte SSLmarket.fr. Le domaine est validé via la méthode de validation HTTP-01.
  • Avant d'émettre un certificat à validation de l'organisation ou EV, il est nécessaire de vérifier l'organisation.
    • Validation de domaine : nous recommandons la méthode HTTP-01, le client ACME vérifie le domaine automatiquement. Si vous souhaitez valider votre domaine par DNS ou email, contactez-nous et nous vous fournissons les données nécessaires.
    • Validation de l'organisation : avant de demander le certificat, l'organisation doit être vérifiée. Si ce n'est pas le cas, la demande reste bloquée et se termine par timeout (expiration). Vous pouvez consulter l'état de validation avec notre support.

Demandez les certificats OV pour les organisations vérifiées (la validation reste valable 13 mois).

Installer Certbot sur le serveur

Certbot est disponible dans la plupart des distributions Linux. Supprimez ce package. Certbot doit être installé à l'aide de snap, tous les autres packages reçus ne fonctionneront pas.

Installation à partir de la ligne de commande :

snap install certbot --classic

Spécifiez le type de serveur web : par exemple --apache ou --nginx. Pour les autres serveurs, consultez la documentation qui explique comment modifier la configuration serveur.

Obtenir et installer le certificat

La documentation de Certbot pourra vous aider, mais attention, ACME de Digicert fonctionne sur le mode d'EAB. Ajoutez dans la commande : l'Url ACME et les identifiants AMCE (ACME credentials) (à récupérer dans votre espace client).

Demande du certificat : demandez le certificat à l’aide de ligne de commande :
sudo certbot --apache --register-unsafely-without-email --server URL --eab-kid xxxxxx --eab-hmac-key yyyyyy -d www.nomdedomaine.com


Options de commande Certbot ACME :
  • Certbot – démarre Certbot
  • --apache – spécifie le plug-in Certbot Apache qui installera le certificat.
  • --register-unsafely-without-email – permet d'ignorer l'étape de création de compte ACME. Comme votre demande est déjà connectée à votre compte CertCentral, cela n’est pas nécessaire.
  • --server – spécifie le serveur ACME qui doit traiter votre demande. Définissez votre votre URL de répertoire ACME entre guillemets.
  • - d – Nom de domaine complet inclus dans le certificat. Pour chaque FQDN du certificat, ajoutez une option –d YOURDOMAIN. Si vous ne le remplissez pas, CertBot vous demandera quels domaines vous souhaitez inclure selon les hôtes virtuels que vous avez configurés.

Sélectionnez l'option 1 ou 2 si vous souhaitez rediriger le contenu HTTP vers HTTPS : Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Sélectionnez 1/2 et appuyez sur ENTER. La configuration désactive l’accès HTTP à votre site web (vous devez redémarrer le serveur). Lorsque vous avez terminé, votre serveur affiche un message de réussite : “Félicitations !! vous avez activé vos domaines avec succès".

Le système vous indique où se trouvent vos certificats :

Output
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/example.com/fullchain.pem. Your cert will
expire on 2017-10-23. To obtain a new or tweaked version of this
certificate in the future, simply run certbot again with the
"certonly" option. To non-interactively renew *all* of your
certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Certbot installe également les certificats intermédiaires. Pour vous assurer que le certificat est bien installé et tout fonctionne correctement, utilisez notre vérificateur d'installation des certificats.

Cet article vous a-t-il été utile ?