Comment configurer Fail2Ban sur CentOS

Introduction à Fail2Ban

Par défaut, un client se connecte à SSH à l'aide du port 22. Comme il s'agit d'un port bien connu, la configuration par défaut est vulnérable à de nombreuses attaques par force brute. Fail2Ban est une solution pour protéger automatiquement un serveur contre ces attaques. Le programme s'exécute en arrière-plan, analyse les fichiers journaux pour détecter les IP qui attaquent et leur interdit automatiquement d'accéder à SSH.

Installation de Fail2Ban

Dans ce didacticiel, nous allons installer Fail2Ban sur CentOS 6 via le référentiel EPEL. Exécutez les commandes suivantes.

yum install epel-release
yum install fail2ban

Explication

  • yum install epel-release: Installe le référentiel EPEL (Extra Packages pour Enterprise Linux).
  • yum install fail2ban: Installe Fail2Ban à partir du référentiel EPEL.

Configuration des paramètres Fail2Ban

Ouvrez le fichier de configuration Fail2Ban.

nano /etc/fail2ban/jail.conf

Dans le fichier, vous verrez certains paramètres comme indiqué ci-dessous. Ajustez l'une des valeurs à vos besoins.

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# "bantime" is the number of seconds that a host is banned.
bantime = 600

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3

Explication

  • ignoreip: N'interdisez pas les hôtes qui correspondent à une adresse dans cette liste. Plusieurs adresses peuvent être définies à l'aide du séparateur d'espace. Écrivez votre IP personnelle sur cette ligne.
  • bantime: Le nombre de secondes pendant lesquelles un hôte est interdit.
  • findtime: Un hôte est banni s'il s'est généré maxretrylors du dernier findtime.
  • maxretry: Le nombre d'échecs avant qu'un hôte ne soit banni.

Configuration de Fail2Ban pour protéger SSH

Tout d'abord, nous devons créer un fichier de configuration.

nano /etc/fail2ban/jail.local

Copiez les lignes ci-dessous et collez-les dans le fichier.

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
#           sendmail-whois[name=SSH, dest=root, [email protected]]
logpath  = /var/log/secure
maxretry = 5
  • enabled: Activez la protection. Si vous souhaitez la désactiver, remplacez la valeur par false.
  • filter: Par défaut, il est défini sur sshd qui fait référence au fichier /etc/fail2ban/filter.d/sshd.conf.
  • action: Fail2Ban interdira l'IP qui correspond au filtre /etc/fail2ban/action.d/iptables.conf. Si vous avez changé le port SSH auparavant, passez port=sshau nouveau port, par exemple port=2222. Si vous utilisez le port 22, vous n'aurez pas besoin de modifier la valeur.
  • logpath: Chemin du fichier journal utilisé par Fail2Ban.
  • maxretry: Le nombre maximal de tentatives de connexion ayant échoué.

Démarrage du service Fail2Ban

Exécutez ces deux commandes ci-dessous pour démarrer le service Fail2Ban:

chkconfig --level 23 fail2ban on
service fail2ban start

Enfin, vérifiez iptablessi les règles ont été ajoutées par Fail2Ban.

iptables -L

Le résultat ressemblera à cette sortie.

Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Comment suivre les tentatives de connexion échouées

Vous pouvez utiliser cette commande pour vérifier si votre serveur a échoué lors de tentatives de connexion (attaques possibles).

cat /var/log/secure | grep 'Failed password'

Le résultat ressemblera à ces lignes.

Dec  6 22:47:12 vultr sshd[7942]: Failed password for root from 43.229.53.67 port 23021 ssh2
Dec  6 22:47:15 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:16 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:18 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:31 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:34 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:36 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:39 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:41 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:43 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:47 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2
Dec  6 22:47:49 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2

Pour afficher les adresses IP qui ont été interdites, utilisez la commande suivante.

iptables -L -n

Pour supprimer une adresse IP de la liste interdite, exécutez la commande suivante. Modifiez banned_ipl'adresse IP que vous souhaitez annuler.

iptables -D f2b-SSH -s banned_ip -j DROP


Leave a Comment

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.