Vous naviguez quotidiennement sur Internet, mais savez-vous réellement comment vos données sont sécurisées lors de vos interactions avec les sites web ? C’est là que le chiffrement SSL entre en jeu. Dans cet article, nous allons plonger dans les mystères du chiffrement SSL et découvrir comment il protège vos informations sensibles en ligne.
Nous verrons à la fin comment mettre en place le SSL avec let’sEncrypt sur un site web Apache2.
Un prochain article décriera la méthode pour un reverse proxy Nginx.
Qu’est-ce que le chiffrement SSL ?
SSL, pour Secure Sockets Layer, est un protocole de sécurité qui permet d’établir une connexion sécurisée entre un navigateur et un serveur web. Son successeur, le TLS (Transport Layer Security), est aujourd’hui plus couramment utilisé, mais le terme SSL est encore largement utilisé pour désigner le chiffrement des connexions HTTPS.
Le chiffrement SSL est essentiel pour prévenir l’interception et la manipulation de données confidentielles, telles que les mots de passe, les informations de paiement ou les messages privés. Il crée une « tunnel sécurisé » entre le navigateur de l’utilisateur et le serveur web, rendant les données illisibles pour les personnes malveillantes qui pourraient tenter de les intercepter.
Comment fonctionne le chiffrement SSL ?
Le chiffrement SSL repose sur un processus en plusieurs étapes. Tout d’abord, le navigateur et le serveur web entament une « poignée de main » pour négocier les paramètres de chiffrement et établir une clé de session commune. Cette clé de session est utilisée pour chiffrer et déchiffrer les données échangées entre les deux parties.
Une fois que la clé de session est établie, le navigateur et le serveur utilisent des algorithmes de chiffrement pour chiffrer les données. Les données chiffrées sont ensuite envoyées via Internet, où elles ne peuvent être lues que par le navigateur et le serveur qui possèdent la clé de session correspondante.
Les différents types de certificats SSL
Lorsque vous visitez un site web sécurisé, vous avez peut-être remarqué un petit cadenas vert à côté de l’URL, ainsi qu’un « https » au lieu de « http ». Cela indique que le site utilise un certificat SSL valide.
Il existe deux types de certificats SSL : les certificats auto-signés et les certificats émis par une autorité de certification (CA). Les certificats auto-signés sont générés par les propriétaires de sites web eux-mêmes, tandis que les certificats émis par une CA sont délivrés par des entités de confiance reconnues.
Les certificats émis par une CA offrent un niveau de confiance supplémentaire, car ils sont vérifiés et signés par une tierce partie indépendante. Cela garantit que le site web est authentique et que les données échangées sont sécurisées. Les navigateurs web font confiance aux autorités de certification et signalent les problèmes potentiels si un certificat n’est pas valide ou a expiré.
Dans la prochaine partie de cet article, nous allons aborder les aspects pratiques de la configuration du chiffrement SSL sur un serveur web.
Mise en place avec Let’s Encrypt
Pré-requis
Veillez à bien configurer vous vhost dans /etc/apache2/sites-available/
Vous devez avoir un virtualhost sur le port 80 avec le nom du site prédéfinit. Par la suite, nous utiliserons le nom du site pour placer automatiquement le certificat dans le vhost. Si ce n’est pas fait automatiquement, il n’y a aucun soucis. Il suffira de récupérer le path des certificat et de les déclarer dans le vhost.
Certbot est un outil pratique qui permet d’automatiser la configuration de certificats SSL/TLS pour des sites internet. Il utilise Let’s Encrypt, une autorité de certification gratuite et open-source1. CertBot est un script qui permet de déployer facilement le HTTPS sur votre serveur. C’est un client officiel de Let’s Encrypt qui génère gratuitement des certificats SSL. Certbot est un outil automatique, compatible avec les serveurs web majeurs (dont Apache et Nginx), ainsi qu’avec les OS Linux les plus courants. Il est placé sous l’égide de l’EFF (Electronic Frontier Foundation).
Sachant ceci, nous pouvons installer Certbot :
sudo apt install certbot python3-certbot-apache
Bashsudo which certbot
BashIl est maintenant temps de générer le certificat. On utilise ici l’URL du site que nous avions pré-configurer dans le vhost de paahce2 afin de cibler le fichier.
certbot --apache -d www.nicolasheudron.com
BashVous pouvez exécuter plusieurs fois ce même script si jamais des erreurs surviennent.
Le script vous pose quelques questions. Laissez-vous guider.
Votre site web est maintenant en HTTPS.
Votre site web n’est pas protégé. C’est précisément la connexion entre le serveur et le client qui est chiffrée. Ainsi, des données ne peuvent pas être interceptées. Également, grâce au système de certificat, le client est protégé contre les attaques de man-in-the-middle.
Merci d’avoir lu cet article.
Dans un prochain article, nous traiteront de la mise en place d’un serveur d’autorité de certification en local afin de sécurisé les connexions web lors de l’accès à des interfaces d’administration par exemple.
Laisser un commentaire