depuis quelques jours j'ai enfin installé fail2ban et tenté de comprendre son fonctionnement avec systemd.
Je demande donc à fail2ban de surveiller plusieurs logiciels avec plusieurs règles qui ont eux memes des logs dans ''/var/log/lighttpd' soit généré par le 'core' soit par le module 'accesslog'.
J'ai commencé petit avec une analyse de fonctionnement avec sshd et systemd et ca fonctionne à merveille.
En revanche lorsque je commence à utiliser la surveillance des logs de lighttpd lors de l'application de la règle (ou plutot surement dans la procédure interne de détermination de l'ip avant application de la regle dans iptables) l'adresse ip est completement fausse dans les logs de fail2ban je vois des choses comme :
Code : Tout sélectionner
2015-12-23 19:22:04,848 fail2ban.filter [314]: WARNING Determined IP using DNS Lookup: 404 = ['0.0.1.148']
2015-12-23 19:22:06,135 fail2ban.filter [314]: WARNING Determined IP using DNS Lookup: 345 = ['0.0.1.89']
2015-12-23 20:48:36,094 fail2ban.filter [314]: INFO [lighttpd-phpMyAdmin] Found 185.130.5.207
2015-12-23 20:48:36,733 fail2ban.actions [314]: NOTICE [lighttpd-phpMyAdmin] Ban 185.130.5.207
2015-12-23 20:58:36,753 fail2ban.actions [314]: NOTICE [lighttpd-phpMyAdmin] Unban 185.130.5.207
2015-12-23 21:20:20,496 fail2ban.filter [314]: WARNING Determined IP using DNS Lookup: 0 = ['0.0.0.0']
2015-12-23 21:20:20,496 fail2ban.filter [314]: INFO [lighttpd-zgrap] Found 0.0.0.0
2015-12-23 21:20:21,102 fail2ban.actions [314]: NOTICE [lighttpd-zgrap] Ban 0.0.0.0
2015-12-23 21:30:21,121 fail2ban.actions [314]: NOTICE [lighttpd-zgrap] Unban 0.0.0.0
usedns = warn dans mon fichier de configuration et lorsque je place une valeur à no dans un fichier .local du répertoire /etc/fail2ban/jail.d pour définir une règle générale a ne pas résoudre : je n'ai plus rien dans les logs de fail2ban et c'est open bar pour les scanner mxmail robots.txt etc ... et aucune règle ne s'applique sauf pour le ssh qui utilise systemd
ou alors est-ce un de mes filtres regex qui provoque cette erreur ? :
Code : Tout sélectionner
[Definition]
failregex = .*\ <HOST> .*zgrap*
ignoreregex =
Code : Tout sélectionner
# fail2ban-regex /var/log/lighttpd/saccess.log /etc/fail2ban/filter.d/lighttpd-mod_accesslog-phpMyAdmin-filter.local
Running tests
=============
Use failregex filter file : lighttpd-mod_accesslog-phpMyAdmin-filter, basedir: /etc/fail2ban
Use log file : /var/log/lighttpd/saccess.log
Use encoding : UTF-8
Results
=======
Failregex: 2 total
|- #) [# of hits] regular expression
| 1) [2] .*\ <HOST> 404.*phpMyAdmin*
`-
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [3321] Day(?P<_sep>[-/])MON(?P=_sep)Year[ :]?24hour:Minute:Second(?:\.Microseconds)?(?: Zone offset)?
`-
Lines: 3321 lines, 0 ignored, 2 matched, 3319 missed [processed in 6.65 sec]
Missed line(s): too many to print. Use --print-all-missed to print all 3319 lines
Code : Tout sélectionner
fail2ban-client -V
Fail2Ban v0.9.3
Copyright (c) 2004-2008 Cyril Jaquier, 2008- Fail2Ban Contributors
Copyright of modifications held by their respective authors.
Licensed under the GNU General Public License v2 (GPL).
Written by Cyril Jaquier <cyril.jaquier@fail2ban.org>.
Many contributions by Yaroslav O. Halchenko <debian@onerussian.com>.