Michael Schröpl: aufruf des interpreters/start eines prozesses unterbinden

Beitrag lesen

Hi Philipp,

mit der httpd.conf? - Geht das?
Kann man da einfach sagen, wenn kein user_agent => kein Prozess?
Hm. Ich glaube nicht.

1. Schritt: Mit mod_setenvif bedingt auf Inhalte des HTTP-Headers eine Environment-Variable setzen.
2. Schritt: Mit mod_rewrite den URL dynamisch umschreiben, in Abhängigkeit vom Inhalt der Environment-Variable.
Nein, ich habe das noch nicht selbst gemacht, aber das wäre die Bauanleitung, mit der ich es versuchen würde.

Keine Ahnung, wie man das dem WebServer verklickern soll, dass er
Prozesse unterbinden soll.
Da müsste man wohl schon einen eigenen programmieren.

Es reicht, wenn man den URL umschreibt - dieser ist ja dafür zuständig, ob das CGI-Skript gestartet wird oder nicht.

Um mich nocheinmal zu wiederholen: Die einzige Lösung (welche die
"guten" Kunden bei der Stange hält), ist, die Scripte so zu
programmieren, dass sie im Falle einer Attacke möglichst schnell
beendet werden

Yep - und mod_rewrite kann Teil dieser Programmierung sein.

Dazu musst du einige gute Kriterien haben, welche den "Attackenden"
identifizieren.

Genau - hier sehe ich das Haupt-Problem.

Ein sehr viel besseres Kriterium ist es eben, dass der Attackende sehr
viele Requests in kurzer Zeit ausführt.

Um das zu merken, brauchst Du aber ein Gedächtnis - also muß das Skript die entsprechende Buchführung selbst erledigen.
Das kann der Apache alleine nicht mehr leisten, weil HTTP gedächtnislos funktioniert.

Viele Grüße
      Michael