Fail2ban : compter et classer les IP bannies

25 Juil 2015 | Serveur dédié | 0 commentaires

Si vous gérez vous-même votre serveur, vous connaissez très certainement Fail2ban, ce petit logiciel qui scan vos logs et vous permet de bannir les adresses IP qui tentent d’accéder à votre serveur frauduleusement.

Ayant continuellement des tentatives d’intrusion sur mon serveur, j’ai cherché à savoir comment pouvoir compter le nombre de fois que chaque IP est bannie et les classer par nombre de bannissement pour savoir quelles étaient les IP à bannir manuellement pour éviter un piratage de mon serveur.J’ai trouvé un début de réponse dans l’article de Fabien Nicoleau, mais son article datant de 2011 il m’a fallu mettre à jour sa solution.

Pour afficher le classement des IP les plus souvent bannies sur votre serveur, saisissez la commande suivante dans un terminal, avec les droits root :

cat /var/log/fail2ban.log|grep Ban|awk '{print $5" "$7}'|sort|uniq -c|sort -nr

Voici l’explication de la commande :

  • cat : affichage du fichier de log
  • grep Ban : on ne conserve que les lignes concernant un bannissement
  • awk : on extrait simplement les 5ème et 7ème parties, c’est à dire le « jail » utilisé pour le ban, et l’IP bannie
  • un premier sort pour faire en sorte que les IP identiques soient listées les unes en dessous des autres
  • uniq -q : réunies les lignes communes et affiche devant le nombre de fois qu’elles apparaissent
  • un dernier sort (avec l’option reverse et l’option number) pour faire un tri inverse par nombre

On se retrouve ainsi avec une liste des adresses IP les plus souvent bannies sur le serveur, par ordre d’importance, ce qui vous permet de savoir lesquelles bloquer définitivement, par exemple via IPTables (firewall) ou avec Wordfence pour WordPress (dans le cas où vous n’avez qu’un site sur votre serveur). Voici un exemple :

55 [ssh] 191.235.149.251
31 [ssh] 3.92.148.244
31 [ssh] 61.36.11.68
24 [ssh] 191.235.129.101
23 [ssh] 41.164.27.2
14 [ssh] 179.185.39.196
11 [ssh] 89.163.234.64
8 [ssh] 195.154.56.128
6 [ssh] 151.80.234.110
6 [sasl] 103.231.217.26
4 [ssh] 193.104.41.170
3 [ssh] 92.39.242.32

Dans ce cas, j’ai bloqué définitivement toutes les IP ayant été bloquées 6 fois ou plus, je sais ainsi qu’elles ne viendront plus me déranger sur mon serveur.

Et vous, quelle solution utilisez-vous pour trier et bannir les IP envahissantes de votre serveur ? Partagez votre expérience avec nous dans les commentaires ci-dessous.

0 commentaires

Soumettre un commentaire

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