Mailinglisten-Archive |
Hallo allerseits! Ich werte regelmäßig error.logs aus und ärgere mich dann über sowas: [Thu Mar 25 21:00:40 2010] [error] s15281379.rootmaster.info File does not exist: /www/shop/admin/file_manager.php [Thu Mar 25 21:00:40 2010] [error] s15281379.rootmaster.info File does not exist: /www/onlineshop/admin/file_manager.php [Thu Mar 25 21:00:40 2010] [error] s15281379.rootmaster.info File does not exist: /www/store/admin/file_manager.php [Thu Mar 25 21:00:40 2010] [error] s15281379.rootmaster.info File does not exist: /www/cart/admin/file_manager.php [Thu Mar 25 21:00:40 2010] [error] s15281379.rootmaster.info File does not exist: /www/boutique/admin/file_manager.php [Thu Mar 25 21:00:40 2010] [error] s15281379.rootmaster.info File does not exist: /www/oscommerce/admin/file_manager.php [Thu Mar 25 21:00:40 2010] [error] s15281379.rootmaster.info File does not exist: /www/osc/admin/file_manager.php [Thu Mar 25 21:00:40 2010] [error] s15281379.rootmaster.info File does not exist: /www/catalog1/admin/file_manager.php [... usw. ...] Hier versucht also ein "Angreifer" durch systematisches Ausprobieren herauszufinden, ob ich ein bestimmtes Software-Paket installiert habe, vermutlich um bei Erfolg dessen Sicherheitslücke auszunutzen. Da die Software nicht installiert ist, passiert zwar nichts weiter als der Eintrag von lauter 404-Fehlermeldungen in die error.log, aber ich würde gerne dem "Angreifer" eins auswischen. Meine Überlegung dazu: Der Server ist so konfiguriert, dass im Fehler- fall 404 ein bestimmtes PHP-Skript aufgerufen wird. Dies könnte ich mit Mustern füttern (hier z. B. "admin/file_manager.php") und bei einem Treffer die Antwort an den Anfrage-Sender verzögern, sodass es diesem zu lange dauert und er hoffentlich von weiteren Anfragen ab- sieht. Meine Fragen hierzu: 1. Ist das sinnvoll? Ist es wahrscheinlich, dass weitere Anfragen ausbleiben, wenn die erste verzögert wird? 2. Geht das überhaupt? Der Angreifer fragt evtl. nur die Header ab und nicht den Seiteninhalt. (Er braucht ja nur den Return-Code 200 oder 404 wissen.) Liefert der Apache-Server diese Header bzw. diesen Return-Code bereits aus, bevor mein Skript überhaupt dran kommt und die Antwort verzögern kann? 3. Könnte sich ein solches Verzögern nachteilig auf meine Seiten oder den Server, auf denen meine Seiten liegen, auswirken? (Serverlast, offene Prozesse, ...) 4. Welche Alternativen gibt es? Kann man die Anzahl der Zugriffe pro Zeiteinheit begrenzen? Vielleicht sogar dynamisch, d. h. je mehr gefragt wird, desto langsamer reagieren? 5. Sollte man das überhaupt in Erwägung ziehen oder lieber die Finger davon lassen? Wenn viele Seiten sich in der beschriebenen Weise "zur Wehr" setzen würden, dann könnte man diese Angreifer doch gut lahm legen, oder? Mir ist bewusst, dass mein Anteil klein ist, aber mir geht es ja in erster Linie um den "Schutz" meiner Seiten. Mir ist auch klar, dass manche Fragen eher den Server berühren (hier: Apache), aber vielleicht kennt sich der eine oder andere ja auch damit aus. Freue mich über jede Antwort. Viele Grüße, Mario Haßler -- Sicherer, schneller und einfacher. Die aktuellen Internet-Browser - jetzt kostenlos herunterladen! http://portal.gmx.net/de/go/atbrowser
php::bar PHP Wiki - Listenarchive