. .

Tag: w00tw00t

0

Perl: w00tw00t-Einträge im Apache-Log automatisch für iptables-Firewallregeln verwenden

Perl: w00tw00t-Einträge im Apache-Log automatisch für iptables-Firewallregeln verwenden

Im Apache-Errorlog finden sich bei mir immer wieder einige Einträge dieser Art: „[Wed Apr 07 23:17:01 2010] [error] [client 88.191.61.110] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:“. Diese Einträge entstehen wohl, wenn Apache von einem Tool namens `dfind‘ gescannt wird. `dfind‘ sucht nach Schwachstellen in der verwendeten Server-Software. Da solche Log-Einträge ziemlich überhand nahmen, schrieb ich ein kleines Perl-Script, dass ähnlich wie `tail‘ das Apache-Logfile beobachtet und bei einem Eintrag nach entsprechendem Muster („.*request without hostname.*w00tw00t.*“) iptables anweist, die Client-IP zu sperren – falls diese IP ohnehin nicht schon gesperrt ist. Das Script setzt sich selbst