Fail2ban, un ami qui ne leur veut pas du bien

Depuis que je me suis mis à gérer mes propres serveurs, j'installe systématiquement le très bon outil fail2ban.

Pour ceux qui ne le connaîtraient pas, cet outil va surveiller les divers journaux sur une machine linux et, selon des règles, bannir les adresses IP ayant tenté de se connecter avec des mauvais comptes ou ayant essayé l'exploitation de failles connues. Ce bannissement prend la forme d'une ligne dans le firewall de la machine qui fera un DROP manu militari.

Ces filtres sont souvent de la forme "si IP rate son authentification SSH 3 fois en 5 minutes alors la dropper pendant 1 heure". Et le drop est bien pratique car il coupe toute communication entre l'IP et le serveur avant même que le middleware (SSH, FTP, HTTP) ne soit appelé. Cela réduit donc la charge de la machine car les middlewares n'ont même plus à traiter les demandes et peuvent traiter uniquement les requêtes légitimes. De plus, c'est un outil d'adminsys donc barbu, le bannissement peut être général : un bannissement sur SSH bloquera aussi les tentatives sur FTP & HTTP (c'est mon cas)

Sauf que les script-kiddies et autres pirates connaissent aussi fail2ban. Et il savent aussi quels sont les durées de bannissement moyennes. On voit donc de plus en plus les tentatives arriver par salves courtes sur plusieurs journées pour contourner au maximum les filtres. Cela entraîne un jeu de chat et de la souris :

  1. les attaquants tentent d'entrer sur la machine
  2. Ils se font attraper et bannir pour une heure
  3. Au bout d'une heure, le bannissement est levé et retour au point 1

C'est là que fail2ban montre sa puissance en surveillant ses propres journaux et en bannissant les malotrus sur une plus grande durée (de l'ordre de la semaine au minimum) Sur la plupart de mes serveurs cela a eu un effet radical et une IP bloquée en récidive ne revient qu'en moyenne au bout de 3 mois.

Et j'en arrive à cela :

Fail2ban jails

Un flux quasi constant de blocages "normaux" et une liste de récidivistes qui ne désemplit pas. Et surtout une machine dont la consommation de ressources a baissé de 15%.

Show Comments