Fail2ban ne se présente plus. – Quoi, tu ne connais pas ?… Bon, c’est un démon qui parse (surveille) les activités du système (logs) de différents services pour y trouver les tentatives d’accès infructueuses et bloquer l’accès afin d’éviter les kikous ou les attaques par force brute.

Je ne vais pas revenir ici sur l’installation ou la configuration du service, je vais plutôt vous partager mes observations.

Ma configuration

Action par défaut en cas de ban :

actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP

En gros, on DROP complètement l’IP sur tous les ports dès qu’une attaque est détectée. C’est un peu hard, mais ça me plaît.

Je surveille un maximum de services (SSH, HTTP, HTTPS, IMAP, SMTP,…)

Il y a pas mal de filtres qui se trouvent sur Internet, notamment pour se protéger des script kiddies.

J’ai également remarqué que depuis que j’ai changé les ports par défaut des services/applications hébergées, j’ai beaucoup moins de tentatives de connexion.

Parfait donc ? Bah, je trouve qu’il y a quelques défauts tout de même.

Changer de ports n’est pas toujours faisable et ça ne bloque pas les attaques, ça offusque juste certains services ultra-connus.

Fail2ban est codé en Python, niveau performance du code, on peut faire mieux. Le démon consomme un peu de ressources, mais ça en vaut la peine si on a pas mal de trafic sur les services ouverts.
Le projet est toujours maintenu sur GitHub, par contre la version des dépôts est assez vieille. Préférez donc la stable release depuis GitHub.

Je déconseille l’utilisation de fail2ban sur les VPS premiers prix, car cela peut saturer le pauvre petit qui n’a déjà pas beaucoup de ressources. Analysez et testez en fonction de votre matériel, vos besoins et vos contraintes (trafic,…).

N’oubliez pas que fail2ban ne fait pas tout ! Bref rappel en sécurité système :

  • Changez les ports par défaut des services dès que vous le pouvez (SSH par exemple !)
  • Tenez votre serveur à jour.
  • Implémentez de la sécurité où vous le pouvez – Préférez des protocoles sécurisés (HTTPS, IMAPS,…)
  • Vérifiez la configuration de vos services
  • Mettez en place de la sécurité au niveau du réseau – Utilisez iptables comme firewall maison par exemple.
  • Tenez-VOUS à jour – Soyez au courant des dernières vulnérabilités et soyez prêts à patcher !

 

Docs fail2ban

Rapide présentation d’un outil que j’utilise pour monitorer et créer des alertes en cas d’attaques sur un serveur Linux.

C’est un script Bash qui va générer des statistiques avec les données de Fail2Ban et alerter si besoin.

https://github.com/drdada/Fail2banTools

Il y a peu de temps, j’avais fait cet article.
Je me permets de refaire une petite mise à jour.

Le projet MotionEye et MotionEyeOS de Calin Crisan est sans doute la solution complète la plus simple et efficace pour la plupart d’entre nous.
MotionEye est une interface web de management et de visionnage pour le démon motion (voir précédent article).

Idéal pour les non-initiés qui ne veulent pas se prendre la tête avec la configuration du démon par fichier texte.

Le développeur a même mis à disposition MotionEyeOS qui est une mini distribution pour Raspberry Pi qui intègre directement MotionEye. (Plus facile, on ne peut pas)
Le tout optimisé pour Raspberry Pi (donc pas trop gourmand).

Bref, il y en a pour tous les goûts, que ce soit du bricolage ou pour de la mise en production.