Recherche de site Web

Comment installer un certificat SSL gratuit pour Nginx sur Debian 10


Lors de la création d’un site Web, l’une des principales considérations que vous devez garder à l’esprit est la sécurité de votre site. Un certificat SSL est un certificat numérique qui crypte les données envoyées depuis le navigateur d'un utilisateur vers un serveur Web. De cette façon, les données envoyées sont confidentielles et protégées des pirates informatiques qui utilisent des renifleurs de paquets comme Wireshark pour intercepter et écouter vos communications.

Un site crypté comporte un symbole de cadenas dans la barre d'URL suivi de l'acronyme https comme indiqué dans la capture d'écran suivante.

Un site non chiffré comporte généralement une notification « Non sécurisé » dans la barre d'URL.

Conditions préalables

Avant de commencer, assurez-vous que les conditions suivantes sont remplies :

  1. Une instance en cours d'exécution de Debian 10 Minimal Server.
  2. Une instance en cours d'exécution du serveur Web Nginx avec configuration de domaine sur Debian 10.
  3. Un Nom de domaine entièrement qualifié (FQDN) enregistré avec l'enregistrement A pointant vers l'adresse IP de Debian 10 sur votre fournisseur de domaine.

Pour ce tutoriel, nous avons linux-console.net pointé vers l'adresse IP 192.168.0.104.

Dans cet article, nous examinons comment installer Let's Encrypt SSL sur Debian 10 pour obtenir un Certificat SSL gratuit pour Nginx. site hébergé.

Qu'est-ce que Let's Encrypt SSL

Let's Encrypt SSL est un certificat gratuit de EFF (Electronic Frontier Foundation) valable 3 mois et renouvelé automatiquement à son expiration. C’est un moyen simple et peu coûteux de chiffrer votre site si vos poches sont serrées.

Sans plus tarder, plongeons-nous dans le vif du sujet et installons Let's Encrypt sur le serveur Web Nginx :

Étape 1 : Installer Certbot dans Debian 10

Pour commencer, nous devons installer Certbot – est un logiciel qui récupère le certificat numérique Let's encrypt et le déploie ensuite sur un serveur Web. Pour ce faire, nous devons installer le package python3-certbot-nginx. Mais avant de le faire, mettons d’abord à jour les packages système.

sudo apt update

L'étape suivante consiste à installer les dépendances requises par le package python3-certbot-nginx.

sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Installons maintenant le package python3-certbot-nginx.

sudo apt install python3-certbot-nginx

Étape 2. Vérification de la configuration du bloc du serveur Nginx

Pour que certbot déploie automatiquement le certificat Let's encrypt SSL sur le serveur Web Nginx, un bloc de serveur doit être configuré. Nous avons couvert la configuration des blocs du serveur Nginx dans la dernière section de l'article précédent.

Si vous avez suivi attentivement, vous devriez avoir un blocage de serveur sur /etc/nginx/sites-available/some_domain. Dans notre cas, le bloc serveur Nginx sera

/etc/nginx/sites-available/linux-console.net

De plus, assurez-vous que la directive server_name correspond à votre nom de domaine.

server_name linux-console.net linux-console.net;

Pour confirmer que toutes les configurations Nginx sont en ordre, exécutez :

sudo nginx -t

Le résultat ci-dessus indique que tout va bien.

Étape 3 : Configurez le pare-feu pour ouvrir le port HTTPS

Si vous avez configuré et activé ufw, comme c'est toujours recommandé, nous devons autoriser le protocole HTTPS à travers le pare-feu afin que le serveur Web soit accessible à tout le monde.

sudo ufw allow 'Nginx Full'

Ensuite, rechargez le pare-feu pour appliquer les modifications.

sudo ufw reload

Pour vérifier que nous avons autorisé le protocole à travers le pare-feu.

sudo ufw status

Étape 4 : Déploiement du certificat SSL Let's Encrypt pour le domaine

Une fois tous les paramètres et configurations vérifiés, il est temps de récupérer et de déployer le certificat Let's Encrypt SSL sur le site du domaine.

sudo certbot --nginx -d domain-name  -d www.domain-name.com 

Dans notre cas, nous aurons

sudo certbot --nginx -d linux-console.net -d linux-console.net

Dans la première étape, vous serez invité à saisir votre adresse e-mail. Tapez votre adresse et appuyez sur Entrée.

Ensuite, il vous sera demandé d'accepter les conditions d'utilisation. Tapez A pour continuer.

Certbot vous demandera votre consentement avant d'utiliser votre courrier électronique pour vous envoyer des notifications sur les derniers développements de EFF. Ici, vous pouvez choisir de vous inscrire ou de vous désinscrire. Pour vous inscrire, tapez Y (Oui) et appuyez sur Entrée. Pour refuser la participation, appuyez sur N (Non).

Certbot contactera ensuite Let's encrypt, téléchargera le certificat SSL et le déploiera sur le bloc serveur Nginx que vous avez déjà créé.

Dans la section suivante, saisissez 2 pour rediriger le trafic HTTP habituel vers HTTPS.

Le certificat sera déployé sur votre serveur Nginx et vous recevrez une notification de félicitations pour confirmer que votre serveur Web est désormais chiffré à l'aide de Let's Encrypt SSL.

Étape 5 : Vérifiez HTTPS sur le site Web Nginx

Pour vérifier les modifications via un navigateur Web, actualisez l'onglet de votre navigateur et assurez-vous de remarquer le symbole du cadenas.

Cliquez sur l'icône de cadenas et sélectionnez l'option « Certificat » pour afficher les détails du certificat SSL.

Tous les détails du certificat seront affichés.

Vous pouvez vérifier davantage l'état de votre serveur Web en testant l'URL de votre site à l'adresse https://www.ssllabs.com/ssltest/. Si le serveur Web est chiffré à l'aide d'un certificat SSL, vous obtiendrez un score A comme indiqué.

Conclusion

Nous sommes arrivés à la fin de ce tutoriel. Dans le guide, vous avez appris comment installer un certificat SSL gratuit pour Nginx sur Debian 10.