Fail2ban Lighttpd

Neogreen

Member
Hallo,

Ich wollte das man bei Lighttpd bei gewissen anzahl von 404 aufrufen gebannt wird evt könnt ihr mir helfen. Erfolgreiche Zugriff sie zb so aus:

127.0.0.1 127.0.0.1 - [01/Jan/2013:16:09:38 +0000] "GET /phpmyadmin/themes/pmahomme/img/sprites.png HTTP/1.1" 200 38291 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0"

oder so

127.0.0.1 test.neogreen.net - [01/Jan/2013:16:09:09 +0000] "GET /index.php HTTP/1.1" 200 140 "-" "Wget/1.13.4 (linux-gnu)"

Nicht erfolgreicht sie es so aus:

127.0.0.1 test.neogreen.net - [01/Jan/2013:16:03:08 +0000] "GET /test HTTP/1.1" 404 345 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0"

Kann jemand daraus für Fail2ban ein funktionierenden RegEx bauen?
 
Jep, hatte extra bei lighttpd logfile aktiviert. Ich schau aber eben nochmal in die Fail2ban logs.

edit:

PHP:
2013-01-26 20:32:44,184 fail2ban.jail   : INFO   Creating new jail 'apache-404block'
2013-01-26 20:32:44,184 fail2ban.jail   : INFO   Jail 'apache-404block' uses poller
2013-01-26 20:32:44,193 fail2ban.filter : INFO   Added logfile = /var/log/lighttpd/access.log
2013-01-26 20:32:44,193 fail2ban.filter : INFO   Set maxRetry = 5
2013-01-26 20:32:44,194 fail2ban.filter : INFO   Set findtime = 600
2013-01-26 20:32:44,194 fail2ban.actions: INFO   Set banTime = 1800
2013-01-26 20:32:44,194 fail2ban.filter : ERROR  No 'host' group in '- - \[.*\] "GET /.* HTTP/1\.[01]" 404 [0-9]+.*$'
2013-01-26 20:32:44,199 fail2ban.jail   : INFO   Creating new jail 'ssh-ddos'
2013-01-26 20:32:44,199 fail2ban.jail   : INFO   Jail 'ssh-ddos' uses poller
2013-01-26 20:32:44,200 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2013-01-26 20:32:44,200 fail2ban.filter : INFO   Set maxRetry = 2
2013-01-26 20:32:44,201 fail2ban.filter : INFO   Set findtime = 600
2013-01-26 20:32:44,201 fail2ban.actions: INFO   Set banTime = 10000
2013-01-26 20:32:44,206 fail2ban.jail   : INFO   Creating new jail 'ssh'
2013-01-26 20:32:44,206 fail2ban.jail   : INFO   Jail 'ssh' uses poller
2013-01-26 20:32:44,207 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2013-01-26 20:32:44,207 fail2ban.filter : INFO   Set maxRetry = 2
2013-01-26 20:32:44,208 fail2ban.filter : INFO   Set findtime = 600
2013-01-26 20:32:44,208 fail2ban.actions: INFO   Set banTime = 10000
2013-01-26 20:32:44,263 fail2ban.jail   : INFO   Jail 'apache-404block' started
2013-01-26 20:32:44,265 fail2ban.jail   : INFO   Jail 'ssh-ddos' started
2013-01-26 20:32:44,265 fail2ban.jail   : INFO   Jail 'ssh' started

Scheint irgendwie als würd der regex nicht passen?
 
Last edited by a moderator:
Die Fehlermeldung ist doch sehr gesprächig:

Code:
<HOST> - - \[.*\] "GET /.* HTTP/1\.[01]" 404 [0-9]+.*$
 
Stell mal in der /etc/fail2ban/fail2ban.conf das LogLevel auf 4, Fail2Ban neustarten und dann schau in der Fail2Ban-Log noch mal nach.

Ansonsten kannst du den RegEx auch mit:
fail2ban-regex /varl/log/lighthttpd-logdir/datei.log /etc/fail2ban/filter.d/xxx.conf

den Regex testen.

Oder du machst ihn bischen gröber:
Code:
<HOST> (.*) "GET (.*)" 404 (.*)
 
Back
Top