Comment sécuriser votre HAProxy avec SSL

Comment Securiser Votre Haproxy Avec Ssl



Une fois votre site Web opérationnel, vous devez travailler sur des éléments clés pour garantir la sécurité, la disponibilité et la fiabilité. La première chose à faire est de configurer un équilibreur de charge, et HAProxy s'est avéré être une option fiable. HAProxy gère l'équilibrage de charge tout en agissant comme un proxy inverse. Même avec HAProxy en place, vous devez toujours sécuriser le trafic en chiffrant les transactions avec HTTPS. Vous pouvez rapidement sécuriser votre serveur Web à l'aide du cryptage SSL/TLS. De cette façon, les données entre votre serveur et les appareils clients sont transmises en toute sécurité et l'intégrité des données est assurée. Lisez la suite pour comprendre comment sécuriser votre HAProxy avec SSL.

Comment fonctionne le cryptage SSL ?

Grâce à des options comme Let's Encrypt, vous pouvez désormais obtenir un certificat SSL/TLS gratuit pour le cryptage de votre site Web. Let's Encrypt est une autorité de certification ouverte et gratuite qui fournit des certificats SSL/TLS gratuits avec une validité de 90 jours pour les domaines actifs. Avec ces certificats, votre trafic Web entre le serveur et le client est envoyé en HTTPS. De cette façon, les pirates ne peuvent pas écouter le trafic et manipuler l’intégrité des données partagées.







En plus de le rendre gratuit, Let's Encrypt prend également en charge l'automatisation. Le certificat SSL/TLS que vous recevez se renouvelle automatiquement tous les 90 jours. Par conséquent, vous pouvez disposer d'un script qui exécute le renouvellement et met à jour votre HAProxy tous les 90 jours. De plus, les certificats Let's Encrypt sont compatibles avec tous les navigateurs et systèmes d'exploitation, ce qui garantit une utilisation transparente de ceux-ci pour sécuriser votre HAProxy.



Guide étape par étape sur la façon de sécuriser votre HAProxy avec SSL

Jusqu’à présent, nous comprenons désormais à quoi sert un certificat SSL/TLS et pourquoi vous en avez besoin pour votre site Web. De plus, nous avons discuté de la manière dont vous pouvez l’acquérir. La dernière étape consiste à partager les étapes pour sécuriser HAProxy avec SSL.



Avant de commencer, assurez-vous que vous disposez d'un domaine actif et valide associé au serveur Web cible que vous utilisez avec HAProxy. Une fois que cela est prêt, procédez aux étapes suivantes :





Étape 1 : mettre à jour le référentiel

La mise à jour de votre système garantit que vous obtenez la dernière source pour les packages que vous souhaitez installer.



$ sudo mise à jour appropriée


Étape 2 : Installer HAProxy

Dans ce cas, nous devons installer HAProxy car c'est ce que nous voulons sécuriser via SSL. Si HAProxy est en cours d'exécution sur votre serveur Web, ignorez cette étape. Sinon, exécutez la commande « install » suivante pour installer HAProxy rapidement :

$ sudo apte installer haproxy


Une fois que vous l'avez installé, effectuez les configurations idéales pour les besoins de votre serveur, telles que l'équilibrage de charge.

Étape 3 : Installer Certbot

Tous les certificats SSL gratuits émis par Let's Encrypt sont fournis via Certbot. Vous n'avez pas besoin d'installer Certbot si votre certificat est acheté ailleurs. Nous utilisons Ubuntu 22.04 pour ce cas et le package Certbot est disponible dans le référentiel par défaut. Pour l'installer, exécutez la commande suivante :

$ sudo apte installer robot de certification


Étape 4 : Obtenez le certificat SSL

Une fois que vous avez installé Certbot, vous pouvez obtenir le certificat SSL auprès de Let's Encrypt. Utilisez la syntaxe suivante et assurez-vous de remplacer « exampledomain.com » par le domaine valide que vous souhaitez sécuriser.

$ sudo certbot uniquement --autonome -d exempledomaine.com -d www.exampledomain.com


Une fois la commande exécutée, une série d'invites apparaîtra. Parcourez chaque invite et répondez-y avec les détails corrects. Par exemple, vous devez indiquer l'e-mail associé au domaine. Une fois que vous aurez répondu aux invites et que votre domaine aura été vérifié, un certificat SSL sera obtenu et enregistré sur votre serveur.

Étape 5 : Créer un seul fichier PEM

Pour utiliser le certificat SSL généré avec votre HAProxy, enregistrez le certificat et la clé privée correspondante dans un fichier PEM. Par conséquent, nous devons concaténer le fichier de certificat de chaîne complète au fichier de clé privée avec la commande suivante :

$ sudo chat / etc. / chiffrons / en direct / exempledomaine.com / fullchain.pem / etc. / chiffrons / en direct / exempledomaine.com / clé privée.pem | sudo tee / etc. / haproxy / certificats / exempledomaine.com.pem


Assurez-vous de remplacer le domaine chaque fois que nécessaire.


Étape 6 : Configurer HAProxy

Une fois que vous disposez d'un seul fichier PEM, vous devez configurer HAProxy pour référencer le fichier afin de le sécuriser. Dans le fichier HAProxy, incluez le port que vous souhaitez lier avec HTTPS et ajoutez le chemin d'accès au fichier PEM à l'aide du mot-clé SSL.

Ouvrez le fichier à l'aide d'un éditeur de texte.

$ sudo nano / etc. / haproxy / haproxy.cfg

Ensuite, modifiez les configurations pour avoir une interface similaire à celle ci-dessous, indiquant quel port sécuriser et où trouver le fichier PEM.


Enfin, enregistrez et quittez le fichier de configuration. Vous pouvez redémarrer HAProxy et votre trafic est sécurisé lors de sa transmission du client au serveur. Tout le trafic HTTP sera redirigé vers HTTPS, grâce au schéma de redirection que nous avons inclus dans le fichier de configuration.


Voilà comment sécuriser votre HAProxy avec SSL.

Conclusion

Un certificat SSL/TLS est un moyen pratique de sécuriser votre trafic lorsque vous utilisez HAProxy comme équilibreur de charge. Vous pouvez obtenir un certificat SSL gratuit auprès de Let's Encrypt à l'aide de l'outil Certbot et configurer votre HAProxy pour l'utiliser lors de la redirection du trafic. Nous avons présenté les étapes détaillées à suivre et fourni un exemple à référencer lors de la configuration de celle-ci sur votre serveur Web.