IISLOCKDown und URLSCAN

Wer bis Windows 2000 einen Internet Information Server installiert hat, hat sehr viele Dienste als Standard aktiviert, die ein Server in der Regel nicht braucht, aber die Sicherheit reduzieren. Dazu zählen nicht nur CGI und ASP-Erweiterungen, sondern auch einige zusätzliche Verzeichnisse, die Code enthalten und jeder Windows 2000 Besitzer auf Schwachstellen analysieren kann. Und diese Schwachstellen gibt es und werden auch ausgenutzt, wenn der Administrator nicht das System patched und konfiguriert. So haben Sie bis zum IIS5 folgende Verzeichnisse, die für Exchange nicht erforderlich sind.

Zudem sind einige Erweiterungen aktiv, die ebenfalls für Exchange nicht erforderlich sind. Erst seit Windows 2003 wird der IIS6 nicht mehr automatisch mit installiert, und selbst wenn er installiert wird, dann gibt es nur eine statische Webseite ohne umfangreiche Zusatzfunktionen. Diese müssen alle erst explizit frei geschaltet werden.

IISLOCKD

Ehe Sie nun aber panisch versuchen, ihren IIS zu sichern, sollten Sie das Programm IISLOCKDOWN von Microsoft herunter laden und aufrufen. IISLOCKD fragt sie nach dem Start, welch ein Typ Webserver sie betreiben. Auf einer umfangreichen Auswahlliste gibt es neben den Einstellungen "Kein Webserver" und "Statische Server" auch "Exchange 2000" Server. Sie machen eigentlich nichts falsch, diesen Typ auszuwählen und IISLOCKDOWN den Rest machen zu lassen.

Nach dem Durchlauf sollten Sie alles testen. Wenn etwas nicht wie erwartet funktioniert, dann rufen Sie IISLOCKDOWN einfach noch einmal auf und alle Änderungen des vorherigen Laufs werden rückgängig gemacht. Sie können dann IISLOCKDOWN erneut mit anderen Einstellungen aufrufen.

Sie können z.B. wieder Exchange 2000 auswählen, aber mit der Checkbox am unteren Rand sich die einzelnen Einstellungen anzeigen lassen. Sie sehen dann genau, was IISLOCKDOWN entfernt und umkonfiguriert. In den Fenstern können Sie auch abweichend von der gewählten Vorlage die Einstellungen anpassen. Sie sollten aber immer wissen was sie tun und nicht benötigen.

Exchange benötigt z.B. nur ASP-Unterstützung. Alle anderen dynamischen Dinge werden per Default entfernt:

Ein Webserver sollte nur die Dienste betreiben, die er bereit stellt. Alle zusätzlichen Dienste benötigen nicht nur Speicher und Festplattenplatz sondern könnten auch ein Problem sein, das morgen erst erkannt wird. Speziell wenn Sie ihren Exchange Server über das Internet erreichbar machen.

Aus diesem Grund werden auch die beim IIS4/IIS5 per Default eingerichteten Verzeichnisse entfernt und die Berechtigungen auf einige kritische Dateien so geändert, das anonyme Anwender diese nicht mehr aufrufen können:

Nur bei der Installation von URLSCAN auf der folgenden Seiten sollten Sie vorsichtig sein und entsprechende Vorbereitungen getroffen haben. URLSCAN ist keine "Plug and Play"-Komponente, sondern erfordert manuelle Einrichtungen über eine INI-Datei.

URLSCAN

Allein die sichere Konfiguration des IIS und die Entfernung von virtuellen Verzeichnissen ist nicht ausreichend. Wenn Sie eine Firewall haben, dann können sie die HTTP-Befehle vor dem Eintreffen am IIS einer Plausibilitätskontrolle unterziehen.

Genau das macht auch URLSCAN. URLSCAN ist eine DLL, die sich als ISAPI-Filter in den IIS einbindet und alle Anfragen an den Server überprüfen kann. URLSCAN wird über eine INI-Datei gesteuert, in der die erlaubten und verbotenen Befehle konfiguriert werden können. So können Sie hier z.B. die URL-Pfade vorgeben, die überhaupt an den IIS durchgereicht werden dürfen. Für die Einrichtung mit Exchange reichen hier folgende Pfade:

Wenn Sie in URLSCAN nur diese Pfade zulassen, dann kann ein Virus, eine fehlerhafte Installation oder ein Fehler durch den Admin keinen direkten Schaden anrichten, da Anfragen auf andere virtuelle Verzeichnisse von URLSCAN direkt geblockt werden.

URLSCAN kann noch weiter arbeiten und auch Pfade und Erweiterungen kontrollieren. So könnten Sie verhindern, dass in einer URL z.B.: die Zeichen "..\" vorkommen und damit ein Angreifer den Pfad nach oben wechselt. Ebenso könnten Sie URLSCAN anweisen, dass am Ende einer URL kein ".EXE" steht. Damit könnte Sie verhindern, dass der IIS Programme auf dem Server ausführt. CodeRed nutzt z.B. eine Schwachstelle, um die CMD.EXE als "ROOT.EXE" in das Verzeichnis Scripts zu kopieren und dann aufzurufen.

IISLOCKD und IIS6

Windows 2003 benötigt das Programm IISLOCKD nicht mehr. Der IIS6 ist nach der Installation per default viel stärker zugestopft als der IIS4 oder IIS5. Hier gibt es keine Notwendigkeit, bestimmte Dienste und Verzeichnisse zu entfernen, da Sie von Hause aus nicht da sind. Sie als Administrator müssten die Schwachpunkte des IIS4 und IIS5 erst manuell aktivieren. Wenn Sie aber das tun, dann haben Sie sicher einen Grund dafür und möchten gerade nicht, dass ein Programm wie IISLOCKD ihre Einstellungen wieder rückgängig macht.

Trotzdem gibt es auch für den IIS6 einen IISLOCKD unter http://www.Microsoft.com/windows/reskits/webresources.

Weitere Links

Keywords:IISLOCKD URLSCAN