Permet de crypter

Configurer Let's Encrypt sur Digital Ocean Droplet

Configurer Let's Encrypt sur Digital Ocean Droplet
Autrefois, il était tout à fait normal que les sites Web diffusent du contenu via le protocole HTTP traditionnel, car la sécurité n'était pas un gros problème. Cependant, de nos jours, en raison de la montée des cybercrimes tels que les vols d'identité, les vols de cartes de crédit, l'écoute clandestine, il est vraiment important de sécuriser le canal par lequel communique avec le serveur. Let's encrypt est une autorité de certification qui fournit gratuitement des certificats SSL/TLS. Les certificats délivrés par eux sont valables 3 mois, soit 90 jours par rapport à un an ou plus par les autorités de certification de qualité commerciale. Cependant, il offre la même protection que les certificats payants ; par conséquent, il est souvent choisi par de nombreux blogueurs et propriétaires de petits sites Web contre les cybercriminels. Cet article a pour but de montrer comment sécuriser les gouttelettes DigitalOcean avec let's encrypt.

Conditions

Ce guide utilise Ubuntu 16.04 comme système d'exploitation sur lequel le serveur Web s'exécute. Cependant, les mêmes étapes peuvent être utilisées pour toutes les autres versions d'Ubuntu tant qu'il n'y a pas de différence dans les paramètres. Ce guide suppose que l'utilisateur a déjà installé un serveur Web et qu'il s'agit de Nginx. En tant que client SSH, Putty est utilisé et en tant qu'éditeur de fichiers, Nano est recommandé.

Solution

  1. Le serveur Web créé sur les Droplets est accessible via le protocole SSH. Téléchargez et installez Putty depuis son site officiel. L'application est entièrement gratuite.
sudo apt-get install putty
  1. Après avoir téléchargé Putty, allez-y et téléchargez le Nano. Le but de Putty est d'accéder à la console Linux pour taper des commandes shell, tandis que Nano est utilisé pour éditer des fichiers internes tels que le fichier par défaut Nginx.
sudo apt-get install nano
  1. Lancez Putty et accédez à l'onglet Session.
  1. Dans le champ Nom d'hôte, saisissez l'adresse IP du droplet de DigitalOcean où le serveur Web est installé. L'adresse IP des Droplets peut être trouvée dans https://cloud.océan numérique.com/gouttelettes. Dans le champ port, tapez 22.
  1. Après avoir soumis tous les champs requis comme indiqué ci-dessus, appuyez sur OK pour appliquer les modifications et connectez-vous au Droplet. Lors de la connexion au système, il demandera le nom d'utilisateur et le mot de passe du Droplet. Le nom d'utilisateur et le mot de passe sont envoyés par e-mail à l'adresse e-mail enregistrée dans DigitalOcean lors de la création de la gouttelette.
  1. Ce guide utilise Certbot, un outil tiers pour automatiser l'ensemble du processus de récupération et de renouvellement des certificats numériques. Certbot a son propre site Web à partir duquel les commandes à utiliser peuvent être générées facilement. Selon Certbot, les bonnes commandes pour installer Certbot sur Ubuntu sont celles-ci. Tout d'abord, il met à jour les informations du package dans le référentiel local, puis il installe le package commun des propriétés logicielles qui fournit des scripts utiles pour gérer les packages personnels (PPA), puis il installe certbot, puis il met à jour à nouveau le référentiel local, puis il installe enfin paquet python certbot nginx. Assurez-vous que tous ces packages sont correctement installés avant de passer à l'étape suivante.
$ sudo apt-get mise à jour
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get mise à jour
$ sudo apt-get install python-certbot-nginx
  1. Accédez au site Web sur lequel le domaine a été acheté. Ce guide utilise Porkbun comme registraire de domaine, puis ajoute l'enregistrement A au domaine. Le type est un enregistrement, l'hôte est vide si l'adresse IP est associée au domaine racine, sinon utilisez le nom de sous-domaine sans le domaine racine, par exemple s'il s'agit de nucuta.com, utilisez simplement www. Comme réponse, tapez l'adresse IP du Droplet.
  1. De la même manière, redirigez le trafic WWW vers le domaine racine comme suit. Le type est "CNAME", l'hôte est "WWW", la réponse est "nucuta.com" ou votre domaine. Cette étape est importante car elle redirige tout le trafic www vers le domaine racine.
  1. Utilisez la commande suivante sur Putty pour accéder au fichier par défaut de Nginx. Le fichier par défaut utilise par défaut un bloc de serveur où se trouve le domaine principal. Nano Editor est fortement recommandé car il est assez pratique à utiliser par rapport aux autres.
sudo nano /etc/nginx/sites-available/default
  1. Dans le fichier par défaut, accédez au bloc server et redirigez le trafic HTTP vers HTTPs, et dans l'autre bloc de serveur où le trafic sécurisé est géré, changez le server_name en nom de domaine, par exemple
nom_serveur nucuta.com www.nucuta.com
  1. Tapez la commande suivante pour redémarrer le serveur Web Nginx. Chaque fois qu'une modification a été apportée au fichier par défaut, l'ensemble du serveur Nginx doit être redémarré pour que les nouvelles modifications aient un effet.
sudo systemctl recharger nginx
  1. Par défaut, le pare-feu bloque tout le trafic sauf vers les ports 80 et 22. Le HTTPS utilise le port 443 ; par conséquent, il doit être ouvert manuellement pour accéder au serveur Web du côté client. L'ouverture du port dépend du pare-feu.

    En CSF (pare-feu serveur configuré)

    1. Ouvre le fichier de configuration CSF en tapant la commande suivante.
    nano /etc/csf/csf.conf
    1. Ajoutez les ports suivants à TCP In et Out.
    TCP_IN = "20,21,22,25,53,80,443"
    TCP_OUT = "20,21,22,25,53,80,443"
    1. Redémarrez le CSF en tapant csf -r

    En USF (Pare-feu simple)

    1. Tapez les deux commandes suivantes pour ajouter HTTPS à la liste d'exceptions. Le package « Nginx Full » possède à la fois des ports HTTP et HTTPS ; donc l'ajout du package complet permet à la fois le trafic entrant et sortant.
    sudo ufw autorise 'Nginx Full'
    sudo ufw supprimer autoriser 'Nginx HTTP'
    1. Tapez la commande suivante pour voir l'état
  2. statut ufw
  1. Vérifiez le port 443 à partir d'un site Web externe pour vous assurer qu'il s'ouvre à coup sûr. Si le port est ouvert, il indiquera "le port 443 est ouvert"
  1. Utilisez maintenant le Certbot pour récupérer le certificat SSL sur le domaine. Le paramètre D est requis pour spécifier le domaine. Let's encrypt libère un certificat pour la racine et le sous-domaine www. Avoir un seul pour l'une ou l'autre version émettra un avertissement dans le navigateur si un visiteur accède à l'autre version ; il est donc important d'obtenir le certificat pour les deux versions. sudo certbot --nginx -d nucuta.com-d www.nucuta.com
  1. Certbot demandera de rediriger tout le trafic HTTP vers HTTPS, mais ce n'est pas obligatoire car cela a déjà été fait dans l'une des étapes précédentes.
  1. Accédez maintenant au site Web SSL Lab et vérifiez la qualité ou tout autre problème du certificat et de sa configuration. https://www.ssllabs.com/ssltest/
  1. Si la configuration actuelle n'est pas suffisamment sécurisée, accédez au générateur de configuration SSL de Mozilla et générez les paramètres de votre serveur Web. https://mozilla.github.io/server-side-tls/ssl-config-generator/. Comme ici utilise Nginx, assurez-vous d'utiliser Nginx comme serveur Web. Il propose trois options, intermédiaire, ancien et moderne. L'ancienne option rend le site Web compatible avec pratiquement tous les navigateurs, y compris les très anciens navigateurs comme IE 6, tandis que l'option intermédiaire le rend idéal pour les utilisateurs moyens, l'option moderne génère la configuration requise pour une sécurité maximale, mais en contrepartie, le site Web ne fonctionnera pas correctement sur les anciens navigateurs. Il est donc fortement recommandé pour les sites Web où la sécurité est une préoccupation majeure.
  1. Accédez à votre site Web et faites un clic droit sur l'icône de verrouillage, puis sur l'option « Certificat » pour voir le certificat.
  1. S'il affiche une date future après TO dans l'option valide à partir de, ce qui signifie que le processus d'acquisition du certificat a été terminé. Cependant, il est important de rediriger le trafic vers la version appropriée du domaine, par exemple le trafic HTTP et WWW peut être redirigé vers le domaine racine HTTPS comme indiqué dans ce guide. Le certificat sera automatiquement renouvelé par certbot ; par conséquent, il est toujours disponible gratuitement pour le propriétaire du site Web.
Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...
5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...
Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...