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 !