Comme j’en avais un peu marre de me faire (d)dos mon serveur IMAP, j’ai créé un nouveau super-hero: The Banisher.

Vous connaissez fail2ban je suppose ?

Bin c’est pareil (bouuhhhhhh) sauf que (aaaaahhhhh):

  • Les logs sont analysés en temps réel et le bannissement est immédiat. Je ne sais pas si ça a évolué mais “à l’époque” fail2ban allait vérifier les logs a intervalles réguliers. Durant ce délais l’IP hostile pouvait continuer son petit jeu et par ailleurs ça impliquait de devoir re-analyser une partie des logs pour retrouver la dernière ligne traitée lors de précèdent tour.
  • C’est ultra simple a mettre en place: un binaire, 3 lignes de conf par règle et en avant.
    Par exemple pour bannir les IP font des tentatives d’authentification infructueuses sur ssh il suffit d’ajouter cette règle:
- name: ssh
  match: Failed password.*ssh2
  IPpos: 0
  • C’est léger et sans dépendance (binaire).
  • Ca ne fonctionne qu’avec les logs “journal” de systemd.
  • Pour le moment The Banisher est uniquement disponible pour les distributions linux 64 bits.

Les sources, le binaire et la doc vous permettant d’utiliser The Banisher sont sur Github

Voici une vidéo qui vous montre The Banisher à l’oeuvre: