GNU/Linux >> Tutoriels Linux >  >> Linux

Let's Encrypt :Obtenez un certificat SSL gratuit avec Certbot

Tutoriel étape par étape sur l'utilisation du certbot Let's Encrypt pour obtenir un certificat SSL gratuit et comment le renouveler automatiquement.

Par-dessus tout, Let's Encrypt est open-source et entièrement gratuit. Il permet à quiconque d'installer un certificat SSL de confiance sur son site Web et de bénéficier de la sécurité renforcée qu'offre une connexion cryptée. Contrairement à un certificat SSL auto-signé, un certificat Let's Encrypt est reconnu comme entièrement vérifié et affiche l'icône de cadenas dans la barre d'adresse des navigateurs Web modernes.

Comment fonctionne Let's Encrypt

Avant d'émettre un certificat, Let's Encrypt valide la propriété de votre domaine. Le client Let's Encrypt, exécuté sur votre hôte, crée un fichier temporaire (un jeton) contenant les informations requises. Le serveur de validation envoie ensuite une requête HTTP pour récupérer le fichier et valide le jeton, ce qui vérifie que l'enregistrement DNS de votre domaine correspond au serveur exécutant le client Let's Encrypt. Par conséquent, les commandes présentées ci-dessous doivent être exécutées sur le serveur qui servira votre domaine pour lequel vous délivrez le certificat.

1. Installation du certbot

Let's Encrypt a un programme d'installation automatisé appelé certbot . La première étape pour utiliser Let's Encrypt pour obtenir un certificat SSL est de l'installer sur votre serveur.

Ubuntu :

sudo apt install certbot python3-certbot-nginx

Debian :

sudo apt install certbot

CentOS :

sudo yum install epel-release
sudo yum install certbot-nginx

2. Obtenir des certificats Let's Encrypt

Important ! Avant d'émettre un certificat SSL gratuit Let's Encrypt, vous devez arrêter votre service de serveur Web. Sinon, vous obtiendrez l'erreur suivante :

Problem binding to port 80: Could not bind to IPv4 or IPv6

Si vous utilisez Nginx, exécutez :

sudo systemctl stop nginx

Nous pouvons maintenant passer à la génération du certificat SSL gratuit Let's Encrypt :

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com

-d accepte un nom de domaine. Vous pouvez utiliser plusieurs -d options dans la commande unique. Par exemple :

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com -d www.my-domain.com 

Si c'est la première fois que vous exécutez certbot , vous serez invité à saisir une adresse e-mail et à accepter les conditions d'utilisation. Après cela, certbot communiquera avec le serveur Let's Encrypt, puis lancera un défi pour vérifier que vous contrôlez le domaine pour lequel vous demandez un certificat.

Si cela réussit, certbot se terminera par un message vous indiquant que le processus a réussi et où vos certificats sont stockés.

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/my-domain.com/fullchain.pem. Your cert will
   expire on 2022-08-08. 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 

3. Vérifier les certificats

Répertorier vos certificats enregistrés dans /etc/letsencrypt/live/my-domain.com répertoire.

ls -l /etc/letsencrypt/live/my-domain.com/
total 4
-rw-r--r-- 1 root root 692 Mar  10 08:24 README
lrwxrwxrwx 1 root root  37 Mar  10 08:24 cert.pem -> ../../archive/my-domain.com/cert1.pem
lrwxrwxrwx 1 root root  38 Mar  10 08:24 chain.pem -> ../../archive/my-domain.com/chain1.pem
lrwxrwxrwx 1 root root  42 Mar  10 08:24 fullchain.pem -> ../../archive/my-domain.com/fullchain1.pem
lrwxrwxrwx 1 root root  40 Mar  10 08:24 privkey.pem -> ../../archive/my-domain.com/privkey1.pem

4. Modifier la configuration du serveur Web

Pour que votre serveur web utilise le certificat SSL gratuit Let's Encrypt, vous devez les spécifier dans sa configuration. Par exemple, si vous utilisez Nginx, vous devez ajouter le bloc suivant à votre fichier de configuration de domaine /etc/nginx/sites-enabled/my-domain.conf

server {
    listen 443;
    server_name my-domain.com;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/my-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/my-domain.com/privkey.pem;
}

C'est ça. Tout est réglé et fait. Il ne vous reste plus qu'à démarrer votre serveur Web :

sudo systemctl start nginx

Enfin, vous pouvez vérifier que votre site Web est désormais protégé par SSL. Ouvrez simplement le site Web dans le navigateur et vérifiez si l'icône du cadenas est disponible.

5. Renouveler automatiquement les certificats Let's Encrypt

Les certificats sont valables 90 jours. Ils peuvent être renouvelés 30 jours avant leur expiration. Ici, nous ajoutons une tâche cron qui les renouvellera automatiquement.

Alors, ouvrez d'abord le fichier crontab :

sudo crontab -e

après cela, ajoutez le certbot commande à exécuter chaque semaine :

@weekly certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" --renew-hook "systemctl reload nginx" --quiet 

Conclusion

Dans ce tutoriel, nous avons vu comment installer un certificat SSL gratuit de Let’s Encrypt afin de sécuriser un site web. De plus, vous pouvez consulter le site Web officiel de Let's Encrypt pour plus d'informations et de détails.


Linux
  1. SSL gratuit pour Nginx sur Centos par Let's encrypt

  2. Comment gérer les certificats Lets Encrypt SSL/TLS avec certbot

  3. Sécuriser ISPConfig 3.1 avec un certificat SSL Lets Encrypt gratuit

  4. Installer Let's Encrypt SSL sur HAProxy

  5. Comment obtenir un certificat SSL gratuit avec SSL It ! et Let's Encrypt sur Plesk

Comment renouveler automatiquement les certificats SSL Let's Encrypt

Comment installer Let's Encrypt SSL avec Apache sur CentOS 7

Comment installer Let's Encrypt SSL en utilisant DirectAdmin

Comment utiliser Let's Encrypt avec Cloudflare

Comment sécuriser Apache avec le certificat SSL Let's Encrypt sur CentOS 8

Comment activer le certificat SSL gratuit Let's encrypt pour mon domaine dans Plesk ?