Lieber Michael, liebe Liste,
> abseits dieser Sache mal die gennerelle Frage:
> Wie kann ich solche Sachen automatisiert verhindern?
Ich will jetzt nicht von meinen Erfahrungen philosophieren ...
aber meine, mitteilen zu m�ssen, dass das wohl nicht geht, weil zig
verschiedene Szenarios vorstellbar sind: Auch das erlebte Szenario
war in den ersten 48 Stunden nicht beherrschbar (siehe unten).
Das *prim�re* Ziel ist daher aus meiner Sicht: *Erkennen*, dass ein
Angriff vorliegt!
Dabei gebe ich Folgendes zu bedenken (was sonst vmtl �bersehen wird):
Das Ganze baute sich anfangs langsam auf - und schwoll dann an. Wie eine
langgezogene Gausssche Glockenkurve. Und eben dies habe ich anfangs nicht
erkannt:
* Zuerst ging das FS mit den Logs gegen 100%. Ok, ich bin in Urlaub; vmtl
habe ich geschlampert: R�umen wir also mal auf.
* 12h sp�ter: Das FS mit wwwhome (eine RAMDISK) geht gegen 100%.
Ok, da liegen kleinere Logs von webalizer. Kein Problem; gemirrored.
* 12h sp�ter: beide FS auf 100, Server lahm, aber nimmt Requests an;
Mail kommt nicht durch, webmin z�h -> HEY, hier l�uft was schief!
Ich hoffe, ich konnte kenntlich machen, dass die *Erkennung* das Problem ist.
> Bsp: IP xyz fordert einfach zigtausendmal eine existierende Seite an.
Das w�re ja kein Problem. Es ist ja andersherum: 200.000 IP fordern eine
Seiter an. (Und komplexere Szenarien sind vorstellbar. - Der Code ist
drau�en. Insoweit bin nicht nur ich gef�hrdet ...)
> Gibt es ein simples Verfahren derartiges automatisiert festzustellen und
> diese IP, als Notl�sung f�r N�chste und Wochenenden, in die
> /etc/hosts.deny zu schreiben?
Wie soll das denn gehen?
Da stehen dann 500.000 IP und bei jedem Request werden die durchgehechelt?
Auch eine SQL-DB w�rde das nicht machen.
grep auf access.log ist auch T�ddelkram: Das bringt nur weitere Last auf
die Maschine.
Einen ersten Blick warf ich auf das vorgeschlagene mod-security. Aber ich
fand beim schnellen Querlesen weder was zur heuristischen Erkennung geschweige
denn zu automatischer Abwehr.
Schnelle Denkans�tze - w�ren zu diskutieren. Und umzusetzen:
* Gr��e access/error.log �berwachen: (Problem Schwellwert.)
* mod-status: Wenn 80% aller erlaubten Childs laufen, klemmt es.
Und wenn das W�chterprogramm selbst keinen Child mehr bekommt, dann
ist es eh Zeit, den Server zu terminieren.
* Via grep pr�fen, ob H�ufung auf eine konkrete Datei
* Ideal w�re ein Modul, welches periodisch (definierbare) Schwellwerte
pr�ft -> das liefe auf eine Konzentrierung einiger Log-Daten "on-the-fly"
hinaus.
Weitere Ideen?
Martin Ebert
--
http://www.klug-suchen.de
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an [EMAIL PROTECTED]
sonstige Anfragen an [EMAIL PROTECTED]
--------------------------------------------------------------------------