Moin,
um meinen server vor andauernden angriffen ein wenig abzuschirmen, habe ich nun fail2ban installiert. dieses wertet allerdings nur die access.log aus, so dass ich noch andere am hals habe.
in meinem apache-log werden recht oft verzeichnis-scans (error.log) für phpmyadmin gezeigt:
okay. da es sich ja innerhalb von sekunden abspielt habe ich nun folgendes gemacht:
iptables-chain namens http-flood erzeugt.
drop-regel in der chain:
dann die chain in die INPUT chain gelegt:
jetzt die frage (ich bin kein iptables-spezi...leider
): das bedeuted, dass sobald jemand mehr als 3 http-anfragen pro sekunde schickt, wird er gedroppt, oder? für welchen zeitraum gilt diese sperre dann?
habe ich die möglichkeit, eine regel zu erstellen, die sobald soetwas passiert (mehr als 3 http/anfragen pro sec) die ip permanent geblockt wird (eigene -j DROP regel in der input-chain)? sprich das sich diese regel dann selber erstellt?
nächstes problem:
wie kann ich dieses kerlchen bannen? kommt auch täglich mit unterschiedlichen ip's, leider in keinem sekunden-zeitfenster.
besteht die möglichkeit, fail2ban auf die error.log-datei zu erweitern?
danke und viele grüße,
marco
um meinen server vor andauernden angriffen ein wenig abzuschirmen, habe ich nun fail2ban installiert. dieses wertet allerdings nur die access.log aus, so dass ich noch andere am hals habe.
in meinem apache-log werden recht oft verzeichnis-scans (error.log) für phpmyadmin gezeigt:
[Sun Sep 26 21:31:03 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/mysql
[Sun Sep 26 21:31:04 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/pma
[Sun Sep 26 21:31:04 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/phpmyadmin
[Sun Sep 26 21:31:04 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/phpMyAdmin
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/scripts, referer: 92.51.132.164
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/mysql, referer: 92.51.132.164
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/phpmyadmin, referer: 92.51.132.164
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/scripts
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/mysql
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/phpmyadmin
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/phpMyAdmin, referer: 92.51.132.164
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/pma, referer: 92.51.132.164
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/scripts, referer: 92.51.132.164
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/phpMyAdmin
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/mysql, referer: 92.51.132.164
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/pma
[Sun Sep 26 21:31:05 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/phpmyadmin, referer: 92.51.132.164
[Sun Sep 26 21:31:06 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/phpMyAdmin, referer: 92.51.132.164
[Sun Sep 26 21:31:06 2010] [error] [client 66.109.241.122] File does not exist: /var/www/vhosts/blabla.de/httpdocs/pma, referer: 92.51.132.164
okay. da es sich ja innerhalb von sekunden abspielt habe ich nun folgendes gemacht:
iptables-chain namens http-flood erzeugt.
drop-regel in der chain:
iptables -A http_flood -m limit --limit 3/sec -p tcp --dport 80 -j DROP
dann die chain in die INPUT chain gelegt:
iptables -A INPUT -p tcp --dport 80 -j http_flood
jetzt die frage (ich bin kein iptables-spezi...leider

habe ich die möglichkeit, eine regel zu erstellen, die sobald soetwas passiert (mehr als 3 http/anfragen pro sec) die ip permanent geblockt wird (eigene -j DROP regel in der input-chain)? sprich das sich diese regel dann selber erstellt?
nächstes problem:
[Mon Sep 27 00:00:32 2010] [error] [client 217.109.146.25] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind
[Mon Sep 27 03:14:59 2010] [error] [client 217.109.146.25] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind
[Mon Sep 27 06:27:35 2010] [error] [client 217.109.146.25] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind
[Mon Sep 27 09:45:56 2010] [error] [client 217.109.146.26] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind
[Mon Sep 27 10:42:04 2010] [error] [client 216.205.76.228] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind
[Mon Sep 27 12:51:41 2010] [error] [client 88.149.200.154] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind![]()
wie kann ich dieses kerlchen bannen? kommt auch täglich mit unterschiedlichen ip's, leider in keinem sekunden-zeitfenster.
besteht die möglichkeit, fail2ban auf die error.log-datei zu erweitern?
danke und viele grüße,
marco