Geeek - Le blog Geek & High-tech

Souvenez vous, je vous avais présenté Fail2ban il y a quelques années déjà et je vous avais parlé d'AbuseIPDB sur mon article autour du HoneyPot Log4shell que j'avais développé pour détecter les payloads transmis par les attaquants exploitant cette vulnérabilité.

À quoi sert Fail2ban ?

En quelques mots, Fail2ban est un logiciel Opensource qui permet d'exécuter des actions automatiques lors détection de patterns au sein de fichiers de logs. Ces actions peuvent être l'envoi d'un email, le blocage d'une adresse IP sur un firewall. Il est par défaut configuré avec un grand nombre de filtres et d'actions facilement activables.

Qu'est-ce que AbuseIPDB ?

AbuseIPDB constitue une base de connaissance sur l'ensemble des IP malveillantes autour de la planète. Son usage est gratuit et limité à 5000 rapports d'adresse IP malveillante par jour. Des offres commerciales sont proposées par AbuseIPDB pour bénéficier d'une profondeur de données plus importantes pour les entreprises souhaitant de protéger des IP pouvant constituer un danger.
AbuseIPDB reçoit quasiment 30 000 adresses IP par heure de la part de ses utilisateurs. Cela représente actuellement pas moins de 23 millions d'adresses IP sur les 30 derniers jours.

Comment intégrer Fail2ban à AbuseIPDB ?

Par défaut, Fail2ban possède une action permettant de transmettre une adresse IP malveillante à la plateforme AbuseIPDB. Il est possible d'activer cette action tout simplement en précisant une règle d'action dans les fichiers "Jails" présents dans le répertoire "/etc/fail2ban/jail.d" du système :

[portsentry]
enabled = true

# Ban IP and report to AbuseIPDB for Port Scan
action = %(action_)s
         %(action_abuseipdb)s[abuseipdb_apikey="ee3b04b6sdfec61b4256cfgf975c8feedfc8", abuseipdb_category="14"]

La catégorie doit juste être adaptée à l'attaque reçue. Dans l'exemple ci-dessus, la catégorie 14 correspond à une attaque de type "Port scan" adaptée à une détection faite par un logiciel comme Portsentry par exemple.

La clef d'API doit être modifiée la clef que vous pourrez obtenir sur la page de votre compte AbuseIPDB.

Comment fonctionne ma configuration ?

Dans un but d'exploration, j'ai configuré Portsentry sur mon serveur pour écouter certains ports stratégiques de mon serveur.
Fail2Ban remonte ensuite à AbuseIPDB une alerte dès lors que des tentatives de connexion réseau illicites sont détectées par Portsentry.

portsentry-fail2ban-abuseipdb

En me limitant à quelques ports sensibles comme le port SMB 445 par exemple, mon serveur arrive à détecter pas moins de 1500 adresses IP malveillantes par jour.

Il faut juste être vigilant à ce que la durée de bannissement soit suffisamment longue pour éviter de transmettre plusieurs fois les mêmes adresses IP à AbuseIPDB. Une durée minimale de 60 jours est conseillée par AbuseIPDB pour limiter les envois inutiles de données.

Pour obtenir un message plus digeste sur le commentaire transmis à AbuseIPDB, je vous conseille de revoir la règle "actionban" définie dans le fichier "/etc/fail2ban/abuseipdb.conf"

actionban = lgm=$(echo "<matches>" | cut -d ':' -f 5); curl -sSf "https://api.abuseipdb.com/api/v2/report" -H "Accept: application/json" -H "Key: <abuseipdb_apikey>" --data-urlencode "comment=Port scanning: $lgm" --data-urlencode "ip=<ip>" --data "categories=<abuseipdb_category>"

Afin d'augmenter gratuitement les quotas d'appels aux API de la plateforme AbuseIPDB à 5000 appels par jour, AbuseIPDB vous propose de partager ce badge depuis votre site Internet :

Chaque tentative d'attaque sur mon serveur est ainsi aussitôt déclarée à la communauté AbuseIPDB qui possède une importante connaissance sur les serveurs malveillants de la planète.

abuseipdb

Comment renforcer votre Firewall IPTables contre les adresses IP malveillantes ?

Si vous souhaitez profiter des données centralisées par AbuseIPDB pour renforcer la sécurisation de votre infrastructure réseau, il est possible d'utiliser un script Shell disponible sur GitHub pour créer des règles de filtrages IPTables basées sur la liste d'adresses IP malveillantes.
AbuseIPDB peut vous partager cette liste au travers de son API "Blacklist" :

https://api.abuseipdb.com/api/v2/blacklist

Si la Cybersécurité vous intéresse, n'hésitez pas à aller découvrir mes articles sur Shodan, Kali Linux ou bien Hackthebox. Vous pouvez aussi passer sur le serveur Discord Geeek pour discuter avec des lecteurs aussi passionnés que vous.


Vous êtes correctement abonné à Geeek
Bienvenue ! Vous êtes correctement connecté.
Parfait ! Vous êtes correctement inscrit.
Votre lien a expiré
Vérifiez vos emails et utiliser le lien magique pour vous connecter à ce site