hatte mal auch das problem
PHP Code:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSSystemCommand "su - someuser -c '/sbin/... %s ...'"
DOSLogDir "/var/log/apache2/mod_evasive.log"
</IfModule>
Benachrichtigungen via DOSEmailNotify funktionieren nur, wenn das Modul unter /bin/mail einen MTA findet (Aufruf: /bin/mail -t %s); umkonfigurieren kann man das über die Konfigurationsdateien nicht, sondern nur über mod_evasive.c bzw. mod_evasive20.c.
Interessant wird das Modul erst durch Interaktion mit ener Firewall, die durch den Parameter DOSSystemCommand initiiert wird. : (
)
PHP Code:
DOSSystemCommand "pfctl -t bruteforce -T add %s"
Wer unter FreeBSD die Firewall pf betreibt, kann mit diesem Aufruf die IP-Adresse %s der Tabelle bruteforce hinzufügen.
Philipp Giebel schlägt als Konfigurationsbeispiel für iptables external folgenden Aufruf vor:
PHP Code:
DOSSystemCommand "su - root -c 'iptables -I INPUT -s %s -j DROP'"
Anfragen von IP-Adressen, die geblacklisted wurden, werden dadurch einfach verworfen. Analog könnten Shorewall-Betreiber also folgendes versuchen:
PHP Code:
DOSSystemCommand "shorewall drop %s"
Das DOSLogDir leider kein Logfile schreibt, sondern ein Lockfile anlegt, bekommt man kaum mit, was das Modul so treibt. Abgesehen davon sind Blacklist-Automatismen immer ein zweischneidiges Schwert; läuft beispielsweise illegitimer Zugriff über einen Proxyserver, würden durch automatisches Blacklisting alle Nutzer dieses Proxys ausgesperrt werden.
Zum Testen wird ein kleines Perl-Skript mitgeliefert, das man unter Debian folgendermaßen aufruft:
PHP Code:
# perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
.
Ob das Modul auch tatsächlich funktioniert, bekommt man durch einen Blick auf die dynamische Blacklist von Shorewall heraus:
PHP Code:
shorewall show dynamic | wc -l
Bei uns gibt dies den Wert "99" aus, das sind die bisher händisch geblockten Hosts. mod_evasive fügt dieser Liste keine neuen Hosts hinzu, also funktioniert entweder der Shorewall-Aufruf nicht, oder das Modul identifiziert die DDoS-Anfragen nicht.
bei weiteren fragen einfach pnen