Fail2ban ne se présente plus. – Quoi tu ne connais pas ?… Bon, c’est un daemon 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 brute-force.

Je ne vais pas revenir ici sur l’installation ou la configuration du service, je vais plutôt ici 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 tout 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 service (SSH, HTTP, HTTPS, IMAP, SMTP,…)

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

J’ai également remarqué que depuis que j’ai changés les ports par défaut des services/applications hébergées, j’ai beaucoup moins de tentative 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 daemon consomme un peu de ressources mais ça en vaut la peine si on a pas mal de trafics sur les services ouverts.
Le projet est toujours maintenu sur github, par contre la version des dépôts est assez vielle. 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é ou 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 un petit temps j’avais fait cet article.
Je me permet 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 plus part 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 a disposition MotionEyeOS qui est une mini distribution pour Raspberry Pi qui intègre directement MotionEye. (Plus facile on peut pas)
Le tout optimisé pour Raspberry pi (donc pas trop gourmand).

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