GNU/Linux >> Tutoriels Linux >  >> Debian

Sécurisez Nginx avec Let's Encrypt SSL sur Debian 10/11

Aperçu

Dans l'article suivant, nous allons couvrir la procédure de sécurisation de Nginx avec Let's Encrypt SSL sur la machine Debian 10 (cette procédure peut également être appliquée sur Debian 11). Le message présentera le scénario, où nous devons installer certbot sur notre machine Debian et obtenir le certificat SSL de Let's Encrypt, configurer la redirection HTTPS automatique et tester également le renouvellement du certificat. Ici, nous avons déjà une machine Debian avec Nginx préinstallé sur laquelle nous allons suivre les étapes de sécurisation de nginx avec let’s encrypt ssl.

Exigences

1.. Enregistrez et validez un nom de domaine pointant vers votre serveur Debian.

2.. Serveur Debian 10 (ou serveur Debian 11)

3.. Serveur Web Nginx installé et en cours d'exécution

4.. Configuration du pare-feu (ports HTTP et HTTPS ouverts)

Si vous avez un pare-feu UFW ou IPTABLES, vous devez les configurer pour qu'ils ouvrent les ports 80 et 443 pour HTTP et HTTPS afin non seulement d'héberger votre site Web

UFW

sudo ufw allow http
sudo ufw allow https

IPTABLES

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

or

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Installation de certbot

Nous utiliserons l'outil Let's Encrypt Cerbot afin d'obtenir le certificat SSL et le plugin Nginx pour certbot également. Les deux outils nous aideront à obtenir le certificat très facilement, rapidement et à effectuer les modifications de configuration nécessaires sur Nginx. En plus de cela, les outils ont les fonctionnalités d'automatisation, donc à l'expiration du SSL, ils peuvent renouveler et réinstaller le certificat.

sudo apt install certbot python3-certbot-nginx

Acquérir le certificat SSL de Let's Encrypt

Une fois que vous avez confirmé que les ports du pare-feu sont ouverts et que vous avez terminé l'installation du certbot. Pour acquérir le certificat SSL de Let's encrypt, il suffit d'exécuter la commande :

sudo certbot --nginx -d yourdomain.com

Une remarque - avant d'exécuter la commande, il faut d'abord dans votre fichier de configuration nginx, écrire au paramètre server_name le nom de domaine réel que vous avez pointé vers votre serveur. Certbot examinera ce paramètre dans la configuration de bloc de votre serveur et créera les fichiers de configuration de cryptage en fonction de ce paramètre. Exemple dans une image ci-dessous :

sudo nano /etc/nginx/sites-available/example.com

Lorsque vous exécutez cette commande, l'assistant certbot démarre. Si vous exécutez le cerbot pour la première fois, il vous demandera d'abord de fournir une adresse e-mail à utiliser comme contact et d'accepter les termes de la licence de Let's encrypt.

Après cela, il lancera le challenge http, obtiendra le certificat et à la fin il vous demandera si vous le souhaitez pour configurer tout de suite la redirection https, qui est également une bonne option.

Dès que la configuration de la redirection est terminée, le nouveau domaine avec certificat SSL devrait fonctionner immédiatement.

Configurer et tester le renouvellement automatique

Les certificats Let's encrypt sont valides par défaut pendant trois mois et le renouvellement automatique du cerbot est configuré pour renouveler le certificat au moins une fois, lorsque le certificat a moins de 30 jours de validité. Une fois le certificat SSL acquis, valide et actif, doublez si le service de minuterie du certbot est actif et en cours d'exécution et testez le processus de renouvellement avec l'option de simulation :

sudo systemctl status certbot.timer

sudo certbot renew --dry-run

Vérifier la configuration Nginx

Vous pouvez revérifier la configuration nginx si le cerbot a écrit avec succès la configuration pour les certificats ssl et pour la redirection HTTPS. Cerbot redémarrera le nginx une fois la configuration terminée, votre domaine/site Web devrait être sécurisé et fonctionner avec le SSL actif.

Résumé

Pour résumer, nous avons suivi les étapes de sécurisation de Nginx avec Let's Encrypt SSL sur la machine Debian 10 et sur la machine Debian 11 également. Nous avons utilisé l'outil certbot de let's encrypt pour les demandes de certificat SSL et son renouvellement automatique. Heureusement pour certbot et son plugin nginx, le processus est vraiment simple et direct et rapide à compléter. Une suggestion à ce sujet est - ce serait une bonne option d'avoir une sauvegarde du dossier let's encrypt et de le sauvegarder fréquemment (comme certbot lui-même l'a suggéré). Ceci est bien sûr facultatif et dépend de la manière dont vous avez défini la fréquence de renouvellement des certificats.

Cryptons le service, même s'il est gratuit et très populaire dans le monde de la technologie, c'est une bonne option pour sécuriser certains types de sites Web. Cependant, il n'est pas recommandé d'utiliser leurs certificats gratuits sur les sites Web de commerce électronique par exemple ou sur tout type de site qui doit transmettre et stocker des données très sensibles (cartes de crédit et similaires). C'est pourquoi, par défaut, il est recommandé d'avoir un délai de renouvellement court pour les certificats SSL. Sur cette note, Let's encrypt n'est pas la seule option gratuite à utiliser. Cloudflare a la même option pour fournir des SSL gratuits et peut également être utilisé pour sécuriser votre site Web Nginx. Si cette option vous intéresse, vous pouvez consulter l'article sur ce lien.


Debian
  1. Sécurisez Nginx avec Lets Encrypt sur CentOS 7

  2. Sécurisez Nginx avec Lets Encrypt sur Debian 9

  3. Sécurisez Apache2 avec Let's Encrypt SSL sur Debian 10/11

  4. Installer WordPress avec Nginx sur Debian 10/11

  5. Comment sécuriser Nginx avec SSL et Let's Encrypt dans FreeBSD

Comment installer WordPress avec Nginx et Let's Encrypt SSL sur Debian 11

Comment configurer le certificat SSL Let's Encrypt avec Nginx sur Ubuntu 18.04 et Ubuntu 16.04

Installez et configurez Webmin avec le certificat SSL Let's Encrypt gratuit sur Debian 10

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

Sécurisez Nginx avec le certificat SSL Let's Encrypt sur Ubuntu 18.04

Comment sécuriser Nginx avec le certificat SSL Let's Encrypt