GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Sécuriser Nginx avec Let's Encrypt sur Ubuntu 18.04 - Comment faire ?

Let's Encrypt est une autorité de certification (CA) gratuite et ouverte. Il fournit un moyen simple d'obtenir, d'installer et de renouveler des certificats TLS/SSL gratuits.

Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes Nginx associées.

Dans ce contexte, nous verrons comment obtenir et installer gratuitement le certificat SSL Let's Encrypt et Secure Nginx sur le serveur Ubuntu 18.04.


Comment installer Let's Encrypt sur Ubuntu ?

Avant d'effectuer cette procédure d'installation, assurez-vous que les conditions suivantes sont remplies :

  • Serveur Ubuntu avec un utilisateur non root avec des privilèges sudo.
  • Nginx doit être installé et configuré, comme indiqué dans ce guide.
  • Avoir un bloc de serveur Nginx pour votre domaine, comme indiqué dans ce guide.
  • Votre nom de domaine doit pointer vers l'adresse IP de votre serveur.


Maintenant, suivez les étapes pour utiliser l'outil Certbot afin d'obtenir un certificat SSL gratuit pour Nginx sur le serveur Ubuntu 18.04.


1. Installez le client Certbot

Vous pouvez facilement obtenir, installer et renouveler les certificats SSL Let's Encrypt à l'aide du package client Certbot. Il est utile de configurer les serveurs Web pour utiliser les certificats SSL. Le package certbot est inclus dans les référentiels Ubuntu par défaut.

Tout d'abord, nous allons mettre à jour l'index de la liste des packages en tapant :

$ sudo apt update

Installez maintenant le client Certbot en exécutant la commande ci-dessous :

$ sudo apt install python-certbot-nginx

De plus, vous pouvez vérifier que certbot est installé avec succès ou non en tapant :

$ certbot --version


2. Configurer le pare-feu

Si votre serveur est protégé par un pare-feu UFW, vous devez ajuster le pare-feu pour autoriser le trafic HHTPS.

Pour voir les paramètres actuels par type :

$ sudo ufw status
Output
Status: active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Pour obtenir du trafic HTTPS, vous devez autoriser le profil complet Nginx et supprimer l'allocation de profil HTTP Nginx redondante :

$ sudo ufw allow 'Nginx Full'
$ sudo ufw delete allow 'Nginx HTTP'

Maintenant, le statut ressemblera à ce qui suit :

Output
Status: active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx Full                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx Full (v6)            ALLOW       Anywhere (v6)


3. Obtenez le certificat SSL Let's Encrypt sur Nginx

Vous pouvez obtenir des certificats SSL de plusieurs façons.

je. Ici, nous allons utiliser le client certbot pour obtenir un certificat SSL :

$ sudo certbot --nginx -d example.com -d www.example.com

Ici, nous demandons les domaines example.com et www.example.com. S'il s'agit de la première installation, il vous sera demandé d'entrer une adresse e-mail et d'accepter les termes et conditions. L'adresse e-mail saisie sera utilisée pour envoyer des alertes par e-mail liées au renouvellement et à l'expiration du SSL.

Ensuite, si la validation a réussi, il vous sera demandé de configurer les paramètres HTTPS :

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

ii. Sélectionnez l'option 1 ou 2 selon votre choix et appuyez sur Entrée pour continuer. Les blocs de serveur Nginx seront mis à jour en fonction de l'option que vous avez sélectionnée et il rechargera Nginx pour que les nouveaux paramètres prennent effet.

Enfin, votre domaine est sécurisé avec le certificat SSL Let's Encrypt. Vous pouvez vérifier en visitant votre site avec le protocole HTTPS.


Comment configurer le renouvellement automatique pour le certificat SSL Let's Encrypt ?

Les certificats SSL Let's Encrypt ont une courte durée de vie de 90 jours, vous devez donc les renouveler avant leur expiration.

je. Vous pouvez renouveler le certificat SSL avant qu'il n'expire en tapant :

$ sudo certbot renew

ii. De plus, vous pouvez configurer le processus de renouvellement automatique pour les certificats SSL Let's Encrypt en ajoutant un cronjob. Exécutez la commande ci-dessous pour ouvrir crontab :

$ sudo crontab -e

iii. Ensuite, ajoutez la ligne ci-dessous à la fin du fichier. Il exécutera la commande deux fois par jour et la renouvellera si le certificat est sur le point d'expirer :

0 */12 * * * root test -x /usr/bin/certbot -a ! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew

iv. Enregistrez et fermez le fichier.

v. Vous pouvez également vérifier le processus de renouvellement automatique du certbot en tapant :

$ sudo certbot renew --dry-run



Ubuntu
  1. Comment sécuriser Nginx avec Lets Encrypt sur Ubuntu 20.04 / 18.04

  2. Sécurisez Nginx avec Lets Encrypt sur Ubuntu 18.04

  3. Sécurisez Nginx avec Lets Encrypt sur Ubuntu 16.04

  4. Comment sécuriser Nginx avec Letsencrypt sur Ubuntu 20.04

  5. Comment sécuriser Nginx avec Let's Encrypt sur Ubuntu 20.04

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

Comment sécuriser le serveur LEMP avec Let's Encrypt Free SSL sur Ubuntu 18.04 VPS

Comment sécuriser Nginx avec Let's Encrypt sur CentOS 8

Comment sécuriser Nginx avec Let's Encrypt sur Ubuntu 20.04

Comment sécuriser Apache avec Let's Encrypt sur Ubuntu 20.04

Comment sécuriser votre site Web avec Let's Encrypt sur Ubuntu 20.04