SSHGuard est un démon open source qui protège les hôtes des attaques par force brute. Il y parvient en surveillant et en agrégeant les journaux système, en détectant les attaques et en bloquant les attaquants à l’aide de l’un des backends de pare-feu Linux : iptables, Pare-feuD, pf, et ipfw.

Initialement conçu pour fournir une couche de protection supplémentaire pour le service OpenSSH, SSHGuard protège également un large éventail de services tels que Vsftpd et suffixe. Il reconnaît plusieurs formats de journaux, notamment Syslog, Syslog-ng et les fichiers journaux bruts.

[ You might also like: How to Secure and Harden OpenSSH Server ]

SSHGuard est assez similaire à Fail2ban seulement qu’il est écrit en C (Fail2ban est écrit en Python), est plus léger et offre moins de fonctionnalités.

Dans ce guide, nous montrerons comment vous pouvez installer et configurer SSHGuard bloquer SSH attaques par force brute sur votre serveur Linux.

Publicité

Étape 1 : Installer SSHGuard sur Linux

Nous commençons par l’installation de SSHGuard sur Linux.

Installer SSHGuard sur Debian/Ubuntu

Tout d’abord, mettez à jour les listes de packages, puis installez SSHGuard à partir des référentiels par défaut à l’aide du gestionnaire de packages apt.

$ sudo apt update
$ sudo apt install sshguard

Une fois installé, le SSHGuard le service démarre automatiquement, et vous pouvez le vérifier à l’aide de la commande :

$ sudo systemctl status sshguard
Vérifiez Sshguard Dans Ubuntu
Vérifiez Sshguard Dans Ubuntu

Installer SSHGuard sur les systèmes RHEL

Pour les distributions basées sur RHEL telles que CentOS, Rocheux, et AlmaLinux, commencez par installer le EPEL référentiel comme fourni dans la commande ci-dessous.

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
OR
$ sudo dnf install epel-release

Avec EPEL en place, allez-y et installez SSHGuard en utilisant le gestionnaire de paquets dnf.

$ sudo dnf install sshguard 

Une fois installé, démarrez et configurez SSHGuard pour démarrer au démarrage ou au redémarrage du système.

$ sudo systemctl start sshguard
$ sudo systemctl enable sshguard

Assurez-vous de vérifier que SSHGuard fonctionne comme prévu.

$ sudo systemctl status sshguard
Vérifier Sshguard Dans Rhel
Vérifier Sshguard Dans Rhel

Étape 2 : Configuration de SSHGuard sur Linux

SSHGuard surveille activement la /var/log/auth.log, /var/log/sécurisé journal systemd, et syslog-ng fichiers journaux pour les tentatives de connexion infructueuses.

Pour chaque tentative de connexion infructueuse, l’hôte distant est banni pour une durée limitée qui, par défaut est fixée à 120 secondes. Par la suite, le temps d’interdiction augmente d’un facteur 1,5 à chaque tentative de connexion infructueuse successive.

Le moment où les hôtes incriminés sont bannis, en plus d’autres paramètres est spécifié dans le sshguard.conf déposer. Vous pouvez accéder au fichier de configuration à l’aide de l’éditeur vim, comme indiqué.

$ sudo vim /etc/sshguard/sshguard.conf

Sur les distributions basées sur RHEL, le fichier de configuration se trouve dans le chemin suivant.

$ sudo vim /etc/sshguard.conf

Voici un exemple du fichier de configuration lorsqu’il est affiché à partir de Ubuntu / Debian.

Fichier De Configuration Sshguard
Fichier De Configuration Sshguard

Concentrons-nous sur l’option principale.

  • le BACKEND La directive pointe vers le chemin complet de l’exécutable du backend. Dans cet exemple, nous voyons que Tables IP est défini comme le backend du pare-feu par défaut.
  • le SEUIL La directive bloque les attaquants lorsque leur score d’attaque dépasse la valeur spécifiée.
  • le BLOCK_TIME option est le nombre de secondes pendant lesquelles un attaquant est bloqué après chaque tentative de connexion infructueuse successive. Par défaut, il est défini sur 120 après la première tentative. Cela augmente avec chaque tentative de connexion échouée successive.
  • le DETECTION_TIME L’option fait référence au temps en secondes pendant lequel l’attaquant est enregistré ou mémorisé par le système avant que son score ne soit réinitialisé.
  • le WHITELIST_file L’option pointe vers le chemin complet du fichier de liste blanche qui contient des hôtes qui ne sont pas censés être sur liste noire./li>

Étape 3 : Configurez SSHGuard pour bloquer les attaques par force brute SSH

Pour conjurer Force brute attaques, vous devez configurer sur les pare-feu suivants pour travailler avec sshguard.

Bloquer les attaques SSH à l’aide d’UFW

Si UFW est installé et activé sur votre Ubuntu / Debian système, modifier le /etc/ufw/before.rules déposer.

$ sudo vim etc/ufw/before.rules

Ajoutez les lignes suivantes juste après le allow all on loopback section.

# allow all on loopback
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-output -o lo -j ACCEPT

# hand off control for sshd to sshguard
:sshguard - [0:0]
-A ufw-before-input -p tcp --dport 22 -j sshguard

Enregistrez le fichier et redémarrez UFW.

$ sudo systemctl restart ufw

Essayez maintenant de vous connecter au serveur à partir d’un autre système avec les informations d’identification incorrectes et notez que vous serez verrouillé pendant 120 secondes après la première tentative de connexion infructueuse.

Vous pouvez le vérifier en vérifiant le auth.log fichier journal.

$ sudo tail -f  /var/log/auth.log
Vérifiez Les Attaques Par Force Brute Ssh
Vérifiez Les Attaques Par Force Brute Ssh

Après l’échec de la prochaine tentative de journalisation, le temps de blocage passe à 240 secondes, puis 480 secondes, puis 960 secondes, et ainsi de suite.

Bloquer les attaques SSH à l’aide de Firewalld

Si vous exécutez firewalld, assurez-vous qu’il est configuré et activé. Exécutez ensuite la commande suivante pour activer sshguard sur votre zone préférée.

$ sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule source ipset=sshguard4 drop"

Pour appliquer les modifications, rechargez Pare-feud et sshguard.

$ sudo firewall-cmd --reload
$ sudo systemctl restart sshguard

Ensuite, vérifiez la règle comme suit :

$ sudo firewall-cmd —-info-ipset=sshguard4
Vérifiez Sshguard Dans Firewalld
Vérifiez Sshguard Dans Firewalld

Bloquer les attaques SSH à l’aide d’Iptables

Si vous utilisez toujours Iptables, tout d’abord, créez une nouvelle règle de chaîne pour sshguard dans Iptables pour commencer à bloquer les méchants.

# iptables -N sshguard

Ensuite, mettez à jour le SAISIR chaîne pour diriger le trafic vers sshguard et bloquer tout le trafic provenant de parties malveillantes.

# iptables -A INPUT -j sshguard

Pour bloquer des ports spécifiques tels que SSH, POP, et IMAP des agresseurs exécutez la commande :

# iptables -A INPUT -m multiport -p tcp --destination-ports 22,110,143 -j sshguard

Et enfin, enregistrez la règle pour que les modifications entrent en vigueur.

# iptables-save > /etc/iptables/iptables.rules

Étape 4 : Comment mettre en liste blanche les hôtes bloqués par SSH

Pour ajouter un hôte bloqué à la liste blanche, spécifiez simplement son nom d’hôte ou son adresse IP dans le fichier de liste blanche qui se trouve dans :

/etc/sshguard/whitelist - Ubuntu/Debian 
/etc/sshguard.whitelist - RHEL-based distros

Par la suite, assurez-vous de redémarrer le sshguard démon et le backend du pare-feu pour que les modifications s’appliquent.

Dans ce guide, nous avons montré comment vous pouvez bloquer SSH Bruteforce attaque en utilisant SSHGuard démon dans les serveurs Linux. Vos commentaires sont les bienvenus.

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 disponibles GRATUITEMENT pour tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café ( ou 2 ) en guise de remerciement.

Soutenez-Nous

Nous sommes reconnaissants pour votre soutien sans fin.

.

Rate this post
Publicité
Article précédentClassic SysAdmin : Comment rechercher des fichiers à partir de la ligne de commande Linux
Article suivantBesoin d’une icône Thunderbird Tray sur Ubuntu ? Essayez Birdtray
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