Contexte et motivation
Je suis confronté à une problématique récurrente : des acteurs malveillants exploitent continuellement nos sites hébergés pour mener diverses attaques et sollicitations non autorisées. Cette situation, à la fois frustrante et coûteuse, m'a poussé à agir.
En réaction à ces abus, j'ai développé Fail2banActionBanishment, une application distribuée de bannissement d'hôtes malveillants conçue pour sécuriser nos infrastructures à grande échelle.
Architecture et fonctionnement
Fail2banActionBanishment est un système distribué qui combine fail2ban, iptables et MQTT pour une détection et un blocage coordonnés des menaces :
Détection et bannissement local
Chaque nœud fonctionne de manière autonome : fail2ban détecte les comportements malveillants, et iptables bannit immédiatement l'hôte en question au niveau du pare-feu.
Propagation des événements
Une fois un hôte bannit, l'événement est publié sur un broker Mosquitto local, puis relayé vers un broker MQTT master privé pour centralisation et coordination.
Corrélation et décision centralisée
Le broker master centralise l'intelligence du système en :
- Corrélant les événements provenant de multiples nœuds
- Détectant les récidives globales (un même hôte attaquant plusieurs nœuds)
- Maintenant une réputation partagée des adresses IP malveillantes
Exécution distribuée
Les décisions du master sont republié vers l'ensemble des nœuds abonnés, garantissant un bannissement cohérent et synchronisé sur toute l'infrastructure.
Cette approche transforme une défense purement locale en un système collaboratif où chaque nœud bénéficie de l'intelligence collective du réseau.