![]() |
[HOW2] mod_evasive konfigurieren
Hi,
oft ist es einfach einen kleinen Webserver außer Betrieb zu setzen. Ein aufwendiges Script, oft genug aufgerufen lässt den Server in die Knie gehen. Der Denial of Service (DoS) ist geschafft. Unter anderem um dem Vorzubeugen, gibt es für den Apache Webserver mod_evasive. Die Konfiguration ist einfach aber effizient. Mod Evasive führt eine HOstTabelle, und sobald eine gewisse Anfrageschwelle pro Host überschritten wird, bekommt dieser ein 403 access denied. Zusätzlich kann der Admin per Mail benachrichtigt werden und ein Shell Befehl ausgeführt werden. Unter Debian lenny installiert man das Modul mit : Code:
apt-get install libapache2-mod-evasive Erst das Modul aktivieren. Code:
a2enmod mod-evasive Code:
<IfModule mod_evasive20.c> Der Befehl unter DOSSystemCommand sorgt dafür, dass alle Pakete von der AngreiferIP gedropt werden. Somit wird dem Angreifer suggeriert, der Server sei nicht mehr erreichbar(Timeout). Edit: Sollen automatische Firewallregeln angelegt werden (via DOSSystemCommand wie hier) ist das Paket 'sudo'(kann bei anderen Distributionen als Debian anders heißen) nötig. Damit www-data diese Firewallregel einrichten darf, muss sudo installiert sein und in der /etc/sudoers folgende Zeile hinzu gefügt werden. Code:
www-data ALL=(ALL) NOPASSWD: /sbin/iptables -A INPUT -s [0-9.]* -j DROP ACHTUNG::: SPERRT EUCH NICHT SELBST AUS BEIM TESTEN. SOLLTET IHR VON EUREM "HOMEPC" EINEN TEST DER CONFIG DURCHFÜHREN, DENKT DARAN, DASS ALLE PAKETE VON EUREM PC DANN GEDROPT WERDEN, AUCH SSH PAKETE::: Gruß SP4C3 |
Super erklärt so sollte es nun wirklich jeder installt bekommen
|
ich hab fail2ban kommt ziemlich aufs gleiche raus
|
Zitat:
das hilft da wohl eher nicht ... zumal fail2ban extern ist und mod-evasive auf Apache-interne Funktionen aufsetzt ... |
Genau Cerb.
mod_evasive reagiert auf unmenschlich viele Seitenaufrufe von einer IP. fail2ban auf fehlgeschlagene Logins. |
und beides schützt nicht vor massiven Dos Attacken,
wenn einer dos loslässt ok schafft der mod_evasive noch.. aber wenn mehere dran sind haste auch damit keine chance;) |
Ich hab auch nicht behauptet, dass du damit nen massiven DDoS abwehren kannst.
Spätestens, wenn die Bandbreite der Angreifer größer als deine ist hast du eh keine Chance, außer du schaffst es die IPs bevor sie in dein Netz geroutet werden ins Nirvana zu routen... |
Bei mir kommt beim apache restart immer folgende Meldung:
Code:
Restarting web server: apache2Syntax error on line 290 of /etc/apache2/apache2.conf: |
Dann schau doch mal in Zeile 290 deiner ApacheConfig, oder poste die hier...
|
Dort steht genau das drin, was oben im Thread als erforderlich angegeben ist!
Code:
DOSHashTableSize 3097 # Größe der HostHashTabelle, Je größer desto schneller, je kleiner desto weniger Ram Verbrauch |
poste mal den Block, den du rein gesetzt hast ...
scheint wohl ein Fehler drin zu sein |
Hab gerade versucht den Fehler nach zu vollziehen und dabei bemerkt, die Kommentare sind zu entfernen, dann gehts.
Also alles ab dem # muss entfernt werden, dann funzts wies soll... |
Also ich bekomm immer die meldung,das das paket nicht gefunden wurde
Couldn't find package libapache2-mod-evasive Habe ein Debian Lenny 5 auf 64Bit |
|
Wollt gerade schon rebbellieren
In den Standart Debian Repos ists drin. Kann sein, dass dein Provider andere Repos einträgt, die es nicht enthalten. |
Habs mittlerweile Installed.Aber mal ne andere Frage.Wo bekomm ich das hier her?Also soweit ich weis,gibts das glaub ich garnich für Lenny.
apt-get install libapache2-mod-security Habs für Debian Etch gefunden,aber wiederum sagt mit Putty,das das Paket nich gefunden wurde. Kennt jemand ne Quelle,wo mans für Lenny amd64Bit herbekommt? |
|
Ohne die # und die nachfolgenden Kommentare funktioniert es nun auch.
Code:
<IfModule mod_evasive20.c> |
alles kann schön aber das habe ich nicht..was muss ich da nach installieren?
/etc/sudoers |
das Paket sudo
unter Debian also Code:
apt-get install sudo |
ein leerzeichen zwischen size und der tablegroesse und falls das nichts hilft, #kommentar entfernen .
|
Hat einer ne Idee warum evtl. der Mailversand nicht gehen könnte?
Bzw. hat das mal wer getestet? btw Habe Postfix installiert. |
schau dir mal die config an von postfix..hat doch nichts mit mod_evasive zu tun..
|
Naja schon weil Postfix an sich funktioniert ja und verschickt auch seine Mails wie es soll ... nur halt nix von mod_evasive ...daher dachte ich liegts wohl daran? :-/ Nach was genau soll ich denn in der postfix conf suchen?
|
schau mal hier
http://www.huschi.net/14_182_de-apac...-abfangen.html evt die der pfad vom mailer nicht korrekt, ich kann es dir aber nicht genau sagen... evt hilft es dir....ich hab die mail funktion nicht drin weil ich es überflüssig finde.. |
hi hab das mal insterliert beim freund aufen server weil er sagte die spielen bei ihn rum mit das prog Goodbye aber irgentwie wird damit nix geblockt es wird auch nix inne iptables geschrieben hat da einer vieleicht ne ide wenn ich die index ganz offt öffne kommt
Forbidden You don't have permission to access /index.php on this server. aber wie gesagt es wird nix inne iptables eingetragen währe nett wenn einer helfen könnte LG Flori |
Das Forbidden ist sinn der Sache.
mod_evasive wird Standardmäßig erstmal den Zugriff auf die Seite verweigern wenn das Limit überschritten wird. Das mit iptables musst du schauen 1. netfilter module geladen 2. iptables binary überhaupt da 3. sudo richtig konfiguriert.. etc. pp. Logfiles sind dein Freund |
haste mal ein tip wie ich das überprüfen kann
|
zu ersterem:
in lsmod sollte ne ganze menge auftauchen zu 2. der befehl iptables ist ausführbar. 3. sudo funktioniert?? Ansonsten probier doch mal eine Paketfilterregel manuell zu setzen. Somit kann man den Fehler eingrenzen... |
also iptables is ausfürbar
bei sudo iptables -A INPUT -s 31.xx.xx.xx -j DROP ///geht ohne Probleme iptables -A INPUT -s 31.xx.xx.xx -j DROP /// geht auch ohne Probleme root@ks390xxx:~# iptables -L INPUT -n Chain INPUT (policy ACCEPT) target prot opt source destination DROP all -- 31.xx.xx.xx 0.0.0.0/0 also das geht alles |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr. |
Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2025, vBulletin Solutions, Inc.