Astuces

Comment sécuriser Nginx avec Let’s Encrypt – Guide

Nginx et Let’s Encrypt

Aujourd’hui, pour protéger votre site web, vous avez besoin d’acheter un certificat SSL. La plupart des sites utilisent l’un des certificats SSL / TLS pour protéger les données sensibles contre d’éventuelles menaces. Qu’est ce qu’un certificat SSL?

Fondamentalement, un certificat SSL est un fichier de données qui lie une clé cryptographique aux informations d’une organisation ou d’un individu. Un certificat SSL permet de chiffre les donnèes de communication entre votre site et ses visiteurs comme les informations d’authentification, de paiment etc.

Un exemple, afin que vous puissiez comprendre facilement le processus : disons que vous avez un magasin en ligne et que vous vendez quelque chose (n’importe quoi).

Un visiteur décide d’acheter un produit auprès de votre site e-commerce. Pour ce faire, il doit payer pour ça en premier (la plupart du temps). Cela se fait par la saisie de ses informations de carte de crédit dans un formulaire sur votre page de paiement.

Mais qu’est ce qu’il arrive quand les données ont été saisies et envoyées pour traiter le paiement? Si vous n’avez pas un certificat de sécurité installé (SSL / TLS), les données de carte de crédit pourrait être interceptées par une personne indésirable.

Tout simplement, quelqu’un pourrait pirater les données de la carte de l’acheteur et de l’utiliser comme son propre.

Un certificat SSL permet de s’assurer que de telles choses ne se produira jamais. Le protocole SSL permet de chiffrer les données sensibles de vos visiteurs, dans ce cas, ses informations de carte de crédit.

Vous me croyez si je vous dit que la sécurisation d’un site web peut être fait sans aucun coût? Si votre réponse est non, alors laissez-moi vous dire que c’est totalement possible.

Oui, sans payer un centime. Dans cet article vous allez découvrir comment protéger votre site de manière efficace gratuitement. Nous allons couvrir un fournisseur de certificats SSL populaire , appelée « Let’s Encrypt ». Vous verrez également comment l’utilisé avec le serveur web NGINX.

Qu’est-ce que Let’s Encrypt ?

Let’s Encrypt est une autorité de certification gratuite, automatisée et ouverte. c’est un service open source qui vous donne la capacité d’avoir un SSL sur votre site web gratuitement.

L’installation et le renouvellement des certificat SSL se faire automatiquement, sans avoir besoin de trop de connaissances techniques.

Autre chose, Let’s Encrypt a aussi une grande communauté derrière qui peut vous aider, si vous rencontrez des problèmes lors de la première utilisation du service. Mais si la communauté n’a pas de réponse pour la question, la documentation est encore là pour l’aider. Let’s Encrypt est livré avec une documentation détaillée couvrant tout. Bien sûr, cela est très utile si vous avez l’habitude de faire les choses vous même.

Qu’est-ce que NGINX?

NGINX est un logiciel libre de serveur Web (ou HTTP) ainsi qu’un proxy inverse. Il est utilisé par plus de 400 millions de site web, partout dans le monde.

Parmi les entreprises qui utilisent NGINX on cite Autodesk, Atlassian, Intuit, T-Mobile, GitLab, DuckDuckGo, Microsoft, IBM, Google, Adobe, Adobe, Salesforce, VMWare, Xerox, LinkedIn, Cisco, Facebook, Target, Citrix Systems, Twitter, Apple, Intel et beaucoup plus (source).

Comment sécuriser Nginx avec Let’s Encrypt ?

La première étape pour utiliser Let’s Encrypt pour obtenir un certificat SSL consiste à installer le logiciel Certbot sur votre serveur.

Tout d’abord, il faut ajouter le référentiel, entrez la ligne de commande suivante:

$ add-apt-repository ppa:certbot/certbot

Vous devrez appuyer sur ENTER pour accepter.

Ensuite, vous devez installer certbot :

$ apt-get update
$ apt-get install python-certbot-nginx

Certbot est maintenant prêt à être utilisé, mais pour configurer SSL pour Nginx, nous devons vérifier certaines des configurations de Nginx.

L’étape suivante consiste à configurer NGINX. Pour ce faire, je vais supposer que vous êtes en train de l’installer pour la première fois. Tout d’abord, vous devez créer un fichier appelé www.example.com.conf dans le dossier /etc/nginx/conf.d. Bien sûr, n’hesites pas à changer www.example.com par votre vrai nom de domaine.

Dans ce fichier, vous devez taper le code suivant:

server {

listen 80 default_server;

écouter [: :] : 80 default_server;

root /var/www/html;

server_name example.com www.example.com;

}

Maintenant, enregistrez ce fichier et exécutez la commande:

$ nginx –t && -s reload

Ceci permettra de vérifier si votre syntaxe est correcte et le redémarrage de nginx.

Ensuite, vous devez obtenir le certificat SSL. Pour ce faire, entrez la commande:

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

Après avoir entré la commande ci-dessus, vous devrez répondre à des demandes spécifiques de certbot pour configurer les paramètres de votre HTTPS . Cela consiste à entrer votre adresse e-mail et de confirmer les conditions d’utilisation de Let’s Encrypt .

Une fois que tout est fait, NGINX va redémarrer et afficher un message contenant l’emplacement du certificat sur votre serveur.

Pour vous assurer que tout fonctionne correctement, vous devez renouveler votre certificat de NGINX tous les 90 jours. Vous pouvez le faire manuellement, ce qui est la méthode la plus simple. Permettez-moi de vous montrer comment:

Il suffit de taper dans la ligne de commande certbot renew. C’est un moyen facile et rapide de renouveler le certificat.

Maintenant, vous savez comment sécuriser Nginx avec Let’s Encrypt. Si vous avez d’autres questions sur l’installation de Let’s Encrypt dans le serveur web Nginx, consultez leur documentation.