mir geht massiv auf den Zeiger, daß pro Tag hunderte von malen versucht wird, auf Systemdateien zuzugreifen, die dann zum Einbrechen benutzt werden könnten. So zum Beispiel die root.exe und die cmd.exe. Ich habe aber meine Webseiten auf einer Linux-Maschine, und da gibt es diese Dateien ja nicht :-) Ich möchte nun, wenn jemand auf diese Dateien zugreifen will, daß er eine Warnmeldung angezeigt bekommt und sein Besuch mitgeloggt wird. Ich habe auch schon ein php3 - Script dazu geschrieben, das einwandfrei läuft. Jetzt müßte ich nur noch aus allen Verzeichnissen, wo die Hacker diese Dateien suchen, Verknüpfungen zu diesem PHP machen.
Das ist vollends vergebliche Liebesmüh'.
1. Kein Hacker, der seinen Namen auch verdient, wird so dusselig sein, per Hand auszutesten, ob ein Server angreifbar ist oder nicht. Die Zeit kann man viel besser im Freibad, in der Kneipe oder im Kino verbringen, weshalb sich der- oder diejenige ein Programm schreiben wird, das die Drecksarbeit erledigt.
Deine Warnmeldung wird also nie jemand zu sehen bekommen.
2. Sollte doch mal jemand vor lauter Langeweile und Verzweiflung URLs eintippen, wird er oder sie garantiert wenigstens erstmal austesten, welcher Server da am anderen Ende der Leitung werkelt.
Warum sollte man das Büchlein "1000 Sicherheitslücken im IIS" durcharbeiten, wenn der Server auf den Namen Apache hört?
Deine Warnmeldung wird also nie jemand zu sehen bekommen.
3. Jeder, der versucht, in deinen Server einzubrechen, dürfte sich im klaren sein, daß dir das nicht recht sein wird. Und es wird ihm auch so ziemlich völlig wurscht sein.
Warum also noch extra eine Warnung?
4. Von der verbliebenen Seele, die auf die Punkte 1 und 2 nicht von selber kommt, geht garantiert keine Gefahr aus. Und man sollte sich wirklich nicht die Mühe machen, für so einen erbärmlichen Anfänger noch ein Skript zu schreiben.
5. Dein Server schreibt die versuchten Angriffe bereits mit, inklusive IP und Zeitpunkt, und gibt auch für jeden Versuch eine passende Fehlermeldung zurück. Die Dateien nennen sich in der Regel access.log und error.log.
Warum das Rad zweimal erfinden?
6. Der Einsatz eines Skriptes statt der eingebauten Fehlermeldung kostet Resourcen. Ein Programm, das automatisch den Server abklopft, wird nicht so galant daherkommen und zwischen jedem der 300+ Tests eine Verschnaufpause einlegen.
Obendrein müllst du dir mit den ganzen Dateien nur die Platte zu. Ich hoffe, du findest in dem Chaos noch die Seiten, die der Webserver eigentlich liefern soll.
7. Dein Skript wird niemals 100%-ig funktionieren. Oder kennst du alle existierenden Sicherheitslücken des IIS und hälst täglich nach neuen Möglichkeiten Ausschau?
Also, opfere deine Kreativität lieber deinen richtigen Besuchern :)
soenk.e