Fail2Ban une excellente option pour repousser les attaques par force brute sur votre serveur

fail2ban

Les tentatives de connexion par force brute constituent l'un des vecteurs d'attaque les plus courants contre les serveurs. C'est là que les attaquants tentent d'accéder à votre serveur, essayant des combinaisons infinies de noms d'utilisateur et de mots de passe.

Pour ce genre de problèmes la solution la plus rapide et la plus efficace est de limiter le nombre de tentatives et de bloquer l'accès à l'utilisateur ou à cette IP pendant un certain temps. Il est également important de savoir que pour cela il existe également des applications open source spécifiquement conçues pour se défendre contre ce type d'attaque.

Dans le post d'aujourd'hui, Je vais vous en présenter un qui s'appelle Fail2Ban. Développé à l'origine par Cyril Jaquier en 2004, Fail2Ban est un framework logiciel de prévention des intrusions qui protège les serveurs des attaques par force brute.

À propos de Fail2ban

Fail2ban analyse les fichiers journaux (/ var / log / apache / error_log) et interdit les adresses IP qui montrent une activité malveillante, comme trop de mots de passe défectueux et la recherche de vulnérabilités, etc.

En général, Fail2Ban est utilisé pour mettre à jour les règles de pare-feu pour rejeter les adresses IP pendant une durée spécifiée, bien que toute autre action arbitraire (par exemple, envoyer un e-mail) puisse également être configurée.

Installation de Fail2Ban sous Linux

Fail2Ban se trouve dans la plupart des référentiels des principales distributions Linux et plus spécifiquement dans les plus utilisées pour une utilisation sur des serveurs, tels que CentOS, RHEL et Ubuntu.

Dans le cas d'Ubuntu, tapez simplement ce qui suit pour l'installation:

sudo apt-get update && sudo apt-get install -y fail2ban

Alors que dans le cas de Centos et RHEL, ils doivent taper ce qui suit:

yum install epel-release
yum install fail2ban fail2ban-systemd

Si vous avez SELinux, il est important de mettre à jour les politiques avec:

yum update -y selinux-policy*

Une fois que cela est fait, ils doivent savoir au premier plan que les fichiers de configuration Fail2Ban se trouvent dans / etc / fail2ban.

La configuration de Fail2Ban est principalement divisé en deux fichiers clés; ce sont fail2ban.conf et jail.conf. fail2ban.confes le fichier de configuration Fail2Ban plus volumineux, dans lequel vous pouvez configurer des paramètres tels que:

  • Le niveau de journalisation.
  • Le fichier pour se connecter.
  • Le fichier de socket de processus.
  • Le fichier pid.

jail.conf est l'endroit où vous configurez des options telles que:

  • La configuration des services à défendre.
  • Combien de temps pour interdire s'ils doivent être attaqués.
  • L'adresse e-mail pour envoyer les rapports.
  • Action à entreprendre lorsqu'une attaque est détectée.
  • Un ensemble prédéfini de paramètres, tels que SSH.

configuration

Nous allons maintenant passer à la partie configuration, La première chose que nous allons faire est une copie de sauvegarde de notre fichier jail.conf avec:

cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Et nous procédons à l'édition maintenant avec nano:

nano /etc/fail2ban/jail.local

À l'intérieur, nous allons dans la section [Default] où nous pouvons faire quelques ajustements.

Ici, dans la partie "ingoreip" se trouvent les adresses IP qui seront omises et ils seront complètement ignorés par Fail2Ban, c'est-à-dire essentiellement l'adresse IP du serveur (la locale) et les autres qui, selon vous, devraient être ignorées.

A partir de là les autres IP qui ont échoué aux accès seront à la merci d'être bannies et attendez le nombre de secondes pendant lesquelles il sera banni (par défaut, il est de 3600 secondes) et que fail2ban n'agit qu'après 6 tentatives infructueuses

Après la configuration générale, nous allons maintenant indiquer le service. Fail2Ban a déjà des filtres prédéfinis pour divers services. Alors faites juste quelques adaptations. Voici un exemple:

[ssh] enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

Une fois les modifications apportées, vous devrez enfin recharger Fail2Ban, en cours d'exécution:

service fail2ban reload
systemctl enable firewalld
systemctl start firewalld

Une fois cela fait, faisons une vérification rapide pour voir que Fail2Ban est en cours d'exécution:

sudo fail2ban-client status

Annuler l'exclusion d'une adresse IP

Maintenant que nous avons réussi à interdire une adresse IP, que se passe-t-il si nous voulons annuler l'interdiction d'une adresse IP? Pour ce faire, nous pouvons à nouveau utiliser fail2ban-client et lui dire de débloquer une adresse IP spécifique, comme dans l'exemple ci-dessous.

sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx

Où "xxx ...." Ce sera l'adresse IP que vous indiquez.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.