fail2ban : Différence entre versions
(→Commandes utiles) |
(→Fichiers de configuration) |
||
Ligne 69 : | Ligne 69 : | ||
* /var/log/auth.log | * /var/log/auth.log | ||
* /var/log/fail2ban.log | * /var/log/fail2ban.log | ||
+ | |||
+ | = Base sqlite3 fail2ban = | ||
+ | * /var/lib/fail2ban/fail2ban.sqlite3 | ||
= Liens utiles = | = Liens utiles = |
Version du 22 août 2020 à 21:04
Lien court vers cette page : https://vt.cx/f2b QR code vers cette page : https://vt.cx/f2b.qr
Sommaire
Présentation
fail2ban détecte les tentatives répétées d'intrusion dans les programmes dont il surveille les logs de connexions (exemple SSH, Apache, CMS, FTP, back office, etc.). Les IP répondant aux critères de configuration (maxretry ou nombre de tentatives par exemple) sont alors transmis à iptables pour un blocage dont le délai (bantime) est paramétrable. fail2ban fonctionne suivant deux axes :
- jail → règles définissant la marche à suivre en cas de détection d'intrusions
- filtre → règles définissant la détection d'intrusions
Ces deux aspects sont indissociables et doivent être définis pour chaque point d'entrée surveillé (FTP, back office, Horde, Qmail, etc.)
Commandes utiles
- Liste des commandes fail2ban-client -> https://www.fail2ban.org/wiki/index.php/Commands
- fail2ban-client -V ou fail2ban-client --version | head -1 -> affichage de la version
- Statut de fail2ban -> fail2ban-client status
- Listes des IP bloquées -> iptables -L
- Lancer fail2ban -> service fail2ban start
- Arrêter fail2ban -> service fail2ban stop
- Relancer fail2ban et vider la liste des IP bannies -> service fail2ban restart
- Tester un Jail -> fail2ban-regex /fichier log/ /filtre.conf/ | less
exemple : fail2ban-regex /var/log/maillog /etc/fail2ban/filter.d/smtp-auth.conf | less
- Backup Fail2Ban sqlite database → cp -a /var/lib/fail2ban/fail2ban.sqlite3{,.bkp}
- Trouver quelle application utiliser fail2ban.sqlite3 → fuser '/var/lib/fail2ban/fail2ban.sqlite3'
Fichiers de configuration
jail.conf ou jail.local
Le fichier de configuration jail.conf est pris en compte par fail2ban sauf si jail.local est créé en parallèle. Si c'est le cas, toutes les modifications concernant les jails devront y êtres mis à savoir :
- Ajout ou suppression d'un jail
- Mis on (true) ou off (false) d'un jail
- Modification des règles d'un jail
Les fichiers jail.conf et jail.local doivent se trouver dans /etc/fail2ban/.
Paramètres de jail.conf ou jail.local
bantime : délai de bannissement :
bantime = NNNNN où NNNNN est un entier définissant le délai en secondes exemple pour 1 heure -> bantime = 3600
maxretry : nombre d'essais avant bannissement :
maxretry = N où N est un entier définissant le nombre d'essais permis exemple pour 3 essais -> maxretry = 3
logpath : chemin des log identifiés :
logpath = XXXXXXX où XXXXXXX est une chaine alphanumérique définissant un chemin d'accès exemple -> logpath = /var/log/apache*/*error.log
filter.d
Dossier des fichiers de filtres situé à :
/etc/fail2ban/filter.d/
action.d
Dossier de fichiers de traitement situé à :
/etc/fail2ban/action.d/
Log
Dossier des logs de fail2ban
- /var/log/auth.log
- /var/log/fail2ban.log
Base sqlite3 fail2ban
- /var/lib/fail2ban/fail2ban.sqlite3
Liens utiles
- fail2ban.org site officiel de fail2ban
- fail2ban.org manuel de fail2ban
- saas-secure.com Centralize Fail2Ban : script PHP pour la centralisation des IP bloquées par fail2ban
- stuffphilwrites.com Permanently Ban Repeat Offenders With fail2ban (UPDATED)
- github.com fail2web : outil graphique de configuration pour fail2ban
Concurrents de fail2ban
- denyhosts.sourceforge.net DenyHosts : DenyHosts permet la centralisation des IP bloquées par des dizaines de milliers de serveurs l'utilisant
- yalis.fr Pyruse : une alternative en Python qui sollicite beaucoup moins le serveur → https://vt.cx/fu
Articles Vulgum Techus
- fail2ban et Plesk
- fail2ban et Postfix
- fail2ban et roundcube
- fail2ban et Squid
- fail2ban.log vide
- iptables
- DMARC
- Reconnaître un CMS
- SpamAssassin