GNU/Linux >> Tutoriels Linux >  >> Linux

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

Qu'est-ce qu'un certificat SSL ?

Au fil du temps, les cas d'atteintes à la sécurité liées à Internet ont augmenté, les pirates informatiques continuant de travailler 24 heures sur 24 pour voler les données des utilisateurs à des fins malveillantes. Un certificat SSL est un certificat numérique qui est installé sur les serveurs de sites Web principalement pour chiffrer les données envoyées entre le navigateur de l'utilisateur et le serveur afin que seul le destinataire prévu y accède. Ceci est crucial car, sans cryptage, les informations sont envoyées sous forme de données en texte brut et peuvent facilement être interceptées par des pirates.

Pour cette raison, la plupart des magasins de commerce électronique et des plateformes de paiement en ligne telles que PayPal chiffrent leurs sites Web. Le certificat SSL permet également l'authentification et garantit que les informations sont envoyées au bon serveur et non à un pirate informatique.

Google aime les sites sécurisés

Le certificat SSL aide à classer votre site plus haut dans Google. Selon l'annonce de Google, les sites cryptés SSL seront mieux classés que ceux qui n'en ont pas et qui sont considérés comme dangereux. Un site sécurisé est symbolisé par un cadenas sur la barre d'URL et l'URL précédée de https au lieu de HTTP. Si vos sites ne disposent pas d'une extension HTTPS sécurisée, Google indique l'URL du site comme "Non sécurisé", ce qui peut avoir un impact négatif
sur le classement de votre site.

Nginx avec la certification SSL Let's Encrypt sur Ubuntu

Dans cet article, nous verrons comment sécuriser Nginx avec Let’s encrypt SSL sur Ubuntu 18.04. Let's Encrypt est un SSL gratuit et automatisé fourni par Let's Encrypt Authority. En 2018, Let's Encrypt avait sécurisé plus de 150 millions de sites Web.

Commençons et voyons comment nous pouvons sécuriser Nginx avec Let's encrypt SSL sur Ubuntu 18.04.

Prérequis

Pour commencer, assurez-vous d'avoir les éléments suivants :

  • Instance de serveur du serveur Ubuntu 18.04 avec accès ssh
  • Une utilisation non root avec les privilèges sudo
  • Un nom de domaine complet (FQDN) avec un enregistrement A pointant vers l'adresse IP du serveur
  • Dans cet exemple, nous allons utiliser le nom de domaine crazytechgeek.info qui pointe vers un VPS avec l'adresse IP 18.191.46.130 .

Étape 1. Installer Nginx

La première chose à faire sera d'installer le serveur Web Nginx. Mais d'abord, mettez à jour votre système en vous connectant en tant qu'utilisateur non root et en exécutant la commande suivante.

$ sudo apt update

Ensuite, installez Nginx avec la commande suivante.

$ sudo apt install nginx

Sortie :

Une fois installé, vérifiez que Nginx est en cours d'exécution en exécutant la commande suivante.

$ sudo systemctl status nginx

Sortie :

Super! Maintenant que nous avons installé notre serveur Web, passons à l'étape suivante.

Étape 2. Installer Certbot

Installons maintenant Certbot sur notre serveur. Dans cet exemple, nous utiliserons le référentiel de logiciels Ubuntu qui contient tous les fichiers mis à jour. Pour ajouter le référentiel Certbot, exécutez la commande suivante.

$ sudo add-apt-repository ppa:certbot/certbot

Sortie :

Installation de Certbot

Pour informer les référentiels système des modifications apportées, veuillez mettre à jour le système.

$ sudo apt update

Étape 3. Installez le package Certbot Nginx

Nous allons ensuite installer le package Certbot Nginx. Pour ce faire, exécutez la commande ci-dessous :

$ sudo apt-get install python-certbot-nginx

Sortie

Étape 4. Mise à jour du pare-feu pour autoriser le trafic HTTPS

nous devons autoriser le trafic HTTPS à travers le pare-feu pour que SSL fonctionne avec le port 443. Commençons par vérifier l'état du pare-feu.

$ sudo ufw status

Sortie

Avant d'activer le pare-feu, commençons par autoriser "Nginx Full" qui s'occupera à la fois de HTTP et de HTTPS.

$ sudo ufw allow 'Nginx Full'

Sortie

Activons maintenant le pare-feu ufw. Appuyez sur "y" lorsque vous y êtes invité.

$ sudo ufw enable

Sortie

Vérifions si les règles ont été ajoutées au pare-feu.

$ sudo ufw status

Sortie

Statut Ufw actif

Étape 5. Génération du certificat SSL

La dernière partie est la génération du certificat SSL Let’s Encrypt. Pour ce faire, utilisez la syntaxe ci-dessous.

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

Cela générera le certificat SSL qui sera valide pour example.com ainsi que www.example.com.

Dans notre cas, nous aurons ;

$ sudo certbot --nginx -d crazytechgeek.info -d www.crazytechgeek.info

Sortie

Si vous exécutez Certbot pour la première fois, vous serez d'abord invité à saisir une adresse e-mail.

La communication sera alors initiée avec le serveur Let's Encrypt et essaiera de vérifier que vous contrôlez le domaine pour lequel vous demandez un certificat.

Prochain. Appuyez sur A pour accepter les conditions d'utilisation.

Ensuite, il vous sera demandé si vous souhaitez que votre adresse e-mail soit partagée avec EFF. Ici, vous pouvez décider de vous inscrire ou non.

La prochaine étape est celle où tout compte. C'est à ce moment que vous devrez rediriger les requêtes HTTP vers HTTPS. Sélectionnez la deuxième option.

Si tout s'est bien passé, vous recevrez un message confirmant que tout s'est bien passé.

Formidable! vous avez installé avec succès Let's encrypt SSL sur votre serveur Web Nginx.

Pour vérifier cela, accédez à l'adresse de votre serveur dans le navigateur et actualisez.

Notez que l'URL est passée de HTTP à HTTPS au début. Pour afficher plus d'informations sur le certificat SSL, cliquez sur le symbole du cadenas et sélectionnez l'option "Certificat".

Sortie

Renouveler le certificat SSL Let's Encrypt

Chiffrons la validité du certificat est de 90 jours. Cela signifie que le renouvellement est après 3 mois. Le renouvellement pour l'automatisation se fait automatiquement par Let's encrypt. Pour tester le processus de renouvellement, faites un essai avec Certbot comme indiqué.

sudo certbot renew --dry-run

S'il n'y a pas d'erreurs, tout s'est déroulé comme prévu et, au besoin, le renouvellement automatique de aura lieu. Tous les messages concernant l'expiration de l'autorité de certification seront envoyés à l'adresse e-mail spécifiée lors de la configuration.


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

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

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

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

  5. Comment sécuriser une connexion SSL avec Apache sur Ubuntu 18.04

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

Comment installer Let's Encrypt SSL avec Nginx sur Ubuntu 16.04 LTS

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