« Linux SSL Let's Encrypt » : différence entre les versions

De Epsi-Wis
Aller à la navigation Aller à la recherche
(Page créée avec « Let’s Encrypt est une autorité de certification (CA) qui facilite l'obtention et l'installation de certificats TLS/SSL gratuits, permettant ainsi le cryptage HTTPS sur… »)
 
Aucun résumé des modifications
Ligne 38 : Ligne 38 :


Ensuite, nous allons mettre à jour le pare-feu pour permettre le trafic HTTPS.
Ensuite, nous allons mettre à jour le pare-feu pour permettre le trafic HTTPS.
== Étape 3 — Obtention d'un certificat SSL ==
Certbot propose différents moyens d'obtenir des certificats SSL par le biais de plugins. Le plugin Apache se chargera de reconfigurer Apache et de recharger la configuration chaque fois que nécessaire. Pour utiliser ce plugin, tapez ce qui suit :
sudo certbot --apache
Ce script vous invitera à répondre à une série de questions afin de configurer votre certificat SSL. Tout d'abord, il vous demandera une adresse électronique valide. Cette adresse électronique sera utilisée pour les notifications de renouvellement et les avis de sécurité :
Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): you@your_domain
Après avoir fourni une adresse électronique valide, appuyez sur ENTER pour passer à l'étape suivante. Vous serez ensuite invité à confirmer si vous acceptez les conditions d'utilisation du service Let’s Encrypt. Vous pouvez confirmer en appuyant sur A et ensuite sur ENTER :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
Ensuite, il vous sera demandé si vous souhaitez partager votre adresse électronique avec l'Electronic Frontier Foundation pour recevoir des nouvelles et d'autres informations. Si vous ne souhaitez pas vous abonner à leur contenu, tapez N. Sinon, tapez Y. Ensuite, appuyez sur ENTER pour passer à l'étape suivante.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
La prochaine étape vous invitera à informer Certbot des domaines pour lesquels vous souhaitez activer le HTTPS. Les noms de domaine listés sont obtenus automatiquement à partir de la configuration de votre hôte virtuel Apache, c'est pourquoi il est important de s'assurer que vous avez les paramètres ServerName et ServerAlias corrects configurés dans votre hôte virtuel. Si vous souhaitez activer le HTTPS pour tous les noms de domaine répertoriés (recommandé), vous pouvez laisser l'invite vide et appuyer sur ENTER pour continuer. Sinon, sélectionnez les domaines pour lesquels vous souhaitez activer le HTTPS en énumérant chaque numéro approprié, séparé par des virgules et/ou des espaces, puis appuyez sur ENTER.
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: your_domain
2: www.your_domain
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):
Vous verrez une sortie de ce type :
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for your_domain
http-01 challenge for www.your_domain
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/your_domain-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/your_domain-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-ssl.conf
Ensuite, vous serez invité à choisir si vous voulez ou non que le trafic HTTP soit redirigé vers le HTTPS. En pratique, cela signifie que lorsqu'une personne visite votre site web par des canaux non cryptés (HTTP), elle sera automatiquement redirigée vers l'adresse HTTPS de votre site web. Choisissez 2 pour activer la redirection, ou 1 si vous souhaitez conserver HTTP et HTTPS comme méthodes distinctes d'accès à votre site web.
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): 2
Après cette étape, la configuration de Certbot est terminée, et les dernières remarques sur votre nouveau certificat vous seront présentées, ainsi que l'emplacement des fichiers générés et la manière de tester votre configuration à l'aide d'un outil externe qui analyse l'authenticité de votre certificat :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://your_domain and
https://www.your_domain
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=your_domain
https://www.ssllabs.com/ssltest/analyze.html?d=www.your_domain
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
  - Congratulations! Your certificate and chain have been saved at:
    /etc/letsencrypt/live/your_domain/fullchain.pem
    Your key file has been saved at:
    /etc/letsencrypt/live/your_domain/privkey.pem
    Your cert will expire on 2020-07-27. 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
Votre certificat est maintenant installé et chargé dans la configuration d'Apache. Essayez de recharger votre site web en utilisant https:// et remarquez l'indicateur de sécurité de votre navigateur. Il doit indiquer que votre site est correctement sécurisé, généralement en incluant une icône de cadenas dans la barre d'adresse.
Vous pouvez utiliser le SSL Labs Server Test pour vérifier la qualité de votre certificat et obtenir des informations détaillées à son sujet, dans la perspective d'un service externe.
Dans la prochaine et dernière étape, nous testerons la fonction de renouvellement automatique de Certbot, qui garantit que votre certificat sera renouvelé automatiquement avant la date d'expiration.

Version du 15 décembre 2021 à 12:31

Let’s Encrypt est une autorité de certification (CA) qui facilite l'obtention et l'installation de certificats TLS/SSL gratuits, permettant ainsi le cryptage HTTPS sur les serveurs web. Il simplifie le processus en fournissant un logiciel client, Certbot, qui tente d'automatiser la plupart (sinon la totalité) des étapes requises. Actuellement, l'ensemble du processus d'obtention et d'installation d'un certificat est entièrement automatisé sur Apache et Nginx.

Dans ce guide, nous utiliserons Certbot pour obtenir un certificat SSL gratuit pour Apache sur Ubuntu 20.04, et nous nous assurerons que ce certificat est configuré pour se renouveler automatiquement.

Étape 1 — Installation de Certbot

Pour obtenir un certificat SSL avec Let’s Encrypt, nous devons d'abord installer le logiciel Certbot sur votre serveur. Nous utiliserons pour cela les dépôts de packages Ubuntu par défaut.

Nous avons besoin de deux packages : certbot, et python3-certbot-apache. Ce dernier est un plugin qui intègre Certbot à Apache, permettant d'automatiser l'obtention d'un certificat et la configuration HTTPS au sein de votre serveur web avec une seule commande.

sudo apt install certbot python3-certbot-apache

Vous serez également invité à confirmer l'installation en appuyant sur Y, puis sur ENTER.

Certbot est maintenant installé sur votre serveur. Dans l'étape suivante, nous allons vérifier la configuration d'Apache pour nous assurer que votre hôte virtuel est correctement configuré. Ainsi, le script client certbot pourra détecter vos domaines et reconfigurer votre serveur web pour utiliser automatiquement votre nouveau certificat SSL généré.

Étape 2 — Vérification de la configuration de votre hôte virtuel Apache

Afin de pouvoir obtenir et configurer automatiquement le SSL pour votre serveur web, Certbot doit trouver le bon hôte virtuel dans vos fichiers de configuration Apache. Le(s) nom(s) de domaine de votre serveur sera récupéré à partir des directives ServerName et ServerAlias définies dans votre bloc de configuration VirtualHost.

Si vous avez suivi l'étape de configuration de l'hôte virtuel dans le tutoriel d'installation d'Apache, vous devriez avoir un bloc VirtualHost configuré pour votre domaine à /etc/apache2/sites-available/your_domain.conf avec les directives ServerName et ServerAlias déjà définies de manière appropriée.

Pour vérifier cela, ouvrez le fichier d'hôte virtuel de votre domaine à l'aide de nano ou de votre éditeur de texte préféré :

sudo nano /etc/apache2/sites-available/your_domain.conf

Trouvez les lignes ServerName et ServerAlias existantes. Elles devraient ressembler à ceci :

...
ServerName your_domain
ServerAlias www.your_domain
...

Si vous avez déjà configuré votre ServerName et ServerAlias de cette manière, vous pouvez quitter votre éditeur de texte et passer à l'étape suivante. Si vous utilisez nano, vous pouvez sortir en tapant CTRL+X, puis Y et ENTER pour confirmer.

Si la configuration actuelle de votre hôte virtuel ne correspond pas à l'exemple, mettez-la à jour en conséquence. Lorsque vous avez terminé, sauvegardez le fichier et quittez l'éditeur. Ensuite, exécutez la commande suivante pour valider vos modifications :

sudo apache2ctl configtest

Vous devriez obtenir Syntax OK en guise de réponse. Si vous obtenez une erreur, rouvrez le fichier de l'hôte virtuel et vérifiez s'il y a des fautes de frappe ou des caractères manquants. Une fois que la syntaxe de votre fichier de configuration est correcte, rechargez Apache pour que les modifications prennent effet :

sudo systemctl reload apache2

Grâce à ces changements, Certbot sera en mesure de trouver le bloc VirtualHost correct et de le mettre à jour.

Ensuite, nous allons mettre à jour le pare-feu pour permettre le trafic HTTPS.

Étape 3 — Obtention d'un certificat SSL

Certbot propose différents moyens d'obtenir des certificats SSL par le biais de plugins. Le plugin Apache se chargera de reconfigurer Apache et de recharger la configuration chaque fois que nécessaire. Pour utiliser ce plugin, tapez ce qui suit :

sudo certbot --apache

Ce script vous invitera à répondre à une série de questions afin de configurer votre certificat SSL. Tout d'abord, il vous demandera une adresse électronique valide. Cette adresse électronique sera utilisée pour les notifications de renouvellement et les avis de sécurité :

Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): you@your_domain

Après avoir fourni une adresse électronique valide, appuyez sur ENTER pour passer à l'étape suivante. Vous serez ensuite invité à confirmer si vous acceptez les conditions d'utilisation du service Let’s Encrypt. Vous pouvez confirmer en appuyant sur A et ensuite sur ENTER :

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

Ensuite, il vous sera demandé si vous souhaitez partager votre adresse électronique avec l'Electronic Frontier Foundation pour recevoir des nouvelles et d'autres informations. Si vous ne souhaitez pas vous abonner à leur contenu, tapez N. Sinon, tapez Y. Ensuite, appuyez sur ENTER pour passer à l'étape suivante.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

La prochaine étape vous invitera à informer Certbot des domaines pour lesquels vous souhaitez activer le HTTPS. Les noms de domaine listés sont obtenus automatiquement à partir de la configuration de votre hôte virtuel Apache, c'est pourquoi il est important de s'assurer que vous avez les paramètres ServerName et ServerAlias corrects configurés dans votre hôte virtuel. Si vous souhaitez activer le HTTPS pour tous les noms de domaine répertoriés (recommandé), vous pouvez laisser l'invite vide et appuyer sur ENTER pour continuer. Sinon, sélectionnez les domaines pour lesquels vous souhaitez activer le HTTPS en énumérant chaque numéro approprié, séparé par des virgules et/ou des espaces, puis appuyez sur ENTER.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: your_domain
2: www.your_domain
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

Vous verrez une sortie de ce type :

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for your_domain
http-01 challenge for www.your_domain
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/your_domain-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/your_domain-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-ssl.conf

Ensuite, vous serez invité à choisir si vous voulez ou non que le trafic HTTP soit redirigé vers le HTTPS. En pratique, cela signifie que lorsqu'une personne visite votre site web par des canaux non cryptés (HTTP), elle sera automatiquement redirigée vers l'adresse HTTPS de votre site web. Choisissez 2 pour activer la redirection, ou 1 si vous souhaitez conserver HTTP et HTTPS comme méthodes distinctes d'accès à votre site web.

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): 2

Après cette étape, la configuration de Certbot est terminée, et les dernières remarques sur votre nouveau certificat vous seront présentées, ainsi que l'emplacement des fichiers générés et la manière de tester votre configuration à l'aide d'un outil externe qui analyse l'authenticité de votre certificat :

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://your_domain and
https://www.your_domain

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=your_domain
https://www.ssllabs.com/ssltest/analyze.html?d=www.your_domain
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your_domain/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your_domain/privkey.pem
   Your cert will expire on 2020-07-27. 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

Votre certificat est maintenant installé et chargé dans la configuration d'Apache. Essayez de recharger votre site web en utilisant https:// et remarquez l'indicateur de sécurité de votre navigateur. Il doit indiquer que votre site est correctement sécurisé, généralement en incluant une icône de cadenas dans la barre d'adresse.

Vous pouvez utiliser le SSL Labs Server Test pour vérifier la qualité de votre certificat et obtenir des informations détaillées à son sujet, dans la perspective d'un service externe.

Dans la prochaine et dernière étape, nous testerons la fonction de renouvellement automatique de Certbot, qui garantit que votre certificat sera renouvelé automatiquement avant la date d'expiration.