Serveurs en cours d’exécution SSH sont généralement une cible facile pour les attaques par force brute. Les pirates proposent constamment des outils logiciels et des bots innovants pour automatiser les attaques par force brute qui augmentent encore le risque d’intrusion.

Dans ce guide, nous explorons quelques-uns des conseils que vous pouvez mettre en œuvre pour protéger vos serveurs SSH contre les attaques par force brute sur les distributions Linux basées sur RHEL et les dérivés Debian.

Désactiver l’authentification par mot de passe SSH et activer l’authentification par clé SSH

La méthode d’authentification par défaut pour SSH est l’authentification par nom d’utilisateur/mot de passe. Mais comme nous l’avons vu, l’authentification par mot de passe est sujette aux attaques par force brute. Pour plus de sécurité, il est recommandé d’implémenter une authentification SSH basée sur une clé où l’authentification est rendue possible par des paires de clés SSH publiques et privées. La clé privée reste sur le PC du client tandis que la clé publique est copiée sur le serveur.

Lors de l’authentification par clé SSH, le serveur vérifie si le PC client possède la clé privée. Si la vérification réussit, une session shell est créée ou la commande envoyée au serveur distant est exécutée avec succès. Nous avons un guide complet sur la façon de configurer l’authentification basée sur la clé SSH.

Même après avoir configuré l’authentification par clé, votre serveur est toujours sensible aux attaques par force brute pour la simple raison que l’authentification par mot de passe est toujours active. Cela doit être désactivé.

Publicité

Par conséquent, modifiez le fichier de configuration SSH par défaut.

$ sudo vim /etc/ssh/sshd_config

Met le Authentification par mot de passe paramètre à no comme montré.

PasswordAuthentication no
Désactiver L'Authentification Par Mot De Passe Ssh
Désactiver L&Rsquo;Authentification Par Mot De Passe Ssh

Enregistrez ensuite le fichier et rechargez SSH pour appliquer les modifications.

$ sudo systemctl reload ssh

Mettre en œuvre l’outil de prévention des intrusions Fail2ban

Écrit en Python, Fail2ban est un cadre de prévention des intrusions open source qui analyse les fichiers journaux des services à la recherche d’échecs d’authentification et interdit les adresses IP qui échouent à plusieurs reprises aux vérifications d’authentification par mot de passe pendant une durée spécifiée.

Fail2ban surveille en permanence les fichiers journaux du serveur à la recherche de tentatives d’intrusion et d’autres activités néfastes. Après un nombre prédéfini d’échecs d’authentification – dans la plupart des cas, 3 tentatives de connexion infructueuses – Fail2ban empêche automatiquement l’hôte distant d’accéder au serveur, et l’hôte est conservé dans un ‘Prison‘ pour une durée déterminée.

Ce faisant, Fail2ban réduit considérablement le taux de tentatives d’authentification par mot de passe incorrect. Consultez notre guide sur la façon d’installer et de configurer Fail2ban sur Linux pour sécuriser votre serveur contre les attaques Bruteforce.

Limiter le nombre maximal de tentatives d’authentification SSH

Un autre moyen simple de protéger votre serveur contre les attaques par force brute consiste à limiter le nombre de tentatives de connexion SSH. Par défaut, celui-ci est défini sur 3mais si, par hasard, cette valeur est définie sur une valeur supérieure, définissez-la sur 3 tentatives de connexion au maximum.

Par exemple, pour définir le nombre maximal de tentatives de connexion sur 3, définissez le MaxAuthTries paramètre à 3 comme montré

MaxAuthTries = 3

Encore une fois, enregistrez les modifications et rechargez le service SSH.

$ sudo systemctl reload ssh

Implémenter des wrappers TCP pour limiter l’accès SSH des clients

TCP wrappers est une bibliothèque qui fournit une solution basée sur l’hôte Liste de contrôle d’accès (LCA) qui restreint l’accès aux services TCP par les clients distants en fonction de leurs adresses IP

Les hôtes distants n’accèdent pas aux services sur le système. Les enveloppeurs TCP utilisent le /etc/hosts.allow et /etc/hosts.deny fichiers de configuration (dans cet ordre) pour déterminer si le client distant est autorisé à accéder à un service spécifique ou non.

Habituellement, ces fichiers sont mis en commentaire et tous les hôtes sont autorisés à passer par la couche wrappers TCP. Les règles d’autorisation d’accès à un service donné sont placées dans le /etc/hosts.allow fichier et prévalent sur les règles du /etc/hosts.deny dossier.

La meilleure pratique recommande de bloquer toutes les connexions entrantes. Par conséquent, ouvrez le /etc/hosts.deny dossier.

$ sudo vim /etc/hosts.deny

Ajoutez la ligne suivante.

ALL: ALL

Enregistrez les modifications et quittez le fichier.

Accédez ensuite au /etc/hosts.allow dossier.

$ sudo vim /etc/hosts.deny

Configurez les hôtes ou les domaines qui peuvent se connecter au serveur via SSH comme indiqué. Dans cet exemple, nous n’autorisons que deux hôtes distants à se connecter au serveur (173.82.227.89 et 173.82.255.55) et niant le reste.

sshd: 173.82.227.89 173.82.255.55
sshd: ALL: DENY
Limiter L'Accès Ssh Aux Clients
Limiter L&Rsquo;Accès Ssh Aux Clients

Enregistrez les modifications et quittez le fichier de configuration.

Pour le tester, essayez de vous connecter au serveur à partir d’un hôte qui ne fait pas partie de ceux auxquels vous avez autorisé l’accès. Vous devriez obtenir une erreur d’autorisation comme indiqué.

$ ssh [email protected]

kex_exchange_identification: read: Connection reset by peer
Connection reset by 173.82.235.7 port 22
lost connection

Implémenter l’authentification à deux facteurs SSH

Authentification à deux facteurs fournit une couche de sécurité supplémentaire à l’authentification par mot de passe, rendant ainsi votre serveur plus sécurisé contre les attaques par force brute. Un très utilisé Authentification à deux facteurs solution est Application d’authentification Google et nous avons un guide bien documenté sur la façon dont vous pouvez configurer l’authentification à deux facteurs.

Conclusion

Il s’agissait d’un résumé de 5 bonnes pratiques que vous pouvez mettre en œuvre pour prévenir Force brute SSH attaques de connexion et assurer la sécurité de votre serveur. Vous pouvez également lire Comment sécuriser et renforcer le serveur OpenSSH.

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.

Soutenez-Nous

Nous sommes reconnaissants pour votre soutien sans fin.

Rate this post
Publicité
Article précédentNetflix dévoile l’anime ‘Onimusha’ avec sublimation en studio à la barre
Article suivantCodes Crypto Tycoon (septembre 2022)
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici