Home /

DoS-Angriffe erfolgreich aufhalten

Immer wieder versuchen nervige Script-Kiddies, Spam-Bots oder sonstige bösgestimmte Zeitgenossen, durch viele Anfragen an Webserver in sehr kurzer Zeit deren Funktion zu beeinträchtigen und die Auslieferung der Inhalte an „normale“ Besucher dadurch zu erschweren oder gar ganz zu verhindern.
Heutzutage generieren sich viele Webprojekte aus dynamisch erzeuten Seiten; die Bildung der Inhalte benötigt daher Rechenzeit und Speicher auf derm Webserver, was das DoS-Problem verstärkt. Durch zu viele Anfragen in zu kurzer Zeit steigt die CPU-Auslastung an und in ungünstigen Situation ist kein Seiteaufbau mehr möglich, da dem Server der RAM ausgeht.
Um hier Entlastung zu bringen wurde das Apache-Modul mod_evasive entwickelt (Download-Mirror), welches die maximal möglichen Verbindungen pro IP-Adresse kontrolliert und im Bedarfsfall abblockt. (weiterlesen…)

17.02.2007 00:50 | No Comments | Posted in Howto, Linux, Webtechnik

mod_rewrite: Variablen auf neues Ziel umleiten

Vielleicht standet ihr auch schon vor dem Problem: die URL-Struktur einer Webpräsenz hat sich geändert, Skripte, welche Inhalte dynamisch generieren, liegen an anderen Orten und u.U. hat sich auch die Struktur der zu übergebenden GET-Variablen geändert.
Prinzipiell eigentlich kein Problem, schließlich sollten die dynamischen Inhalte aus dem Gesamtkontext mit der neuen Struktur erzeugt werden; anders sieht es jedoch aus, wenn es sich bei den Skript-Dateien um wichtige Inhalte handelt, die auch bei Google schon gut indiziert sind.
Es wäre ärgerlich, wenn die bei Google geführten Links nicht mehr gültig sind und ins Leere laufen – oder sogar 404-Fehler erzeugen.
Um die Struktur von Web-Präsenzen auf neue Ziele „umzubiegen“ bietet sich ein Regelwerk in der sogenannten .htaccess-Datei an.
Leider ist die Umleitung von GET-Variablen nicht ganz trivial.
Der erste Gedanke wäre z.B. folgende Lösung, um die Parameter des Skripts datei.phpparam1 sowie param2 auf die neue Location umzuleiten:

RewriteRule ^datei\.php\?param1=([^&]+)&param2([^&]+) /neu/datei/$2/$1 [R=301,L]
#falsch!!

So klappt es leider nicht, da mod_rewrite diese Behandlung von QueryParametern nicht toleriert.
Der richtige Ansatz läuft über Analyse des QueryStrings, um die GET-Parameter zu separieren:

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^param1=([^&]+)&param2=([^&]+)$ 
RewriteRule ^datei\.php$ /datei/%2/%1? [R=301,L] 

Per %n wird hier auf die ‘Variablen’ der vorigen RewriteCond zugegriffen.
Nach diesem Muster lassen sich auch anspruchsvolle Umstukturierungen “google-freundlich” durchführen. Beispiele für weitere Rewrite-Methoden gibt es in der Apache-Dokumentation.

08.01.2007 17:39 | 2 Comments | Posted in Howto, Linux

Berlin Silvester 2006Parksession 07.05.03Silvester 2002/03 auf da OimGeburtstag Drea 23.5.02Praktikum Heidelberg 09.-13.02.04MI HumanParty 14.05.03MI HumanParty 14.05.03Schtäphie kocht & Co. 08.11.03Segel-Urlaub Holland 14.07.-24.07.2006Uni-Tour Mai 2002

57 queries in 0,352 seconds.