(0) exportieren Drucken
Alle erweitern

Schützen des Webservers

Aktualisiert: 05. Mai 2004
Auf dieser Seite

Modulübersicht Modulübersicht
Zielsetzung Zielsetzung
Geltungsbereich Geltungsbereich
Verwendung dieses Moduls Verwendung dieses Moduls
Übersicht Übersicht
Bedrohungen und Gegenmaßnahmen Bedrohungen und Gegenmaßnahmen
Vorgehensweise zum Schützen des Webservers Vorgehensweise zum Schützen des Webservers
Überlegungen zur Installation von IIS und .NET Framework Überlegungen zur Installation von IIS und .NET Framework
Installationsempfehlungen Installationsempfehlungen
Schritte zum Schützen des Webservers Schritte zum Schützen des Webservers
Schritt 1. Patches und Updates Schritt 1. Patches und Updates
Schritt 2. IISLockdown Schritt 2. IISLockdown
Schritt 3. Dienste Schritt 3. Dienste
Schritt 4. Protokolle Schritt 4. Protokolle
Schritt 5. Konten Schritt 5. Konten
Schritt 6. Dateien und Verzeichnisse Schritt 6. Dateien und Verzeichnisse
Schritt 7. Freigaben Schritt 7. Freigaben
Schritt 8. Ports Schritt 8. Ports
Schritt 9. Registrierung Schritt 9. Registrierung
Schritt 10. Überwachen und Protokollieren Schritt 10. Überwachen und Protokollieren
Schritt 11. Sites und virtuelle Verzeichnisse Schritt 11. Sites und virtuelle Verzeichnisse
Schritt 12. Skriptzuordnungen Schritt 12. Skriptzuordnungen
Schritt 13. ISAPI-Filter Schritt 13. ISAPI-Filter
Schritt 14. IIS-Metabasis Schritt 14. IIS-Metabasis
Schritt 15. Serverzertifikate Schritt 15. Serverzertifikate
Schritt 16. "Machine.config" Schritt 16. "Machine.config"
Schritt 17. Codezugriffssicherheit Schritt 17. Codezugriffssicherheit
Snapshot eines sicheren Webservers Snapshot eines sicheren Webservers
Aufrechterhalten der Sicherheit Aufrechterhalten der Sicherheit
Remoteverwaltung Remoteverwaltung
Vereinfachen und Automatisieren der Sicherheit Vereinfachen und Automatisieren der Sicherheit
Zusammenfassung Zusammenfassung
Weitere Ressourcen Weitere Ressourcen

Modulübersicht

Der Webserver befindet sich am Front-End der Hostinfrastruktur. Er ist direkt mit dem Internet verbunden und empfängt Anforderungen von den Clients, erstellt dynamisch Webseiten und sendet die angeforderten Daten.

Ein sicherer Webserver bietet eine zuverlässige Grundlage für die Hostumgebung, wobei seine Konfiguration für die allgemeine Sicherheit der Webanwendungen von entscheidender Bedeutung ist. Doch welche Voraussetzungen müssen für die Sicherheit eines Webservers erfüllt sein? Zum Schützen des Webservers müssen Sie Ihr Ziel kennen. Sobald Sie wissen, was einen sicheren Webserver ausmacht, können Sie die Konfigurationseinstellungen zum Erstellen eines sicheren Webservers lernen.

In diesem Modul wird eine systematische, nachvollziehbare Methode dargestellt, mit der Sie erfolgreich einen sicheren Webserver konfigurieren können. Es wird ein Verfahren zum Schützen des Webservers vorgestellt, mit dem die Konfiguration des Servers in zwölf Sicherheitsbereiche unterteilt wird. Für jeden dieser Sicherheitsbereiche wird eine Reihe von allgemeinen Schritten durchgeführt, die modular dargestellt werden. Dieses Modul zeigt zudem, wie Sie diese Schritte in die Praxis umsetzen.

Zielsetzung

Themenbereiche:

  • Definition eines sicheren Webservers

  • Schützen des Webservers mit einem erprobten Verfahren

  • Elemente, die bei einer vollständigen Installation von IIS und .NET Framework unter Windows 2000 Server standardmäßig installiert werden

  • Dienste, die ohne Risiko auf einem sicheren Webserver deaktiviert werden können

  • Sicheres Konfigurieren des Webservers, einschließlich Betriebssystemprotokollen, Konten, Dateien, Verzeichnissen, Freigaben, Ports, Registrierung, Überwachung und Protokollierung

  • Sicheres Konfigurieren der Komponenten der Webserver-Anwendung (in diesem Fall IIS), einschließlich Websites, virtuellen Verzeichnissen, Skriptzuordnungen, ISAPI-Filtern, Metabase und Serverzertifikaten

  • Sicheres Konfigurieren der .NET Framework-Einstellungen, einschließlich Machine.config und Codezugriffssicherheit

  • Sicheres Installieren und Verwenden der Terminaldienste für die Remoteverwaltung

  • Gegenmaßnahmen, die gegen häufig anzutreffende Webserverbedrohungen anzuwenden sind, zum Beispiel Profilerstellung, Dienstverweigerungsangriffe, nicht autorisierter Zugriff, Ausführung fremden Codes, Erweiterung der Berechtigungen, Viren, Würmer und trojanische Pferde.

Geltungsbereich

Die Informationen in diesem Modul gelten für folgende Produkte und Technologien:

  • Microsoft Windows Server 2000 und 2003

  • Microsoft .NET Framework 1.1 und ASP.NET 1.1

  • Microsoft Internetinformationsdienste (IIS) 5.0 und 6.0

Verwendung dieses Moduls

Empfehlungen für eine erfolgreiche Arbeit mit diesem Modul:

  • Lesen Sie Modul 2, " Bedrohungen und Gegenmaßnahmen". Hierdurch gelangen Sie zu einem umfassenderen Verständnis der potenziellen Bedrohungen für Webanwendungen.

  • Verwenden Sie den Snapshot. Im Abschnitt "Snapshot eines sicheren Webservers" werden die Attribute eines sicheren Webservers aufgelistet und erläutert. Für diesen Abschnitt wurden Erkenntnisse von zahlreichen Quellen wie Kunden, Branchenexperten und internen Entwicklungs- und Supportteams von Microsoft ausgewertet. Verwenden Sie beim Konfigurieren Ihres Servers die Snapshottabelle als Referenz.

  • Verwenden Sie die Prüfliste. "Prüfliste: Schützen des Webservers" enthält im Abschnitt "Prüflisten" dieses Handbuchs eine Arbeitshilfe als Kurzübersicht, die Sie drucken können. Verwenden Sie diese Aufgabenprüfliste zum schnellen Beurteilen des Umfangs der erforderlichen Schritte und zum Durchführen der einzelnen Schritte.

  • Verwenden Sie die Verfahrenshinweise. Der entsprechende Abschnitt dieses Handbuchs enthält die folgenden Artikel mit Anleitungen:

    • " Verwenden von URLScan"

    • "Verwenden von Microsoft Baseline Security Analyzer"

    • "Verwenden von IISLockdown"

Übersicht

Welche Voraussetzungen müssen für die Sicherheit eines Webservers erfüllt sein? Zum Schützen des Webservers müssen Sie Ihr Ziel kennen. Sobald Sie wissen, was einen sicheren Webserver ausmacht, können Sie die Konfigurationseinstellungen zum Erstellen eines sicheren Webservers lernen. In diesem Modul wird eine systematische, nachvollziehbare Methode dargestellt, mit der Sie erfolgreich einen sicheren Webserver konfigurieren können.

Zu Beginn des Moduls werden die häufigsten Bedrohungen für Webserver erläutert. Anhand dieser Voraussetzungen wird dann ein Verfahren entwickelt und in die Praxis umgesetzt. In einzelnen Schritten lernen Sie, wie Sie die Sicherheit Ihres Webservers erhöhen. Obwohl dieses grundlegende Verfahren technologieübergreifend verwendet werden kann, wird in diesem Modul das Schützen eines Webservers behandelt, auf dem das Betriebssystem Microsoft Windows 2000 und das Microsoft .NET Framework installiert sind.

Bedrohungen und Gegenmaßnahmen

Aufgrund der Möglichkeit von Remoteangriffen stellt ein Webserver ein verlockendes Ziel für diese Angriffe dar. Wenn Sie die Bedrohungen kennen, denen Ihr Webserver ausgesetzt ist, und die zu ergreifenden Gegenmaßnahmen ermitteln können, sind Sie in der Lage, vielen Angriffen zuvorzukommen und das Eindringen der ständig zunehmenden Anzahl von Angreifern zu verhindern.

Ein Webserver ist hauptsächlich folgenden Bedrohungen ausgesetzt:

  • Profilerstellung

  • Denial-of-Service

  • Nicht autorisierter Zugriff

  • Ausführung beliebiger Codes

  • Erweiterung der Berechtigungen

  • Viren, Würmer und trojanische Pferde

In Abbildung 16.1 sind die vorherrschenden Typen von Angriffen und häufige Sicherheitslücken zusammengefasst.

Die wichtigsten Bedrohungen für Webserver und häufige Sicherheitslücken

Abbildung 16.1
Die wichtigsten Bedrohungen für Webserver und häufige Sicherheitslücken

Profilerstellung

Als Profilerstellung bzw. Hostaufzählung wird ein Ausforschungsverfahren bezeichnet, mit dem Informationen über eine Website gesammelt werden. Diese Informationen werden für Angriffe auf bekannte Schwachstellen verwendet.

Sicherheitslücken

Folgende Sicherheitslücken ermöglichen häufig die Profilerstellung für einen Server:

  • Nicht benötigte Protokolle

  • Geöffnete Ports

  • Webserver, die in Bannern Konfigurationsinformationen bereitstellen

Angriffe

Folgende Angriffe dienen häufig zur Profilerstellung:

  • Portscans

  • Ping-Sweeps

  • NetBIOS- und SMB-Aufzählung (Server Message Block)

Gegenmaßnahmen

Zu den Gegenmaßnahmen zählt das Blockieren aller nicht benötigten Ports, das Sperren der ICMP-Datenübertragung (Internet Control Message Protocol) und das Deaktivieren nicht benötigter Protokolle, zum Beispiel NetBIOS und SMB.

Denial-of-Service

Wenn Dienstverweigerungsangriffe erfolgen, wird der Server mit Dienstanforderungen überhäuft. In diesem Fall besteht die Gefahr, dass der Webserver durch die Anforderungen überlastet wird und zulässige Clientanforderungen nicht beantworten kann.

Sicherheitslücken

Folgende Sicherheitslücken erhöhen die Gefahr von Dienstverweigerungsangriffen:

  • Unsichere Konfiguration des TCP/IP-Stacks

  • Server ohne angewendete Patches

Angriffe

Häufig erfolgende Dienstverweigerungsangriffe:

  • SYN-Flooding auf Netzwerkebene

  • Pufferüberläufe

  • Überhäufen des Webservers mit Anforderungen von verschiedenen Standorten

Gegenmaßnahmen

Zu den Gegenmaßnahmen zählt das Schützen des TCP/IP-Stacks und das ständige Anwenden der neuesten Softwarepatches und Updates für die Systemsoftware.

Nicht autorisierter Zugriff

Ein nicht autorisierter Zugriff erfolgt, wenn ein Benutzer ohne die erforderlichen Berechtigungen Zugriff auf geheime Informationen erlangt oder einen unzulässigen Vorgang durchführt.

Sicherheitslücken

Folgende Sicherheitslücken ermöglichen häufig einen nicht autorisierten Zugriff:

  • Unsichere IIS-Webzugriffssteuerungen, einschließlich Webberechtigungen

  • Unsichere NTFS-Berechtigungen

Gegenmaßnahmen

Zu den Gegenmaßnahmen zählen die Verwendung sicherer Web-Berechtigungen, NTFS-Berechtigungen und .NET Framework-Zugriffssteuerungsmechanismen einschließlich URL-Autorisierung.

Ausführung beliebiger Codes

Bei Angriffen mit Ausführung beliebiger Codes wird auf dem Server bösartiger Code ausgeführt, um die Serverressourcen zu schädigen oder um weitere Angriffe gegen nachgeschaltete Systeme zu starten.

Sicherheitslücken

Folgende Sicherheitslücken können die Ausführung bösartigen Codes zur Folge haben:

  • Unsichere IIS-Konfiguration

  • Server ohne angewendete Patches

Angriffe

Häufige Angriffe mit Ausführung beliebiger Codes:

  • Pfadüberschreitung

  • Pufferüberlauf, der zu Code-Injektion führt

Gegenmaßnahmen

IIS ist so zu konfigurieren, dass URLs mit der Zeichenfolge "../" zurückgewiesen werden, um eine Pfadüberschreitung zu verhindern, Systembefehle und Dienstprogramme mit restriktiven Zugriffssteuerungslisten (ACLs, Access Control Lists) gesperrt sowie Updates und neue Patches installiert werden.

Erweiterung der Berechtigungen

Bei Angriffen mit der Erweiterung von Berechtigungen führt der Angreifer Code unter Verwendung eines Prozesskontos mit umfassenden Berechtigungen aus.

Sicherheitslücken

Folgende Sicherheitslücken ermöglichen häufig Webserverangriffe mit der Erweiterung von Berechtigungen:

  • Prozesskonten mit zu umfassenden Berechtigungen

  • Dienstkonten mit zu umfassenden Berechtigungen

Gegenmaßnahmen

Zu den Gegenmaßnahmen zählt das Ausführen von Prozessen unter Verwendung von Konten mit den geringsten Berechtigungen sowie die Nutzung von Dienst- und Benutzerkonten mit den geringsten Berechtigungen.

Viren, Würmer und trojanische Pferde

Folgende Arten von bösartigem Code werden unterschieden:

  • Viren. Programme, die geschrieben werden, um böswillige Aktionen durchzuführen, sowie Betriebssysteme oder Anwendungen zum Absturz bringen.

  • Würmer. Programme, die sich selbst vermehren und verbreiten.

  • Trojanische Pferde. Programme, die nützlich zu sein scheinen, doch tatsächlich Schaden verursachen.

In zahlreichen Fällen wird bösartiger Code erst erkannt, wenn er Systemressourcen bindet und die Ausführung anderer Programme verlangsamt oder verhindert. Beispielsweise war der Wurm Code Red einer der berüchtigtsten Würmer, die auf IIS abzielen. Er nutzte die Sicherheitslücke eines Pufferüberlaufs in einem ISAPI-Filter.

Sicherheitslücken

Folgende weit verbreitete Sicherheitslücken machen Systeme für Viren, Würmer und Trojanische Pferde anfällig:

  • Server ohne angewendete Patches

  • Ausführen nicht benötigter Dienste

  • Nicht benötigte ISAPI-Filter und -Erweiterungen

Gegenmaßnahmen

Zu den Gegenmaßnahmen zählen die unverzügliche Anwendung der aktuellen Softwarepatches, das Deaktivieren nicht verwendeter Funktionen, zum Beispiel ungenutzter ISAPI-Filter und -Erweiterungen, sowie das Ausführen von Prozessen unter Verwendung von Konten mit geringsten Berechtigungen, um den Umfang des Schadens bei einer Gefährdung zu verringern.

Vorgehensweise zum Schützen des Webservers

Zum Schützen eines Webservers müssen Sie zahlreiche Konfigurationseinstellungen anwenden, um die Sicherheitslücken des Servers bei Angriffen zu verringern. Wo müssen Sie also beginnen, und wann wissen Sie, dass alle erforderlichen Maßnahmen durchgeführt wurden? Die beste Methode besteht darin, die zu treffenden Vorkehrungen und die zu konfigurierenden Einstellungen in Kategorien zusammenzufassen. Mithilfe von Kategorien können Sie systematisch die einzelnen Schritte zur Sicherung nacheinander durchführen oder eine bestimmte Kategorie auswählen und spezielle Schritte durchführen.

Konfigurationskategorien

Die Vorgehensweise in diesem Modul zur Konfiguration der Sicherheit wurde in die Kategorien unterteilt, die in Abbildung 16.2 dargestellt sind.

Kategorien der Webserverkonfiguration

Abbildung 16.2
Kategorien der Webserverkonfiguration

Die Kategorien wurden nach folgendem Prinzip definiert:

  • Patches und Updates
    Viele Sicherheitsrisiken werden durch Sicherheitslücken verursacht, die in zahlreichen Veröffentlichungen beschrieben wurden und allgemein bekannt sind. Bei der Entdeckung einer neuen Sicherheitslücke wird der Code, mit dem diese genutzt wird, häufig innerhalb weniger Stunden nach dem ersten erfolgreichen Angriff in Bulletin Boards des Internets veröffentlicht. Wenn Sie keinen Patch auf Ihrem Server anwenden und diesen nicht aktualisieren, ist dieser erfolgreichen Angriffen und bösartigem Code ausgesetzt. Der erste entscheidende Schritt zum Schützen des Webservers ist das Anwenden von Patches und das Aktualisieren des Servers.

  • Dienste
    Dienste stellen die größten Sicherheitslücken für Angreifer dar, die die Berechtigungen und Funktionen eines Dienstes nutzen können, um Zugriff auf den lokalen Webserver oder weitere nachgeschaltete Server zu erlangen. Wenn ein Dienst für den Betrieb des Webservers nicht erforderlich ist, führen Sie ihn nicht auf dem Server aus. Wenn der Dienst benötigt wird, schützen und verwalten Sie ihn. Möglicherweise sollten Sie jeden Dienst überwachen, um dessen Verfügbarkeit sicherzustellen. Wenn die Dienstsoftware nicht sicher ist und Sie den Dienst jedoch benötigen, suchen Sie eine andere Lösung, die sicher ist.

  • Protokolle
    Verwenden Sie keine unsicheren Protokolle. Ist dies nicht zu vermeiden, unternehmen Sie die entsprechenden Schritte, um eine sichere Authentifizierung und Kommunikation zu ermöglichen, indem Sie beispielsweise IPSec-Richtlinien verwenden. Unsichere Klartextprotokolle sind beispielsweise Telnet, Pop3 (Post Office Protocol), SMTP (Simple Mail Transfer Protocol) und FTP (File Transfer Protocol).

  • Konten
    Über überwachte Konten wird der authentifizierte Zugriff auf den Computer gewährt. Was ist der Zweck des Benutzerkontos? Wie häufig erfolgt ein Zugriff über dieses Konto? Ist es ein häufig vorhandenes Konto, das ein Ziel für Angriffe darstellen kann? Ist es ein Dienstkonto, das gefährdet ist und daher geschützt werden muss? Richten Sie Konten mit geringsten Berechtigungen ein, um die Erweiterung von Berechtigungen besser verhindern zu können. Entfernen Sie alle Konten, die Sie nicht benötigen. Erschweren Sie Brute-Force- und Wörterbuchangriffe mit Richtlinien für sichere Kennwörter, und richten Sie anschließend eine Überwachung und Warnmeldungen für fehlgeschlagene Anmeldungen ein.

  • Dateien und Verzeichnisse
    Schützen Sie alle Dateien und Verzeichnisse mit eingeschränkten NTFS-Berechtigungen, die nur den Zugriff auf die erforderlichen Windows-Dienste und -Benutzerkonten zulassen. Verwenden Sie die Überwachungsfunktion von Windows, um verdächtige oder nicht autorisierte Aktivitäten erkennen zu können.

  • Freigaben
    Entfernen Sie alle nicht benötigten Dateifreigaben einschließlich der Standardverwaltungsfreigaben, wenn sie nicht erforderlich sind. Schützen Sie alle übrigen Freigaben mit eingeschränkten NTFS-Berechtigungen. Obwohl Freigaben möglicherweise nicht ungeschützt mit dem Internet verbunden sind, wird durch eine Verteidigungsstrategie mit eingeschränkten und geschützten Freigaben das Risiko verringert, wenn ein Server gefährdet ist.

  • Ports
    Auf dem Server ausgeführte Dienste überwachen bestimmte Ports, damit sie auf eingehende Anforderungen antworten können. Überwachen Sie die Ports auf dem Server regelmäßig, um sicherzustellen, dass auf dem Webserver kein unsicherer oder nicht erforderlicher Dienst aktiviert ist. Wenn Sie einen aktiven Port finden, der nicht von einem Administrator geöffnet wurde, ist dies ein sicheres Anzeichen für einen nicht autorisierten Zugriff und ein Sicherheitsrisiko.

  • Registrierung
    In der Registrierung werden viele sicherheitsrelevante Einstellungen gespeichert. Daher müssen Sie die Registrierung schützen. Dies kann durch das Anwenden eingeschränkter Windows-ACLs und Blockieren der Remoteregistrierungsverwaltung erfolgen.

  • Überwachen und Protokollieren
    Die Überwachung ist eine der wichtigsten Methoden zum Erkennen von Eindringlingen, gegenwärtig ausgeführten Angriffen und Hinweisen auf erfolgte Angriffe. Konfigurieren Sie die Überwachung auf dem Webserver mit einer Kombination der Überwachungsfeatures von Windows und IIS. Ereignis- und Systemprotokolle tragen auch zur Behebung von Sicherheitsproblemen bei.

  • Sites und virtuelle Verzeichnisse
    Sites und virtuelle Verzeichnisse sind ungeschützt mit dem Internet verbunden. Obwohl Anforderungen für Konfigurationsdateien oder ausführbare Programmdateien mit eingeschränktem Zugriff durch eine sichere Firewallkonfiguration und schützende ISAPI-Filter, zum Beispiel URLScan (der im Lieferumfang des Tools IISLockdown enthalten ist), blockiert werden können, empfiehlt sich eine umfassende Verteidigungsstrategie. Verschieben Sie Sites und virtuelle Verzeichnisse auf Partitionen, bei denen es sich nicht um Systempartitionen handelt, und schränken Sie den Zugriff mithilfe von IIS-Webberechtigungen weiter ein.

  • Skriptzuordnungen
    Entfernen Sie alle nicht benötigten IIS-Skriptzuordnungen für optionale Dateierweiterungen, um zu verhindern, dass ein Angreifer Fehler in den ISAPI-Erweiterungen nutzt, mit denen auf diese Dateitypen zugegriffen wird. Nicht verwendete Erweiterungszuordnungen werden häufig übersehen und stellen eine wichtige Sicherheitslücke dar.

  • ISAPI-Filter
    Die Sicherheitslücken in ISAPI-Filtern wurden von Angreifern erfolgreich genutzt. Entfernen Sie nicht benötigte ISAPI-Filter vom Webserver.

  • IIS-Metabasis
    In der IIS-Metabasis werden IIS-Konfigurationseinstellungen verwaltet. Sie müssen sich vergewissern, dass die sicherheitsrelevanten Einstellungen ordnungsgemäß konfiguriert sind und der Zugriff auf die Metabasedatei mit sicheren NTFS-Berechtigungen eingeschränkt ist.

  • Machine.config
    In der Datei Machine.config werden die Konfigurationseinstellungen auf Computerebene für .NET Framework-Anwendungen einschließlich ASP.NET-Webanwendungen gespeichert. Ändern Sie die Einstellungen in Machine.config, um sicherzustellen, dass auf alle ASP.NET-Anwendungen auf dem Server sichere Standardeinstellungen angewendet werden.

  • Codezugriffssicherheit
    Schränken Sie die Richtlinieneinstellungen für die Zugriffssicherheit ein, um zu gewährleisten, dass vom Internet oder Intranet heruntergeladener Code über keine Berechtigungen verfügt und daher nicht ausgeführt werden kann.

Überlegungen zur Installation von IIS und .NET Framework

Bevor Sie Ihren Webserver schützen können, müssen Sie wissen, welche Komponenten nach der Installation von IIS und .NET Framework auf einem Window 2000-Server vorhanden sind. In diesem Abschnitt wird erläutert, welche Komponenten installiert werden.

Mit IIS installierte Komponenten

Mit IIS wird eine Reihe von Diensten, Konten, Ordnern und Websites installiert. Einige mit IIS installierte Komponenten werden möglicherweise nicht von Ihren Webanwendungen verwendet und können den Server für Angriffe anfällig machen, wenn sie auf ihm vorhanden sind. In Tabelle 16.1 sind die Dienste, Konten und Ordner aufgelistet, die bei einer vollständigen Installation von IIS unter Windows 2000 Server erstellt werden, wenn alle Komponenten ausgewählt wurden.

Tabelle 16.1 Standardkomponenten der IIS-Installation

Element

Detailinformationen

Standardeinstellung

Dienste

IIS-Verwaltungsdienst (für die Verwaltung von Web- und FTP-Diensten)
WWW-Publishingdienst
FTP-Publishingdienst
SMTP (Simple Mail Transport Protocol)
NNTP (Network News Transport Protocol)

Installiert

Installiert
Installiert
Installiert
Installiert

Konten und Gruppen

IUSR_MACHINE (anonyme Internetbenutzer)

IWAM_MACHINE (Out-of-Process-ASP-Webanwendungen. Wird für ASP.NET-Anwendungen nur verwendet, wenn sie auf einem Domänencontroller ausgeführt werden. Bei Ihrem Webserver sollte es sich nicht um einen Domänencontroller handeln.)

Der Gruppe Gast hinzugefügt

Der Gruppe Gast hinzugefügt

Ordner

%windir%\system32\inetsrv (IIS-Programmdateien)
%windir%\system32\inetsrv\iisadmin (Dateien für die IIS-Remoteverwaltung)
%windir%\help\iishelp (IIS-Hilfedateien)
%systemdrive%\inetpub (Web-, FTP- und SMTP-Stammordner)

 

Websites

Standardwebsite, Port 80: %SystemDrive%\inetpub\wwwroot
Verwaltungswebsite, Port 3693: %SystemDrive%\System32\inetsrv\iisadmin

Anonymer Zugriff gestattet
Zugriff nur auf lokalem Computer und durch Administratoren

Elemente der .NET-Framework-Installation

Wenn Sie das .NET Framework auf einem Server installieren, auf dem sich IIS befindet, wird ASP.NET durch .NET Framework registriert. Hierbei wird ein lokales Konto mit geringsten Berechtigungen und der Bezeichnung ASPNET erstellt. Unter diesem Konto werden der ASP.NET-Arbeitsprozess (aspnet_wp.exe) und der Sitzungsstatusdienst (aspnet_state.exe) ausgeführt, mit dem der Status von Benutzersitzungen verwaltet werden kann.

Hinweis: Auf Servercomputern, auf denen Windows 2000 und IIS 5.0 ausgeführt werden, wird durch alle in einer einzelnen Instanz des ASP.NET-Arbeitsprozesses ausgeführten ASP.NET-Webanwendungen und die Anwendungsdomänen eine Isolierung bereitgestellt. IIS 6.0 bietet unter Windows Server 2003 durch die Verwendung von Anwendungspools Isolierung auf Prozessebene.

Tabelle 16.2 enthält die Dienste, Konten und Ordner, die bei einer Standardinstallation von .NET Framework, Version 1.1, erstellt werden.

Tabelle 16.2 Standardkomponenten der .NET Framework-Installation

Element

Detailinformationen

Standardeinstellung

Dienste

ASP.NET-Statusdienst: Unterstützt den Out-of-Process-Sitzungsstatus für ASP.NET.

Wird manuell gestartet.

Konten und Gruppen

ASPNET: Konto zum Ausführen des ASP.NET-Arbeitspozesses (Aspnet_wp.exe) und des Sitzungsstatusdienstes (Aspnet_state.exe).

Wird der Gruppe Benutzer hinzugefügt.

Ordner

%windir%\Microsoft.NET\Framework\{Version}
\1033
\ASP.NETClientFiles
\CONFIG
\MUI
\Temporary ASP.NET Files

 

ISAPI-Erweiterungen

Aspnet_isapi.dll: Verarbeitet Anforderungen für ASP.NET-Dateitypen. Leitet Anforderungen an den ASP.NET-Arbeitsprozess (Aspnet_wp.exe) weiter.

 

ISAPI-Filter

Aspnet_filter.dll: Wird nur für den cookiefreien Sitzungsstatus verwendet. Wird im Prozess Inetinfo.exe (IIS) ausgeführt.

 

Anwendungszuordnungen

ASAX, ASCX, ASHX, ASPX, AXD, VDISCO, REM, SOAP, CONFIG, CS, CSPROJ, VB, VBPROJ, WEBINFO, LICX, RESX, RESOURCES

\WINNT\Microsoft.NET\Framework\{Version} Aspnet_isapi.dll

Installationsempfehlungen

IIS wird standardmäßig mit dem Windows 2000 Server-Setup installiert. Jedoch wird empfohlen, IIS nicht mit der Installation des Betriebssystems, sondern später zu installieren, nachdem Sie das Betriebssystem aktualisiert und Patches installiert haben. Nach der Installation von IIS müssen Sie die IIS-Patches erneut anwenden und die IIS-Konfiguration absichern, um zu gewährleisten, dass diese vollständig geschützt ist. Nur dann ist eine sichere Verbindung des Servers mit dem Netzwerk möglich.

Empfehlungen für die IIS-Installation

Wenn Sie einen neuen Webserver installieren und konfigurieren, gehen Sie wie im Folgenden beschrieben vor.

  • So erstellen Sie einen neuen Webserver

    1. Installieren Sie Windows 2000 Server, doch installieren Sie IIS nicht mit der Betriebssysteminstallation.

    2. Wenden Sie die aktuellen Service Packs und Patches auf das Betriebssystem an. (Wenn Sie mehrere Server konfigurieren, siehe "Installieren von Service Packs mit einer Basisinstallation" weiter unten in diesem Abschnitt.)

    3. Installieren Sie IIS in einem gesonderten Schritt mit der Option Software in der Systemsteuerung.

      Wenn Sie die folgenden Dienste nicht benötigen, installieren Sie sie nicht mit IIS:

      • FTP-Server (File Transfer Protocol)

      • Microsoft FrontPage® 2000-Servererweiterungen

      • Internetdienst-Manager (HTML)

      • NNTP-Dienst

      • SMTP-Dienst

      • Unterstützung von Visual InterDev für die RAD Remotebereitstellung

      Hinweis: Wenn Sie IIS auf einem Betriebssystem installieren, auf das alle erforderlichen Patches und Updates angewendet wurden, können Sie Angriffe verhindern, die bekannte Sicherheitslücken nutzen (zum Beispiel NIMDA).

Empfehlungen für die .NET Framework-Installation

Installieren Sie das .NET Framework-SDK (Software Development Kit) nicht auf einem Produktionsserver. Das SDK enthält Dienstprogramme, die nicht für den Server erforderlich sind. Wenn ein Angreifer Zugriff auf den Server erlangt, kann er einige dieser Programme für weitere Angriffe verwenden.

Installieren Sie stattdessen das Redistributable Package, das Sie über die Verknüpfung "Downloads" auf der .NET Framework-Site unter http://www.microsoft.com/net/ erhalten können.

Installieren von Service Packs mit einer Basisinstallation

Wenn Sie mehrere Server erstellen müssen, können Sie Service Packs direkt in die Windows-Installationen integrieren. Service Packs enthalten das Programm Update.exe zum Verknüpfen von Service Packs mit den Windows-Installationsdateien.

  • So verknüpfen Sie ein Service Pack mit einer Windows-Installation

    1. Laden Sie das aktuelle Service Pack herunter.

    2. Extrahieren Sie Update.exe aus dem Service Pack, indem Sie das Service Pack-Setup mit der Option -x wie folgt starten:

      w3ksp3.exe -x

    3. Integrieren Sie das Service Pack in das Quellverzeichnis der Windows-Installation, indem Sie update.exe mit der Option -s ausführen und den Pfad des Ordners der Windows-Installation wie folgt angeben:

      update.exe -s c:\QuellverzeichnisderWindowsInstallation

Weitere Informationen hierzu finden Sie im MSDN-Artikel "Customizing Unattended Win2K Installations" unter http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnw2kmag01/html/custominstall.asp.

Schritte zum Schützen des Webservers

In den nächsten Abschnitten wird die Vorgehensweise zum Schützen des Webservers beschrieben. In diesen Abschnitten werden die Konfigurationskategorien verwendet, die im Abschnitt Vorgehensweise zum Schützen des Webservers" dieses Moduls vorgestellt wurden. Jeder allgemeine Schritt besteht aus einer oder mehreren Aktionen zum Schützen eines bestimmten Bereichs oder Features.

Schritt 1

Patches und Updates

Schritt 2

IISLockdown

Schritt 3

Dienste

Schritt 4

Protokolle

Schritt 5

Konten

Schritt 6

Dateien und Verzeichnisse

Schritt 7

Freigaben

Schritt 8

Ports

Schritt 9

Registrierungen

Schritt 10

Überwachen und Protokollieren

Schritt 11

Sites und virtuelle verzeichnisse

Schritt 12

Skriptzuordnungen

Schritt 13

ISAPI-Filter

Schritt 14

IIS-Metabasis

Schritt 15

Serverzertifikate

Schritt 16

Machine.config

Schritt 17

Codezugriffssicherheit

 

 

Schritt 1. Patches und Updates

Aktualisieren Sie Ihren Server mit den aktuellen Service Packs und Patches. Sie müssen alle Webserverkomponenten einschließlich Windows 2000 (und IIS), .NET Framework und MDAC (Microsoft Data Access Components) aktualisieren und Patches auf diese Komponenten anwenden.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Bestimmen und installieren Sie die erforderlichen Patches und Updates.

  • Aktualisieren Sie das .NET Framework.

Bestimmen und Installieren von Patches und Updates

Mit MBSA (Microsoft Baseline Security Analyzer) können Sie die Patches und Updates bestimmen, die in Ihrer aktuellen Installation möglicherweise fehlen. Die Installation wird von MBSA mit einer Liste der derzeit verfügbaren Updates verglichen, die in einer XML-Datei verwaltet wird. Sie können die XML-Datei mit dem MBSA herunterladen, wenn das Tool den Server durchsucht, oder auch manuell vom Server oder einem Netzwerkserver laden.

  • So erkennen und installieren Sie Patches und Updates

    1. Installieren Sie MBSA.

      Sie können den Download von der MBSA-Homepage unter http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/tools/mbsahome.asp durchführen.

      Wenn Sie beim Ausführen von MBSA über keinen Internetzugang verfügen, kann die XML-Datei mit den aktuellen Sicherheitseinstellungen nicht durch MBSA von Microsoft abgerufen werden. Sie können die XML-Datei jedoch mit einem anderen Computer herunterladen und in das MBSA-Programmverzeichnis kopieren. Die XML-Datei ist unter http://download.microsoft.com/download/xml/security/1.0/nt5/en-us/mssecure.cab verfügbar.

    2. Starten Sie MBSA, indem Sie auf das Desktopsymbol doppelklicken oder das Tool im Menü Programme auswählen.

    3. Klicken Sie auf Einen Computer überprüfen. MBSA durchsucht standardmäßig den lokalen Computer.

    4. Deaktivieren Sie alle Kontrollkästchen außer Auf Sicherheitsupdates überprüfen. Mit dieser Option werden die fehlenden Patches und Updates bestimmt.

    5. Klicken Sie auf Überprüfung starten. Der Server wird nun überprüft. Nach Abschluss der Überprüfung wird ein Sicherheitsbericht angezeigt, der auch in das Verzeichnis %userprofile%\SecurityScans geschrieben wird.

    6. Download und Installation der fehlenden Updates.
      Klicken Sie auf die Verknüpfung Ergebnisdetails neben jeder Überprüfung mit negativem Ergebnis, um die fehlenden Sicherheitsupdates anzuzeigen. Das anschließend angezeigte Dialogfeld enthält die Referenznummer des Microsoft-Security Bulletins. Klicken Sie auf die Referenznummer, um weitere Informationen über das Bulletin zu erhalten und das Update herunterzuladen.

      Weitere Informationen über die Verwendung von MBSA finden Sie in "Verwenden von Microsoft Baseline Security Analyzer" im entsprechenden Abschnitt dieses Handbuchs.

Aktualisieren des .NET Framework

Als dieses Dokument verfasst wurde (Mai 2003) konnten .NET Framework-Updates und -Patches von MBSA nicht erkannt werden. Daher müssen Sie das .NET Framework-Updates manuell suchen.

Schritt 2. IISLockdown

Das Tool IISLockdown erleichtert Ihnen das Automatisieren bestimmter Schritte zum Erhöhen der Sicherheit. Mit IISLockdown werden die Sicherheitslücken eines Windows 2000-Webservers beträchtlich reduziert. Sie können mit dem Programm einen bestimmten Serverfunktionstyp auswählen und anschließend mithilfe benutzerdefinierter Vorlagen die Sicherheit für diesen speziellen Server erhöhen. Mit den Vorlagen werden verschiedene Features entweder deaktiviert oder geschützt. Darüber hinaus wird der ISAPI-Filter URLScan von IISLockdown installiert. Mithilfe von URLScan können Website-Administratoren mit durch den Administrator festgelegten Regeln die HTTP-Anforderungen einschränken, die vom Server verarbeitet werden können. Da er bestimmte HTTP-Anforderungen blockiert, verhindert der Filter URLScan, dass potenziell schädliche Anforderungen auf den Server gelangen und Schäden verursachen.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Installieren Sie IISLockdown und führen Sie das Tool aus.

  • Installieren und konfigurieren Sie URLScan.

Installieren und Ausführen von IISLockdown

IISLockdown ist im Internet als Download von der Microsoft-Website unter http://download.microsoft.com/download/iis50/Utility/2.1/NT45XP/EN-US/iislockd.exe verfügbar.

Speichern Sie IISlockd.exe in einem lokalen Ordner. Bei IISlockd.exe handelt es sich um den IISLockdown-Assistenten und nicht um ein Installationsprogramm. Sie können alle durch IISLockdown durchgeführten Änderungen rückgängig machen, indem Sie IISlockdown.exe erneut ausführen.

Wenn Sie einen Computer unter Windows 2000 blockieren, auf dem sich ASP.NET-Seiten befinden, wählen Sie die Vorlage Dynamic Web Server aus, wenn Sie bei der Ausführung von IISLockdwon dazu aufgefordert werden. Nach der Auswahl von Dynamic Web Server geschieht Folgendes:

  • Die folgenden unsicheren Internetdienste werden deaktiviert:

    • FTP (File Transfer Protocol)

    • E-Mail-Dienst (SMTP)

    • Newsdienst (NNTP)

  • Skriptzuordnungen werden deaktiviert, indem 404.dll die folgenden Dateierweiterungen zugeordnet werden:

    • Indexserver

    • Weboberfläche (.idq, .htw, .ida)

    • Includedateien auf dem (.shtml, .shtm, .stm)

    • Internet Data Connector (.idc)

    • HTR-Skripting (.htr), Internetdrucken (.printer)

  • Die folgenden virtuellen Verzeichnisse werden entfernt: IIS Samples, MSADC, IISHelp, Scripts und IISAdmin.

  • Der anonyme Zugriff auf Systemdienstprogramme sowie die Fähigkeit, mit Webberechtigungen in Verzeichnisse mit Webinhalt zu schreiben, werden eingeschränkt.

  • WebDAV (Web Distributed Authoring and Versioning) wird deaktiviert.

  • Der ISAPI-Filter URLScan wird installiert.

Hinweis: Wenn Sie nicht das klassische ASP-Feature nutzen, verwenden Sie nicht die Vorlage Static Web Server. Mit dieser Vorlage werden grundlegende, von ASP.NET-Seiten benötigte Funktionen entfernt, zum Beispiel die Unterstützung des Befehls POST.

Protokolldateien

IISLockdown erstellt zwei Berichte, in denen die durchgeführten Änderungen aufgelistet sind:

  • %windir%\system32\inetsrv\oblt-rep.log. Diese Datei enthält grundlegende Informationen.

  • %windir%\system32\inetsrv\oblt-log.log. Diese Datei enthält Detailinformationen, zum Beispiel, welche Programmdateien mit einem Eintrag für die Zugriffssteuerung konfiguriert sind, durch die der Zugriff anonymer Internetbenutzer auf die entsprechenden Konten verhindert wird. Mithilfe dieser Protokolldatei wird außerdem das IISLockdown-Feature Undo Changes unterstützt.

Die Gruppen "Anonyme Benutzer im Web" und "Webanwendung"

IISLockdown erstellt die Gruppen Anonyme Benutzer im Web und Webanwendung. Die Gruppe Anonyme Benutzer im Web enthält das Konto IUSR_MACHINE. Die Gruppe Webanwendung enthält das Konto IWAM_MACHINE. Berechtigungen werden auf der Grundlage dieser Gruppen Systemprogrammen und Verzeichnissen mit Inhalten und nicht direkt den Konten IUSR bzw. IWAM zugewiesen. Sie können bestimmte Berechtigungen überprüfen, indem Sie das IISLockdown-Protokoll %windir%\system32\inetsrv\oblt-log.log anzeigen.

404.dll

IISLockdown installiert 404.dll. Dieser Bibliothek können Sie Dateierweiterungen zuordnen, die nicht durch den Client ausgeführt werden müssen. Weitere Informationen finden Sie in "Schritt 12: Skriptzuordnungen".

URLScan

Wenn Sie den ISAPI-Filter URLScan als Komponente von IISLockdown installieren, werden die Einstellungen für URLScan in die Serverfunktion integriert, die Sie beim Ausführen von IISLockdown ausgewählt haben. Wenn Sie beispielsweise einen statischen Webserver ausgewählt haben, blockiert URLScan den Befehl POST.

Löschen der von IISLockdown durchgeführten Änderungen

Wenn Sie die von IISLockdown durchgeführten Änderungen rückgängig machen möchten, führen Sie IISLockd.exe erneut aus. Der ISAPI-Filter URLScan wird hierdurch nicht entfernt. Weitere Informationen finden Sie im nächsten Thema unter "Entfernen von URLScan".

Weitere Informationen

In den folgenden Artikeln finden Sie weitere Informationen über das Tool IISLockdown:

Installieren und Konfigurieren von URLScan

URLScan wird beim Ausführen von IISLockdown installiert. Sie können das Tool jedoch auch gesondert downloaden und installieren.

URLScan blockiert Anforderungen, die unsichere Zeichen enthalten (Zeichen, mit denen Sicherheitslücken ausgenutzt werden, zum Beispiel "..", das für Directory-Traversal-Angriffe verwendet wird). Anforderungen, die diese Zeichen enthalten, werden von URLScan im Verzeichnis %windir%\system32\inetsrv\urlscan protokolliert.

Sie konfigurieren URLScan mit den Einstellungen der INI-Datei %windir%\system32\inetsrv\urlscan\urlscan.ini.

Mit URLScan können Sie nicht nur böswillige Anforderungen blockieren, sondern auch den Server vor Dienstverweigerungsangriffen schützen, bevor die Anforderungen ASP.NET erreichen. Hierzu legen Sie in der Datei URLScan.ini Grenzwerte für die Argumente MaxAllowedContentLength, MaxUrl und MaxQueryString fest. Weitere Informationen finden Sie in "Verwenden von URLScan" im entsprechenden Abschnitt dieses Handbuchs.

Löschen der von URLScan durchgeführten Änderungen

URLScan kann nicht automatisch entfernt werden. Wenn bei der Verwendung von URLScan Probleme auftreten, können Sie das Tool entweder aus IIS entfernen oder das Problem analysieren, indem Sie zurückgewiesene Anforderungen protokollieren. Hierzu verwenden Sie die Option RejectResponseUrl=/~* in der Datei URLScan.ini.

Weitere Informationen über das Entfernen von ISAPI-Filtern finden Sie weiter unten in diesem Modul in "Schritt 13: ISAPI-Filter".

Weitere Informationen

In den folgenden Artikeln finden Sie weitere Informationen über das Tool URLScan:

  • Weitere Informationen über die Ausführung von URLScan finden Sie in "Verwenden von URLScan" im entsprechenden Abschnitt dieses Handbuchs.

  • Informationen über die Konfiguration von URLScan und die Einstellungen der Datei URLScan.ini finden Sie im Microsoft Knowledge Base-Artikel 326444, "How To: Configure the URLScan Tool".

Schritt 3. Dienste

Dienste, durch die Clients nicht authentifiziert werden, die unsichere Protokolle verwenden, oder Dienste, die mit zu umfassenden Berechtigungen ausgeführt werden, stellen Risiken dar. Führen Sie sie nicht aus, wenn Sie sie nicht benötigen. Durch das Deaktivieren nicht benötigter Dienste verringern Sie die Angriffsfläche auf schnelle und bequeme Weise. Außerdem wird der Verwaltungsaufwand (Patches, Dienstkonten usw.) verringert.

Wenn Sie einen Dienst ausführen, muss dieser sicher sein und verwaltet werden. Führen Sie hierzu den Dienst unter einem Konto mit geringsten Berechtigungen aus und stellen Sie sicher, dass er stets mit den aktuellen Patches aktualisiert wird.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Deaktivieren Sie nicht benötigte Dienste.

  • Deaktivieren Sie FTP, SMTP und NNTP, wenn Sie diese Protokolle nicht benötigen.

  • Deaktivieren Sie den ASP.NET-Statusdienst, wenn Sie ihn nicht benötigen.

Deaktivieren nicht benötigter Dienste

Windows-Dienste stellen Sicherheitslücken für Angreifer dar, die durch Verwendung der Berechtigungen und Funktionen eines Dienstes Zugriff auf lokale und Remotesystemressourcen erlangen können. Deaktivieren Sie als Schutzmaßnahme Windows-Dienste, die für die Systeme und Anwendungen nicht erforderlich sind. Sie können Windows-Dienste mit dem MMC-Snap-In Dienste in der Programmgruppe Verwaltung deaktivieren.

Hinweis: Bevor Sie einen Dienst deaktivieren, müssen Sie zunächst die Auswirkungen der Deaktivierung in einer Test- oder Stagingumgebung überprüfen.

In den meisten Fällen werden die folgenden Windows-Standarddienste auf einem Webserver nicht benötigt: Warndienst, Suchdienst, Nachrichtendienst, Anmeldedienst (nur für Domänencontroller erforderlich), einfache TCP/IP-Dienste und Spooler.

Der Dienst Telnet wird mit Windows installiert, ist jedoch standardmäßig nicht aktiviert. IIS-Administratoren aktivieren häufig Telnet. Dies ist jedoch ein unsicheres Protokoll, das für Angriffe anfällig ist. Terminaldienste bieten eine sicherere Methode der Remoteverwaltung. Weitere Informationen über die Remoteverwaltung finden Sie weiter unten in diesem Modul unter Remoteverwaltung".

Deaktivieren von FTP, SMTP und NNTP, wenn Sie diese Protokolle nicht benötigen

FTP, SMTP und NNTP sind unsichere Protokolle, die leicht missbraucht werden können. Führen Sie sie nicht aus, wenn Sie sie nicht benötigen. Wenn Sie sie gegenwärtig ausführen, suchen Sie eine andere Lösung, die sicher ist. Wenn Sie sie ausführen müssen, schützen Sie sie.

Hinweis: IISLockdown enthält Optionen zum Deaktivieren von FTP, SMTP und NNTP.

Um FTP-Angriffe zu verhindern, deaktivieren Sie den FTP-Dienst, wenn Sie ihn nicht benötigen. Wenn FTP aktiviert und für ausgehende Verbindungen verfügbar ist, kann ein Angreifer mithilfe von FTP Dateien und Programme vom Remotesystem des Angreifers auf Ihren Webserver uploaden. Sobald sich die Programme und Dateien auf dem Webserver befinden, können der Webserver oder andere verbundene Systeme angegriffen werden.

Wenn Sie FTP verwenden, sind weder der Benutzername und das Kennwort, mit denen Sie auf die FTP-Site zugreifen, noch die übertragenen Daten codiert oder verschlüsselt. IIS unterstützt nicht SSL für FTP. Wenn sichere Kommunikation erforderlich ist und Sie als Übertragungsprotokoll nicht WebDAV (World Wide Web Distributed Authoring and Versioning) über SSL verwenden, sondern FTP, sollten Sie FTP möglicherweise über einen verschlüsselten Kanal, zum Beispiel VPN (Virtual Private Network), einsetzen, der mit PPTP (Point-to-Point Tunneling Protocol) oder IPSec (Internet Protocol Security) geschützt ist.

Deaktivieren des ASP.NET-Statusdienstes, wenn Sie ihn nicht benötigen

Mit dem .NET Framework wird der ASP.NET-Statusdienst (aspnet_state.exe) installiert, um den Out-of-Process-Status von Benutzersitzungen für ASP.NET-Webanwendungen und -Webdienste zu verwalten. In der Standardeinstellung wird dieser Dienst manuell gestartet und unter dem lokalen Konto ASPNET mit geringsten Berechtigungen ausgeführt. Wenn der Status in keiner Anwendung mit diesem Dienst gespeichert wird, deaktivieren Sie ihn. Weitere Informationen über das Schützen des ASP.NET-Sitzungsstatus finden Sie im Abschnitt "Sitzungsstatus" des Moduls 19, "Schützen der ASP.NET-Anwendung und -Webdienste".

Schritt 4. Protokolle

Wenn Sie nicht benötigte Protokolle verhindern, verringern Sie die Möglichkeiten für Angreifer. Das .NET Framework ermöglicht mithilfe der Einstellungen in der Datei Machine.config eine Feinabstufung beim Steuern von Protokollen. Sie können beispielsweise festlegen, ob die Webdienste HTTP GET, POST oder SOAP verwenden können. Weitere Informationen über das Konfigurieren von Protokollen in Machine.config finden Sie in "Schritt 16: "Machine.config"."

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Deaktivieren oder schützen Sie WebDav.

  • Sichern Sie den TCP/IP-Stack ab.

  • Deaktivieren Sie NetBIOS und SMB.

Deaktivieren oder Schützen von WebDav

IIS unterstützt das Protokoll WebDAV. Hierbei handelt es sich um eine Standarderweiterung von HTTP 1.1 für die gemeinsame Veröffentlichung von Inhalten. Deaktivieren Sie dieses Protokoll auf Produktionsservern, wenn es nicht verwendet wird.

Hinweis: IISLockdown enthält eine Option zum Entfernen der Unterstützung von WebDAV.

WebDAV ist unter Sicherheitsaspekten FTP vorzuziehen, doch müssen Sie WebDav schützen. Weitere Informationen finden Sie im Microsoft Knowledge Base-Artikel 323470, "How To: Create a Secure WebDAV Publishing Directory".

Wenn Sie WebDAV nicht benötigen, finden Sie weiterführende Informationen im Microsoft Knowledge Base-Artikel 241520, " Manuelles Deaktivieren von WebDAV für IIS 5.0".

Schützen des TCP/IP-Stacks

Windows 2000 unterstützt die Feinsteuerung vieler Parameter, mit denen die TCP/IP-Implementierung konfiguriert wird. Einige dieser Standardeinstellungen werden konfiguriert, um die Verfügbarkeit des Servers und weitere spezielle Features zu ermöglichen.

Informationen über das Schützen des TCP/IP-Stacks finden Sie in Absichern des TCP/IP-Stacks" im entsprechenden Abschnitt dieses Handbuchs.

Deaktivieren von NetBIOS und SMB

Deaktivieren Sie alle nicht benötigten Protokolle einschließlich NetBIOS und SMB. Auf den Internet-Netzwerkschnittstellenkarten (NICs, Network Interface Cards) von Webservern sind NetBIOS und SMB nicht erforderlich. Deaktivieren Sie diese Protokolle, um die Bedrohung durch Hostaufzählung zu verringern.

Hinweis: Über das SMP-Protokoll können in einer Nullsitzung umfassende Informationen über einen Computer an nicht authentifizierte Benutzer gelangen. Sie können Nullsitzungen blockieren, indem Sie den Registrierungsschlüssel RestrictAnonymous wie in "Schritt 9: Registrierung" beschrieben festlegen.

Deaktivieren von NetBIOS

NetBIOS verwendet die folgenden Ports:

  • TCP- und UDP-Port 137 (NetBIOS-Namensdienst)

  • TCP- und UDP-Port 138 (NetBIOS-Datagrammdienst)

  • TCP- und UDP-Port 139 (NetBIOS-Sitzungsdienst)

Das Deaktivieren von NetBIOS reicht nicht aus, um die SMB-Kommunikation zu verhindern, da SMB den TCP-Port 445 (SMB Direct Host) verwendet, wenn kein NetBIOS-Standardport verfügbar ist. Daher müssen Sie NetBIOS und SMB einzeln deaktivieren.

  • So deaktivieren Sie NetBIOS über TCP/IP

Hinweis: Mit diesem Verfahren wird der Treiber Nbt.sys deaktiviert, so dass Sie einen Neustart des Systems durchführen müssen.

  1. Klicken Sie auf dem Desktop mit der rechten Maustaste auf Arbeitsplatz und auf Verwalten.

  2. Erweitern Sie Systemprogramme und wählen Sie Geräte-Manager aus.

  3. Klicken Sie mit der rechten Maustaste auf Geräte-Manager, zeigen Sie auf Ansicht und klicken Sie auf Ausgeblendete Geräte anzeigen.

  4. Erweitern Sie Nicht-PnP-Treiber.

  5. Klicken Sie mit der rechten Maustaste auf NetBIOS über Tcpip und klicken Sie auf Deaktivieren.

    Hierdurch wird der Listener des NetBios Direct Hosts für TCP 445 und UDP 445 deaktiviert.

Deaktivieren von SMB

SMB verwendet die folgenden Ports:

  • TCP-Port 139

  • TCP-Port 445

Verwenden Sie zum Deaktivieren von SMB das TCP/IP-Eigenschaftendialogfeld in Eigenschaften von LAN-Verbindung, um die Bindung von SMB an den Internetport aufzuheben.

  • So heben Sie die Bindung von SMB an den Internetport auf

    1. Klicken Sie auf das Menü Start , zeigen Sie auf Einstellungen und klicken Sie auf Netzwerk- und DFÜ-Verbindungen.

    2. Klicken Sie mit der rechten Maustaste auf die Internetverbindung und auf Eigenschaften.

    3. Deaktivieren Sie das Kontrollkästchen Client für Microsoft-Netzwerke.

    4. Deaktivieren Sie das Kontrollkästchen Datei- und Druckerfreigabe für Microsoft-Netzwerke.

Hinweis: Die Registerkarte WINS im Dialogfeld Erweiterte TCP/IP-Einstellungen enthält das Optionsfeld NetBIOS über TCP/IP deaktivieren. Wenn Sie diese Option auswählen, wird der NetBIOS-Sitzungsdienst deaktiviert, der den TCP-Port 139 verwendet. SMB wird mit dieser Option nicht vollständig deaktiviert. Verwenden Sie hierzu das oben beschriebene Verfahren.

Schritt 5. Konten

Entfernen Sie Konten, die nicht verwendet werden, da ein Angreifer diese entdecken und nutzen kann. Legen Sie fest, dass sichere Kennwörter erforderlich sind. Durch unsichere Kennwörter wird die Wahrscheinlichkeit erhöht, dass Brute-Force- oder Wörterbuchangriffe erfolgreich sind. Verwenden Sie geringste Berechtigungen. Konten mit zu umfassenden Berechtigungen können von Angreifern für den Zugriff auf nicht autorisierte Ressourcen genutzt werden.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Löschen oder deaktivieren Sie nicht verwendete Konten.

  • Deaktivieren Sie das Gastkonto.

  • Benennen Sie das Administratorkonto um.

  • Deaktivieren Sie das Konto IUSR.

  • Erstellen Sie ein benutzerdefiniertes anonymes Webkonto.

  • Erzwingen Sie Richtlinien für sichere Kennwörter.

  • Schränken Sie Remoteanmeldungen ein.

  • Deaktivieren Sie Nullsitzungen (anonyme Anmeldungen).

Löschen oder Deaktivieren nicht verwendeter Konten

Nicht verwendete Konten und deren Berechtigungen kann ein Angreifer für den Zugriff auf den Server nutzen. Überwachen Sie die lokalen Konten auf dem Server und deaktivieren Sie die lokalen Konten, die nicht verwendet werden. Wenn das Deaktivieren des Kontos keine Probleme verursacht, löschen Sie das Konto (Gelöschte Konten können nicht wiederhergestellt werden). Deaktivieren Sie Konten auf einem Testserver, bevor Sie sie auf einem Produktionsserver deaktivieren. Stellen Sie sicher, dass die Ausführung der Anwendungen nicht durch das Deaktivieren eines Kontos beeinträchtigt wird.

Hinweis: Das Administratorkonto und das Gastkonto können nicht gelöscht werden.

Deaktivieren des Gastkontos

Das Gastkonto wird für anonyme Verbindungen zum Computer verwendet. Dieses Konto sollte deaktiviert bleiben, um anonyme Verbindungen mit dem Computer zu unterbinden. Das Gastkonto ist in der Standardeinstellung von Windows 2000 deaktiviert. Um zu überprüfen, ob das Konto deaktiviert ist, zeigen Sie in Computerverwaltung den Ordner Benutzer an. Über dem Symbol für das Gastkonto sollte ein Kreuz angezeigt werden. Wenn das Gastkonto nicht deaktiviert ist, zeigen Sie das Dialogfeld Eigenschaften von Gast an, und wählen Sie Benutzerkonto gesperrt aus.

Umbenennen des Administratorkontos

Das lokale Standardadministratorkonto ist aufgrund seiner erhöhten Berechtigungen ein Ziel für bösartige Nutzung. Benennen Sie das Administratorkonto aus Sicherheitsgründen um und weisen Sie ihm ein sicheres Kennwort zu.

Wenn die Verwaltung lokal erfolgen soll, legen Sie für das Konto fest, dass Netzwerkanmelderechte verweigert werden und sich der Administrator interaktiv anmelden muss. Hierdurch verhindern Sie, dass sich Benutzer (absichtlich oder versehentlich) mit dem Administratorkonto von einem Remotestandort am Server anmelden. Wenn eine Richtlinie der lokalen Verwaltung zu unflexibel ist, implementieren Sie eine Lösung für die sichere Remoteverwaltung. Weitere Informationen finden Sie weiter unten in diesem Modul unter Remoteverwaltung".

Deaktivieren des Kontos IUSR

Deaktivieren Sie das Standardkonto für anynome Internetbenutzer IUSR_MACHINE. Dieses Konto wird während der IIS-Installation erstellt. MACHINE ist der NetBIOS-Name des Servers zum Zeitpunkt der IIS-Installation.

Erstellen eines benutzerdefinierten anonymen Webkontos

Wenn Ihre Anwendungen anonymen Zugriff unterstützen (da sie beispielsweise eine benutzerdefinierte Authentifizierungsmethode wie die Formularauthentifizierung verwenden), erstellen Sie ein benutzerdefiniertes anonymes Konto mit geringsten Berechtigungen. Fügen Sie beim Ausführen von IISLockdown der hierbei erstellten Gruppe Anonyme Benutzer im Web den benutzerdefinierten Benutzer hinzu. IISLockdown verweigert für die Gruppe Anonyme Benutzer im Web den Zugriff auf Systemdienstprogramme und verhindert das Schreiben in Verzeichnisse mit Webinhalten.

Wenn sich auf dem Webserver mehrere Webanwendungen befinden, empfiehlt sich möglicherweise die Verwendung mehrerer anonymer Konten (ein Konto pro Anwendung), so dass Sie die Operationen jeder Anwendung unabhängig voneinander schützen und überwachen können.

Weitere Informationen über das Hosten mehrerer Webanwendungen finden Sie in Modul 20, "Hosten mehrerer Webanwendungen".

Erzwingen von Richtlinien für sichere Kennwörter

Um Angriffe durch das Erraten von Kennwörtern, Brute-Force- und Wörterbuchangriffe auf Ihre Anwendungen abzuwehren, wenden Sie Richtlinien für sichere Kennwörter an. So erzwingen Sie eine Richtlinie für sichere Kennwörter

  • Legen Sie die Länge und Komplexität des Kennworts fest. Legen Sie fest, dass sichere Kennwörter erforderlich sind. Hierdurch verringern Sie die Bedrohung durch Angriffe mit dem Erraten von Kennwörtern oder durch Wörterbuchangriffe. Sichere Kennwörter umfassen mindestens acht Zeichen und müssen sowohl Buchstaben als auch numerische Zeichen enthalten.

  • Legen Sie ein Ablaufdatum für das Kennwort fest. Durch Kennwörter, deren Gültigkeit in regelmäßigen Abständen abläuft, wird die Wahrscheinlichkeit verringert, dass ein altes Kennwort für den nicht autorisierten Zugriff verwendet werden kann. Das Intervall für den Ablauf der Gültigkeit wird in der Regel durch die Sicherheitsrichtlinie eines Unternehmens bestimmt.

In Tabelle 16.4 sind die Standardeinstellungen und die empfohlenen Einstellungen für die Kennwortrichtlinie dargestellt.

Tabelle 16.4. Standard- und empfohlene Einstellungen für die Kennwortrichtlinie

Kennwortrichtlinie

Standardeinstellung

Empfohlene minimale Einstellung

Kennwortchronik erzwingen

1 Kennwort speichern

24 Kennwörter speichern

Maximales Kennwortalter

42 Tage

42 Tage

Minimales Kennwortalter

0 Tage

2 Tage

Minimale Kennwortlänge

0 Zeichen

8 Zeichen

Kennwörter müssen der Komplexitätsanforderung entsprechen

Deaktiviert

Aktiviert

Kennwörter mit umkehrbarer Verschlüsselung für alle Benutzer in der Domäne speichern

Deaktiviert

Deaktiviert

Zeichnen Sie außerdem fehlgeschlagene Anmeldungen auf, so dass Sie bösartiges Verhalten entdecken und verfolgen können. Weitere Informationen finden Sie in "Schritt 10: Überwachen und Protokollieren".

Einschränken von Remoteanmeldungen

Entfernen Sie die Berechtigung Auf diesen Computer vom Netzwerk aus zugreifen aus der Gruppe Jeder, damit die Remoteanmeldung am Server nicht für jeden Benutzer möglich ist.

Deaktivieren von Nullsitzungen (anonyme Anmeldungen)

Um einen anonymen Zugriff zu verhindern, deaktivieren Sie Null-Sitzungen. Dies sind nicht authentifizierte oder anonyme Sitzungen, die zwischen zwei Computern hergestellt werden. Wenn Nullsitzungen nicht deaktiviert sind, kann ein Angreifer eine anonyme Verbindung mit dem Server (ohne Authentifizierung) herstellen.

Nachdem ein Angreifer eine Nullsitzung hergestellt hat, kann er eine Vielzahl unterschiedlicher Angriffe durchführen, zum Beispiel Aufzählungsverfahren zum Erfassen von Systeminformationen des Zielcomputers. Diese Informationen können spätere Angriffe wesentlich erleichtern. Über eine Nullsitzung können beispielsweise Informationen über Domänen und Vertrauensstellungen, Freigaben, Benutzer (einschließlich Gruppen und Benutzerrechte), Registrierungsschlüssel usw. erlangt werden.

Beschränken Sie Nullsitzungen, indem Sie in der Registrierung in folgendem Registrierungsschlüssel RestrictAnonymous auf 1 festlegen:

HKLM\System\CurrentControlSet\Control\LSA\RestrictAnonymous=1

Weitere Informationen finden Sie im Microsoft Knowledge Base-Artikel 246261, " Verwenden des Registrierungswertes restrictanonymous in Windows 2000".

Weitere Überlegungen

Im Folgenden werden weitere Schritte aufgelistet, die Sie erwägen können, um die Sicherheit Ihres Webservers weiter zu erhöhen:

  • Legen Sie fest, dass für die Delegierung von Konten eine Genehmigung erforderlich ist.
    Kennzeichnen Sie Domänenkonten in Active Directory nur als für Delegierungen vertrauenswürdig, wenn Sie zuvor eine spezielle Genehmigung erhalten haben.

  • Verwenden Sie keine freigegebenen Konten.
    Erstellen Sie kein freigegebenes Konto für mehrere Personen. Autorisierte Personen müssen über eigene Konten verfügen. Die Aktivitäten von Personen können gesondert überwacht werden können, und ihnen müssen entsprechende Gruppen und Berechtigungen zugewiesen werden.

  • Beschränken Sie die Mitgliedschaft in der Gruppe lokaler Administratoren.
    Richten Sie möglichst nicht mehr als zwei Administratorkonten ein. Dies erleichtert die Zuweisung der Verantwortung. Außerdem dürfen Kennwörter nicht gemeinsam verwendet werden. Auch dies dient der Zuweisung der Verantwortung.

  • Legen Sie fest, dass sich der Administrator interaktiv anmelden muss.
    Wenn die Verwaltung nur lokal erfolgt, können Sie für das Administratorkonto festlegen, dass die Anmeldung interaktiv durchgeführt werden muss, indem Sie die Berechtigung Auf diesen Computer vom Netzwerk aus zugreifen entfernen.

Schritt 6. Dateien und Verzeichnisse

Installieren Sie Windows 2000 auf Partitionen, die mit NTFS formatiert sind, um die NTFS-Berechtigungen zum Einschränken des Zugriffs nutzen zu können. Verwenden Sie zum Schutz von vertraulichen Dateien und Verzeichnissen eine sichere Zugriffssteuerung. In der Regel ist es sinnvoller, den Zugriff auf bestimmte Konten zuzulassen, statt den Zugriff auf bestimmte Konten zu verweigern. Legen Sie den Zugriff stets auf Verzeichnisebene fest. Wenn einem Ordner Dateien hinzugefügt werden, übernehmen diese dessen Berechtigungen. Daher sind keine weiteren Schritte erforderlich.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Schränken Sie die Gruppe "Jeder" ein.

  • Schränken Sie die anonymen Webkonten ein.

  • Schützen oder Entfernen Sie Tools, Dienstprogramme und SDKs.

  • Entfernen Sie Beispieldateien.

Einschränken der Gruppe "Jeder"

Mit den NTFS-Standardberechtigungen für Windows 2000 erhalten Mitglieder der Gruppe Jeder Vollzugriff auf eine Reihe wichtiger Speicherorte, beispielsweise auf das Stammverzeichnis, auf \inetpub und \inetpub\scripts.

Gewähren Sie zunächst dem Administratorkonto VOLLZUGRIFF auf das Stammverzeichnis (\), und entfernen Sie anschließend die Zugriffsberechtigungen der Gruppe Jeder für die folgenden Verzeichnisse.

  • Stammverzeichnis (\)

  • Systemverzeichnis (\WINNT\system32)

  • Verzeichnis für Framework-Tools (\WINNT\Microsoft.NET\Framework\{Version})

  • Website-Stammverzeichnis und alle Verzeichnisse mit Inhalten (das Standardverzeichnis lautet \inetpub\*).

Einschränken des Zugriffs auf das anonyme IIS-Konto

Das anonyme Konto ist hinreichend bekannt. Angreifer verwenden dieses Konto für böswillige Aktionen. So schützen Sie das anonyme Konto

  • Verweigern Sie den Schreibzugriff auf Verzeichnisse mit Webinhalten.
    Stellen Sie sicher, dass es für dieses Konto nicht möglich ist, in Verzeichnisse mit Inhalten schreiben, um beispielsweise Websites zu verunstalten.

  • Schränken Sie den Zugriff auf Systemprogramme ein.
    Schränken Sie insbesondere den Zugriff auf Befehlszeilenprogramme ein, die unter \WINNT\System32 gespeichert sind.

  • Weisen Sie nicht einzelnen Konten, sondern Gruppen Berechtigungen zu.
    Es hat sich bewährt, Gruppen Benutzer zuzuweisen und Berechtigungen auf Gruppen statt auf einzelne Konten anzuwenden. Erstellen Sie für das anonyme Konto eine Gruppe, fügen Sie dieser das anonyme Konto hinzu, und verweigern Sie dann dieser Gruppe explizit den Zugriff auf wichtige Verzeichnisse und Dateien. Wenn Sie Gruppen Berechtigungen zuweisen, können Sie das anonyme Konto einfacher ändern oder weitere anonyme Konten erstellen, da Sie die Berechtigungen nicht neu erstellen müssen.

    Hinweis: Durch IISLockdown wird für das anonyme Konto der Schreibzugriff auf Verzeichnisse mit Inhalten verweigert, indem auf die Gruppen Anonyme Benutzer im Web und Webanwendung ein Zugriffssteuerungseintrag (ACE, Access Control Entry) mit der Verweigerung des Schreibzugriffs angewendet wird. Außerdem wird eine ACL mit der Verweigerung der Ausführung von Befehlszeilenprogrammen hinzugefügt.

  • Verwenden Sie für verschiedene Anwendungen jeweils eigene Konten.
    Wenn auf dem Webserver mehrere Anwendungen ausgeführt werden, verwenden Sie für jede Anwendung ein eigenes anonymes Konto. Fügen Sie die Konten einer Gruppe anonymer Webbenutzer hinzu, beispielsweise der von IISLockdown erstellten Gruppe Anonyme Benutzer im Web, und konfigurieren Sie anschließend mithilfe dieser Gruppe NTFS-Berechtigungen.

    Weitere Informationen über die Verwendung mehrerer anonymer Konten und das Hosten mehrerer Anwendungen finden Sie in Modul 20, "Hosten mehrerer Webanwendungen".

Schützen oder Entfernen von Tools, Dienstprogrammen und SDKs

SDKs und Resource Kits sollten auf einem Produktionswebserver nicht installiert werden. Entfernen Sie sie, sofern sie auf dem Server vorhanden sind.

  • Stellen Sie sicher, dass auf dem Server nur das .NET Framework Redistributable Package und keine SDK-Dienstprogramme installiert sind. Installieren Sie Visual Studio .NET nicht auf Produktionsservern.

  • Stellen Sie sicher, dass der Zugriff auf leistungsfähige System- und Dienstprogramme, zum Beispiel die Programme im Verzeichnis \Programme, eingeschränkt ist. Diese Einstellungen erfolgen durch IISLockdown.

  • Debugger sollten auf einem Webserver nicht verfügbar sein. Wenn Produktionsdebugging erforderlich ist, erstellen Sie eine CD mit den erforderlichen Debuggern.

Entfernen von Beispieldateien

Beispielanwendungen werden in der Regel nicht mit Einstellungen für eine hohe Sicherheit konfiguriert. Angreifer können Sicherheitslücken in einer Beispielanwendung oder ihrer Konfiguration für Angriffe auf Ihre Website nutzen. Entfernen Sie Beispielanwendungen, um die Anzahl der Bereiche zu verringern, in denen Ihr Webserver Angriffen ausgesetzt ist.

Weitere Überlegungen

Ziehen Sie auch das Entfernen nicht benötigter DSNs (Data Source Names, Datenquellennamen) in Betracht. Diese enthalten Verbindungsinformationen in Klartext, die von Anwendungen zum Herstellen einer Verbindung mit OLE DB-Datenquellen verwendet werden. Auf dem Webserver sollten nur die DSNs installiert sein, die für Webanwendungen erforderlich sind.

Schritt 7. Freigaben

Entfernen Sie nicht verwendete Freigaben und sichern Sie die NTFS-Berechtigungen auf allen wichtigen Freigaben ab. In der Standardeinstellung verfügen alle Benutzer über Vollzugriff auf neu erstellte Dateifreigaben. Sichern Sie diese Standardberechtigungen ab, um zu gewährleisten, dass ausschließlich autorisierte Benutzer auf die Dateien zugreifen können, die durch die Freigabe offen gelegt werden. Verwenden Sie zusätzlich zu expliziten Freigabeberechtigungen NTFS-ACLs für Dateien und Ordner, die durch die Freigabe offen gelegt werden.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Entfernen Sie nicht benötigte Freigaben.

  • Schränken Sie den Zugriff auf erforderliche Freigaben ein.

Entfernen nicht benötigter Freigaben

Entfernen Sie alle nicht benötigten Freigaben. Um die Freigaben und zugeordneten Berechtigungen zu überprüfen, führen Sie das MMC-Snap-In Computerverwaltung aus und wählen Sie unter Freigegebene Ordner die Option Freigaben aus, wie in Abbildung 16.3 dargestellt.

Freigaben des MMC-Snap-ins Computerverwaltung

Abbildung 16.3
Freigaben des MMC-Snap-ins Computerverwaltung

Einschränken des Zugriffs auf erforderliche Freigaben

Entfernen Sie die Gruppe Jeder und gewähren Sie stattdessen spezielle Berechtigungen. Die Gruppe Jeder wird verwendet, wenn der Zugriff auf die Freigabe nicht eingeschränkt werden soll.

Weitere Überlegungen

Wenn Sie die Remoteverwaltung Ihres Servers nicht zulassen, entfernen Sie nicht verwendete Verwaltungsfreigaben, zum Beispiel C$ und Admin$.

Hinweis: Für einige Anwendungen sind möglicherweise Verwaltungsfreigaben erforderlich. Hierzu zählen Microsoft Systems Management Server (SMS) und Microsoft Operations Manager (MOM). Weitere Informationen finden Sie im Microsoft Knowledge Base-Artikel 318751, "How To: Remove Administrative Shares in Windows 2000 or Windows NT 4.0".

Schritt 8. Ports

Auf dem Server ausgeführte Dienste verwenden bestimmte Ports, damit sie auf eingehende Anforderungen antworten können. Schließen Sie alle nicht benötigten Ports und führen Sie eine regelmäßige Überwachung durch, um neue Ports im Wartezustand zu erkennen. Diese können auf einen nicht autorisierten Zugriff und ein Sicherheitsrisiko hindeuten.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Schränken Sie Internetports auf TCP 80 und 443 ein.

  • Verschlüsseln Sie den Intranetdatenverkehr, oder schränken Sie ihn ein.

Einschränken der Internetports auf TCP 80 und 443

Schränken Sie eingehenden Datenverkehr für HTTP auf Port 80 und für HTTPS (SSL) auf Port 443 ein.

Verwenden Sie für Internet-NICs (ausgehender Datenverkehr) IPSec- oder TCP-Filter. Weitere Informationen finden Sie in "Verwenden von IPSec" im entsprechenden Abschnitt dieses Handbuchs.

Verschlüsseln oder Einschränken des Intranetdatenverkehrs

Wenn Sie über kein sicheres Data Center verfügen und vertrauliche Daten zwischen Computern übertragen werden, müssen Sie für Intranet-NICs erwägen, ob der Datenverkehr verschlüsselt oder ob die Kommunikation zwischen dem Webserver und nachgeschalteten Servern (zum Beispiel einem Anwendungs- oder Datenbankserver) eingeschränkt werden soll. Das Verschlüsseln des Netzwerkdatenverkehrs ist gegen die Bedrohung durch Netzwerklauschangriffe gerichtet. Wenn Sie die Gefahr als relativ gering einschätzen, müssen Sie den Datenverkehr nicht unbedingt verschlüsseln.

Je nach Typ der Verschlüsselung werden bestimmte Gefahrenarten abgewehrt. Beispielsweise handelt es sich bei SSL um eine Verschlüsselung auf Anwendungsebene, IPSec hingegen ist eine Verschlüsselung auf Übertragungsebene. Daher bietet SSL nicht nur Schutz gegen Netzwerklauschangriffe, sondern auch gegen die Manipulation von Daten oder das Offenlegen von Informationen durch einen anderen Prozess auf demselben Computer (insbesondere durch einen unter einem anderen Konto ausgeführten Prozess).

Schritt 9. Registrierung

In der Registrierung werden viele grundlegende Einstellungen der Serverkonfiguration gespeichert. Sie müssen daher sicherstellen, dass nur autorisierte Administratoren auf sie zugreifen können. Wenn ein Angreifer die Registrierung bearbeiten kann, kann er die Sicherheitskonfiguration des Servers ändern und die Sicherheit gefährden.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Schränken Sie die Remoteverwaltung der Registrierung ein.

  • Schützen Sie den SAM (nur für eigenständige Server).

Einschränken der Remoteverwaltung der Registrierung

Durch den Schlüssel Winreg wird festgelegt, ob Registrierungsschlüssel für den Remotezugriff verfügbar sind. In der Standardkonfiguration dieses Schlüssels wird die Remoteanzeige der meisten Schlüssel in der Registrierung verhindert, und der Schlüssel kann nur von Benutzern mit umfassenden Berechtigungen geändert werden. In der Standardeinstellung von Windows 2000 ist der Remoteregistrierungszugriff auf Mitglieder der Gruppen Administratoren und Sicherungs-Operatoren beschränkt. Administratoren verfügen über Vollzugriff und Sicherungs-Operatoren über Lesezugriff.

Durch die zugeordneten Berechtigungen in folgendem Registrierungsverzeichnis wird festgelegt, wer über Remotezugriff auf die Registrierung verfügt:

HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg

Um die Berechtigungen für diesen Registrierungsschlüssel anzuzeigen, führen Sie Regedt32.exe aus, navigieren Sie zu dem Schlüssel und wählen Sie im Menü Sicherheit die Option Berechtigungen aus.

Hinweis: Für einige Dienste ist der Remotezugriff auf die Registrierung erforderlich. Um festzustellen, ob für Sie ein eingeschränkter Remotezugriff auf die Registrierung erforderlich ist, lesen Sie den Microsoft Knowledge Base-Artikel 153183, "So beschränken Sie den Zugriff auf die Registrierung von einem Remotecomputer aus".

Schützen des SAMs (nur für eigenständige Server)

Auf eigenständigen Servern werden Kontonamen und unidirektionale (unumkehrbare) Kennworthashes (LMHash) in der lokalen SAM-Datenbank (Security Account Manager) gespeichert. Der SAM ist eine Komponente der Registrierung. In der Regel können nur Mitglieder der Gruppe Administratoren auf die Kontoinformationen zugreifen.

Obwohl die Kennwörter selbst nicht im SAM gespeichert werden und Kennworthashes unumkehrbar sind, kann ein Angreifer mit Brute-Force-Kennworttechniken gültige Benutzernamen und Kennwörter ermitteln, wenn er eine Kopie der SAM-Datenbank erhält.

Schränken Sie die LMHash-Speicherung im SAM ein, indem Sie in der Registrierung den Schlüssel (nicht den Wert) NoLMHash wie folgt erstellen:

HKLM\System\CurrentControlSet\Control\LSA\NoLMHash

Weitere Informationen finden Sie im Microsoft Knowledge Base-Artikel 299656, "How to Prevent Windows from Storing a LAN Manager Hash of Your Password in Active Directory and Local SAM Databases".

Schritt 10. Überwachen und Protokollieren

Durch die Überwachung werden Angriffe auf das System nicht verhindert, doch trägt sie entscheidend dazu bei, Eindringlinge und gegenwärtig ausgeführte Angriffe zu erkennen. Die Überwachung kann auch die Auswertung der Spuren eines Angreifers erleichtern. Aktivieren Sie eine minimale Stufe der Überwachung auf dem Webserver, und schützen Sie die Protokolldateien mit NTFS-Berechtigungen, so dass ein Angreifer seine Spuren nicht durch das Löschen oder Aktualisieren der Protokolldateien verwischen kann. Verwenden Sie die IIS-Überwachung für Protokolldateien im erweiterten W3C-Format.

Dieser Schritt besteht aus folgenden Aktionen:

  • Protokollieren Sie alle fehlgeschlagenen Anmeldungen.

  • Protokollieren Sie alle fehlgeschlagenen Aktionen im Dateisystem.

  • Verschieben und schützen Sie die IIS-Protokolldateien.

  • Archivieren Sie die Protokolldateien für die Offlineauswertung.

  • Überwachen Sie den Zugriff auf die Datei "Metabase.bin".

Protokollieren aller fehlgeschlagenen Anmeldungen

Sie müssen fehlgeschlagene Anmeldungen protokollieren, um verdächtiges Verhalten erkennen und verfolgen zu können.

  • So überwachen Sie das System auf fehlgeschlagene Anmeldungen

    1. Starten Sie in der Programmgruppe Verwaltung das Programm Lokale Sicherheitsrichtlinie.

    2. Erweitern Sie Lokale Richtlinien und wählen Sie dann Überwachungsrichtlinien aus.

    3. Doppelklicken Sie auf Anmeldeversuche überwachen.

    4. Klicken Sie auf Fehlgeschlagen und dann auf OK.

Fehlgeschlagene Anmeldungen werden im Windows-Sicherheitsereignisprotokoll aufgezeichnet. Folgende Ereigniskennungen sind verdächtig:

  • 531. Der Angreifer hat versucht, sich mit einem deaktivierten Konto anzumelden.

  • 529. Der Angreifer hat versucht, sich mit einem unbekannten Benutzerkonto oder mit einem gültigen Benutzerkonto, doch einem ungültigen Kennwort anzumelden. Eine ungewöhnliche Zunahme der Anzahl dieser Überwachungsereignisse kann auf einen Versuch hindeuten, Kennwörter zu erraten.

Protokollieren aller fehlgeschlagenen Aktionen im Dateisystem

Verwenden Sie für das Dateisystem NTFS-Überwachung, um potenziell böswillige Zugriffsversuche zu erkennen. Dies erfolgt in zwei Schritten.

  • So aktivieren Sie die Protokollierung

    1. Starten Sie in der Programmgruppe Verwaltung das Programm Lokale Sicherheitsrichtlinie.

    2. Erweitern Sie Lokale Richtlinien und wählen Sie dann Überwachungsrichtlinien aus.

    3. Doppelklicken Sie auf Objektzugriffsversuche überwachen.

    4. Klicken Sie auf Fehlgeschlagen und dann auf OK.

  • So überwachen Sie das Dateisystem auf fehlgeschlagene Aktionen

    1. Starten Sie den Windows Explorer und navigieren Sie zum Stammverzeichnis des Dateisystems.

    2. Klicken Sie mit der rechten Maustaste auf das Stammverzeichnis und anschließend auf Eigenschaften.

    3. Klicken Sie auf die Registerkarte Sicherheit.

    4. Klicken Sie auf Erweitert und dann auf die Registerkarte Überwachung.

    5. Klicken Sie auf Hinzufügen und geben Sie dann im Feld Name den Wert Jeder ein.

    6. Klicken Sie auf OK und aktivieren Sie dann alle Kontrollkästchen Fehlgeschlagen , um alle fehlgeschlagenen Ereignisse zu überwachen.

      Diese Einstellung wird standardmäßig auf den aktuellen Ordner sowie alle Unterordner und Dateien angewendet.

    7. Klicken Sie dreimal auf OK, um alle geöffneten Dialogfelder zu schließen.
      Als fehlgeschlagen erkannte Ereignisse der Überwachung werden im Windows-Sicherheitsereignisprotokoll aufgezeichnet.

Verschieben und Schützen der IIS-Protokolldateien

Durch das Verschieben und Umbenennen der IIS-Protokolldateien wird das Verwischen der Spuren für einen Angreifer bedeutend erschwert. Der Angreifer kann die Protokolldateien erst ändern, wenn er sie gefunden hat. Schützen Sie die Protokolldateien mit NTFS-Berechtigungen, um Angriffe weiter zu erschweren.

Verschieben Sie das Verzeichnis für die IIS-Protokolldateien auf einen anderen Datenträger als den Datenträger für Ihre Website, und ändern Sie den Namen des Verzeichnisses. Verwenden Sie nicht den Systemdatenträger. Wenden Sie anschließend die folgenden NTFS-Berechtigungen auf den Ordner und die Unterordner für die Protokolldateien an.

  • Administratoren: Vollzugriff

  • System: Vollzugriff

  • Sicherungs-Operatoren: Lesen

Archivieren der Protokolldateien für die Offlineauswertung

Um die IIS-Protokolldateien bequemer offline auszuwerten, können Sie das sichere Entfernen der Protokolldateien von einem IIS-Server mit einem Skript automatisieren. Protokolldateien sollten in einem Intervall entfernt werden, das höchstens 24 Stunden beträgt. Protokolldateien können unter Verwendung von FTP, SMTP, HTTP oder SMB von einem Servercomputer verschoben werden. Berücksichtigen Sie jedoch die Sicherheitsanforderungen, wenn Sie eines dieser Protokolle aktivieren, um keine zusätzlichen Sicherheitslücken zu öffnen. Schützen Sie Ports und Kanäle mithilfe einer IPSec-Richtlinie.

Überwachen des Zugriffs auf die Datei "Metabase.bin"

Protokollieren Sie alle fehlgeschlagenen Ereignisse der Gruppe Jeder in der IIS-Datei metabase.bin im Verzeichnis \WINNT\System32\inetsrv\. Verfahren Sie ebenso mit dem Ordner zur Sicherung der Metabase \Metaback für die Sicherungskopien der Metabase.

Weitere Überlegungen

Sie können darüber hinaus die IIS-Überwachung für Protokolldateien im erweiterten W3C-Format konfigurieren. Wählen Sie im Eigenschaftendialogfeld der Website auf der Registerkarte Website die Option W3C-erweitert aus. Sie können Erweiterte Eigenschaften , zum Beispiel URI-Stamm und URI-Abfrage, auswählen.

Schritt 11. Sites und virtuelle Verzeichnisse

Verschieben Sie Webstamm- und virtuelle Verzeichnisse auf eine Partition, bei der es sich um keine Systempartition handelt, um den Webserver gegen Directory-Traversal-Angriffe zu schützen. Diese Angriffe ermöglichen es dem Angreifer, Programme und Dienstprogramme des Betriebssystems auszuführen. Ein laufwerkübergreifender Zugriff ist nicht möglich. Mit dieser Methode wird beispielsweise sichergestellt, dass alle zukünftigen Angriffe mit einem Kanonisierungswurm, der einem Angreifer den Zugriff auf Systemdateien ermöglicht, fehlschlagen. Wenn zum Beispiel ein Angreifer einen URL angibt, der den folgenden Pfad enthält, schlägt die Anforderung fehl:

/scripts/..%5c../winnt/system32/cmd.exe

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Verschieben Sie Ihre Website auf einen Datenträger, der kein Systemdatenträger ist.

  • Deaktivieren Sie die Einstellung "Übergeordnete Pfade".

  • Entfernen Sie potenziell gefährliche virtuelle Verzeichnisse.

  • Entfernen oder schützen Sie RDS.

  • Legen Sie Webberechtigungen fest.

  • Entfernen oder schützen Sie FrontPage-Servererweiterungen.

Verschieben der Website auf einen Datenträger, der kein Systemdatenträger ist

Verwenden Sie nicht das Standardverzeichnis \inetpub\wwwroot. Wenn Ihr System beispielsweise auf Laufwerk C installiert ist, verschieben Sie die Site und das Verzeichnis mit den Inhalten auf Laufwerk D. Hierdurch werden die mit unerwarteten Kanonisierungsproblemen und Directory-Traversal-Angriffen verbundenen Gefahren verringert.

Deaktivieren der Einstellung "Übergeordnete Pfade"

Durch diese IIS-Metabasiseinstellung wird die Verwendung der Zeichenfolge ".." in Skript- und Anwendungsaufrufen für Funktionen, zum Beispiel MapPath, verhindert. Dies trägt zum Schutz gegen Directory-Traversal-Angriffe bei.

  • So deaktivieren Sie übergeordnete Pfade

    1. Starten Sie IIS.

    2. Klicken Sie mit der rechten Maustaste auf das Stammverzeichnis Ihrer Website und klicken Sie anschließend auf Eigenschaften.

    3. Klicken Sie auf die Registerkarte Basisverzeichnis.

    4. Klicken Sie auf Konfiguration.

    5. Klicken Sie auf die Registerkarte Anwendungsoptionen.

    6. Deaktivieren Sie das Kontrollkästchen Übergeordnete Pfade aktivieren.

Hinweis: Wenn Sie die Application Center 2002-Verwaltungssite verwenden, lesen Sie den Microsoft Knowledge Base-Artikel 288309, "PRB: Disabling Parent Paths Breaks User Interface".

Entfernen potenziell gefährlicher virtueller Verzeichnisse

Auf Produktionswebservern sind Beispielanwendungen nicht standardmäßig installiert, sie sollten auf diesen Servern auch nicht installiert werden. Entfernen Sie alle Beispielanwendungen, einschließlich der Anwendungen, auf die nur vom lokalen Computer mit http://localhost oder http://127.0.0.1 zugegriffen werden kann.

Entfernen Sie folgende virtuelle Verzeichnisse von Produktionsservern: IISSamples, IISAdmin, IISHelp und Scripts.

Hinweis: IISLockdown enthält eine Option zum Entfernen der virtuellen Verzeichnisse Scripts, IISSamples, IISAdmin und IISHelp.

Entfernen oder Schützen von RDS

Die Komponente RDS (Remote Data Services, Remotedatendienste) ermöglicht den gesteuerten Internetzugriff auf Remotedatenressourcen über IIS. Die RDS-Schnittstelle wird durch Msadcs.dll bereitgestellt. Diese Datei befindet sich im folgenden Verzeichnis: Programme\Gemeinsame Dateien\System\Msadc.

Entfernen von RDS

Wenn RDS von Ihren Anwendungen nicht verwendet wird, entfernen Sie diese Komponente.

  • So entfernen Sie die Unterstützung für RDS

    1. Entfernen Sie die Zuordnung zum virtuellen Verzeichnis \MSADC aus IIS.

    2. Entfernen Sie die Dateien und Unterverzeichnisse von RDS aus folgendem Verzeichnis:
      \Programme\Gemeinsame Dateien\System\Msadc

    3. Entfernen Sie folgenden Registrierungsschlüssel:
      HKLM\System\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch

Hinweis: IISLockdown enthält eine Option zum Entfernen des virtuellen Verzeichnisses MSADC. Beachten Sie, dass IISLockdown nur das virtuelle Verzeichnis und nicht die Dateien oder den Registrierungsschlüssel entfernt.

Schützen von RDS

Wenn RDS für Ihre Anwendungen erforderlich ist, schützen Sie RDS.

  • So schützen Sie RDS

    1. Löschen Sie die Beispieldateien an folgendem Speicherort:
      \Programme\Gemeinsame Dateien\System\Msadc\Samples

    2. Entfernen Sie folgenden Registrierungsschlüssel:
      HKLM\System\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch\VbBusObj.VbBusObjCls

    3. Deaktivieren Sie in ISS den anonymen Zugriff für das virtuelle Verzeichnis MSADC.

    4. Erstellen Sie den Registrierungsschlüssel HandlerRequired in folgendem Verzeichnis:
      HKLM\Software\Microsoft\DataFactory\HandlerInfo\

    5. Erstellen Sie einen neuen Wert DWORD, und legen Sie ihn auf 1 fest. (Der Wert 1 steht für den sicheren Modus, während mit 0 der unsichere Modus angegeben wird.)

Hinweis: Mit der Registrierungsskriptdatei Handsafe.reg können Sie den Registrierungsschlüssel ändern. Die Skriptdatei befindet sich im Verzeichnis Msadc:

\Programme\Gemeinsame Dateien\System\Msadc

Weitere Informationen über das Schützen von RDS finden Sie in folgenden Dokumenten:

Festlegen von Webberechtigungen

Webberechtigungen werden über das IIS-Snap-In konfiguriert und in der IIS-Metabasis verwaltet. Es handelt sich dabei nicht um NTFS-Berechtigungen.

Verwenden Sie die folgenden Webberechtigungen:

  • Berechtigungen lesen. Beschränken Sie Berechtigungen lesen auf Includeverzeichnisse.

  • Berechtigung Schreiben und Ausführen. Beschränken Sie die Berechtigung Schreiben und Ausführen auf virtuelle Verzeichnisse, für die der anonyme Zugriff zulässig ist.

  • Skriptzugriff. Richten Sie die Berechtigung Skriptzugriff nur für Ordner mit zulässiger Bearbeitung von Inhalten ein.

  • Schreiben. Richten Sie die Berechtigung Schreiben nur für Ordner mit zulässiger Bearbeitung von Inhalten ein. Gewähren Sie nur Erstellern von Inhalten Schreibzugriff.

    Hinweis: Ordner mit der Unterstützung der Bearbeitung von Inhalten sollten so konfiguriert werden, dass für die Verschlüsselung Authentifizierung und SSL erforderlich sind.

Entfernen oder Schützen der FrontPage-Servererweiterungen

Wenn Sie keine FrontPage-Servererweiterungen (FPSE) verwenden, deaktivieren Sie sie. Wenn Sie FPSE verwenden, erhöhen Sie die Sicherheit, indem Sie folgende Schritte durchführen:

Schritt 12. Skriptzuordnungen

Mit Skriptzuordnungen wird eine bestimmte Dateierweiterung, zum Beispiel .asp, der ISAPI-Erweiterung zugeordnet, mit der Dateien dieses Typs verarbeitet werden, zum Beispiel ASP.dll. IIS unterstützt eine Reihe von Erweiterungen, beispielsweise .asp, .shtm, .hdc usw. ASP.NET-HTTP-Handler sind ein grobes Äquivalent für ISAPI-Erweiterungen. In IIS werden Dateierweiterungen, zum Beispiel .aspx, zunächst Aspnet_isapi.dll zugeordnet, so dass die Anforderung an den ASP.NET-Arbeitsprozess weitergeleitet wird. Der HTTP-Handler, der die Dateierweiterung tatsächlich verarbeitet, wird dann durch die Zuordnung <HttpHandler> in Machine.config oder Web.config bestimmt.

Mit Skriptzuordnungen sind im Wesentlichen folgende Sicherheitsprobleme verbunden:

  • Ein Angreifer kann eine Sicherheitslücke in einer Erweiterung nutzen.
    Dieses Problem kann auftreten, wenn für eine Sicherheitslücke in einer Erweiterung kein Patch angewendet wird. Durch nicht verwendete Erweiterungen wird der Bereich potenzieller Angriffe vergrößert. Wenn Sie beispielsweise eine bestimmte Erweiterung nicht verwenden, achten Sie möglicherweise nicht auf die relevanten Updates.

  • Vom Client können Serverressourcen gedownloadet werden.
    Dieses Problem kann auftreten, wenn eine Dateierweiterung nicht ordnungsgemäß zugeordnet wurde. Dateien, für die kein direkter Zugriff durch den Client möglich sein soll, müssen entweder entfernt oder durch den entsprechenden Handler anhand ihrer Erweiterung zugeordnet werden.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Ordnen Sie die IIS-Dateierweiterungen zu.

  • Ordnen Sie die .NET Framework-Dateierweiterungen zu.

Zuordnen der IIS-Dateierweiterungen

Unter Windows 2000 sind folgende IIS-Dateierweiterungen relevant: .asp, .asa, .cer, .cdx, .htr, .idc, .shtm, .shtml, .stm und .printer.

Wenn Sie keine dieser Erweiterungen verwenden, ordnen Sie sie der Datei 404.dll zu, die von IISLockdown bereitgestellt wird. Wenn zum Beispiel ASP-Seiten nicht für Clients bereitgestellt werden sollen, ordnen Sie 404.dll die Erweiterung .asp zu.

Die durch IISLockdown geänderten Zuordnungen sind von der ausgewählten Servervorlage abhängig:

  • Static Web Server. Wenn Sie IISLockdown ausführen und die Option Static Web Server auswählen, werden 404.dll alle oben genannten Erweiterungen zugeordnet.

  • Dynamic Web Server. Wenn Sie die Option Dynamic Web Server auswählen, deren Verwendung sich für die Bereitstellung von ASP.NET-Seiten empfiehlt, werden 404.dll die Erweiterungen .htr, .idc, .shtm, .shtml, .stm und .printer zugeordnet, jedoch nicht die Erweiterungen .asp, .cer, .cdx und .asa. In diesem Fall ordnen Sie 404.dll die Erweiterungen .cer, .cdx und .asa manuell zu. Wenn Sie keine Dateien mit der Erweiterung .asp bereitstellen, können Sie diese Erweiterung ebenfalls zuordnen.

Warum die Zuordnung zu "404.dll"?

Indem Sie 404.dll Dateierweiterungen zuordnen, verhindern Sie, dass Dateien über HTTP zurückgegeben und heruntergeladen werden. Wenn Sie eine Datei anfordern, deren Erweiterung 404.dll zugeordnet ist, wird eine Webseite mit der Meldung "HTTP 404 – Datei nicht gefunden" angezeigt. Es empfiehlt sich, die Zuordnung nicht zu löschen, sondern 404.dll nicht verwendete Erweiterungen zuzuordnen. Wenn Sie eine Zuordnung löschen und eine Datei versehentlich auf dem Server belassen (oder versehentlich dort abgelegt haben), kann sie angefordert und in Klartext angezeigt werden, da IIS über keine Informationen darüber verfügt, wie sie verarbeitet werden soll.

  • So weisen Sie 404.dll eine Dateierweiterung zu

    1. Starten Sie IIS.

    2. Klicken Sie im linken Fenster mit der rechten Maustaste auf den Servernamen und dann auf Eigenschaften.

    3. Stellen Sie sicher, dass in der Dropdownliste Haupteigenschaften der Eintrag Webdienst ausgewählt ist, und klicken Sie dann neben der Liste auf die Schaltfläche Bearbeiten .

    4. Klicken Sie auf die Registerkarte Basisverzeichnis.

    5. Klicken Sie auf Konfiguration. Die in Abbildung 16.4 dargestellte Registerkarte wird angezeigt.

      Zuordnen von Anwendungserweiterungen

      Abbildung 16.4
      Zuordnen von Anwendungserweiterungen

    6. Wählen Sie eine Erweiterung aus der Liste aus, und klicken Sie dann auf Bearbeiten.

    7. Klicken Sie auf Durchsuchen und navigieren Sie zu \WINNT\system32\inetsrv\404.dll.

      Hinweis: Für diesen Schritt wird vorausgesetzt, dass Sie zuvor IISlockd.exe ausgeführt haben, da 404.dll vom Tool IISLockdown installiert wird.

    8. Klicken Sie auf Öffnen und dann auf OK.

    9. Wiederholen Sie für alle übrigen Dateierweiterungen die Schritte 6, 7 und 8.

Zuordnen der .NET Framework-Dateierweiterungen

aspnet_isapi.dll werden die folgenden .NET Framework-Dateierweiterungen zugeordnet: .asax, .ascx, .ashx, .asmx, .aspx, .axd, .vsdisco, .jsl, .java, .vjsproj, .rem, .soap, .config, .cs, .csproj, .vb, .vbproj, .webinfo, .licx, .resx und .resources.

Das .NET Framework schützt Dateierweiterungen, die von Clients nicht direkt aufgerufen werden sollen, indem ihnen in Machine.config der Handler System.Web.HttpForbiddenHandler zugeordnet wird. Den folgenden Dateierweiterungen wird der Handler System.Web.HttpForbiddenHandler standardmäßig zugeordnet: .asax, .ascx, .config, .cs, .csproj, .vb, .vbproj, .webinfo, .asp, .licx, .resx und .resources.

Weitere Informationen über HTTP-Handler finden Sie in "Schritt 16: Machine.config".

Weitere Überlegungen

Da IIS zunächst Webanforderungen verarbeitet, können Sie 404.dll .NET Framework-Erweiterungen direkt zuordnen, die nicht von Clients aufgerufen werden sollen. Hiermit werden zwei Aufgaben erfüllt:

  • 404.dll greift auf Anforderungen zu und weist sie zurück, bevor sie an ASP.NET übergeben und durch den ASP.NET-Arbeitsprozess verarbeitet werden. Hierdurch wird eine unnötige Verarbeitung durch den ASP.NET-Arbeitsprozess vermieden. Darüber hinaus stellt das frühe Blockieren von Anforderungen eine gute Sicherheitsmaßnahme dar.

  • 404.dll gibt die Meldung "HTTP 404 – Datei nicht gefunden" und System.Web.HttpForbiddenHandler die Meldung "Dieser Seitentyp wird nicht verarbeitet" zurück. Es lässt sich einwenden, dass die Meldung "Datei nicht gefunden" weniger Informationen enthält und daher als sicherer betrachtet werden kann.

Schritt 13. ISAPI-Filter

In der Vergangenheit haben unsichere ISAPI-Filter wesentlich zu IIS-Sicherheitslücken beigetragen. Nach einer ordnungsgemäßen IIS-Installation sind keine unnötigen ISAPI-Filter vorhanden. Dennoch wird mit dem.NET Framework der ASP.NET-ISAPI-Filter (Aspnet_filter.dll) installiert, der in den IIS-Prozessadressraum (Inetinfo.exe) geladen wird und die Verwaltung des cookiefreien Sitzungsstatus unterstützt.

Wenn Ihre Anwendungen keine Unterstützung des cookiefreien Sitzungsstatus erfordern und für <sessionState> das Attribut cookieless nicht auf true festgelegt wird, kann dieser Filter entfernt werden.

In diesem Schritt entfernen Sie nicht verwendete ISAPI-Filter.

Entfernen nicht verwendeter ISAPI-Filter

Entfernen Sie nicht verwendete ISAPI-Filter, wie im folgenden Abschnitt erläutert.

  • So zeigen Sie ISAPI-Filter an

    1. Um IIS zu starten, wählen Sie in der Programmgruppe Verwaltung die Option Internetdienste-Manager aus.

    2. Klicken Sie mit der rechten Maustaste auf den Computer (nicht auf die Website, da Filter auf den gesamten Computer angewendet werden) und dann auf Eigenschaften.

    3. Klicken Sie auf Bearbeiten.

    4. Klicken Sie auf die Registerkarte ISAPI-Filter.
      Die in Abbildung 16.5 dargestellte Registerkarte wird angezeigt:

      Entfernen nicht verwendeter ISAPI-Filter

    Abbildung 16.5
    Entfernen nicht verwendeter ISAPI-Filter

Schritt 14. IIS-Metabasis

Sicherheitseinstellungen und weitere IIS-Konfigurationseinstellungen werden in der IIS-Metabasisdatei verwaltet. Sichern Sie die NTFS-Berechtigungen für die IIS-Metabasis (und die Metabasesicherungsdatei) ab, um sicherzustellen, dass die IIS-Konfiguration nicht durch Angreifer geändert werden kann (um beispielsweise die Authentifizierung für ein bestimmtes virtuelles Verzeichnis zu deaktivieren).

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Schränken Sie den Zugriff auf die Metabase mithilfe von NTFS-Berechtigungen ein.

  • Schränken Sie die von IIS zurückgegebenen Bannerinformationen ein.

Einschränken des Zugriffs auf die Metabase mithilfe von NTFS-Berechtigungen

Legen Sie im Verzeichnis \WINNT\system32\inetsrv folgende NTFS-Berechtigungen für die IIS-Metabasisdatei (Metabase.bin) fest.

  • Lokales System: Vollzugriff

  • Administratoren: Vollzugriff

Einschränken der von IIS zurückgegebenen Bannerinformationen

Bannerinformationen können Softwareversionen und weitere Informationen entnommen werden, die einem Angreifer von Nutzen sein können. Anhand von Bannerinformationen kann die ausgeführte Software ermittelt werden, so dass ein Angreifer bekannte Sicherheitslücken der Software nutzen kann.

Wenn Sie eine statische Seite abrufen, zum Beispiel eine HTM- oder GIF-Datei, wird der Antwort ein Header "Content-Location" hinzugefügt. Standardmäßig verweist dieser Contentheader auf die IP-Adresse und nicht auf den vollqualifizierten Domänennamen (FQDN, Fully Qualified Domain Name). Dies bedeutet, dass Ihre interne IP-Adresse unabsichtlich offen gelegt wird. Beispielsweise enthält der folgende HTTP-Antwortheader die IP-Adresse (fett formatiert):

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Content-Location: http://10.1.1.1/Default.htm
Date: Thu, 18 Feb 1999 14:03:52 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Wed, 06 Jan 1999 18:56:06 GMT
ETag: "067d136a639be1:15b6"
Content-Length: 4325

Sie können die in HTTP-Antwortheadern zurückgegebenen Adressinformationen (Content-Location) ausblenden, indem Sie in der IIS-Metabasis einen Wert ändern, so dass in der Standardeinstellung keine IP-Adressen mehr offen gelegt werden, sondern stattdessen der FQDN gesendet wird.

Weitere Informationen über das Ausblenden der Adressinformationen in HTTP-Antworten finden Sie im Knowledge Base-Artikel 218180, "Internet Information Server Returns IP Address in HTTP Header (Content-Location)".

Schritt 15. Serverzertifikate

Wenn Ihre Webanwendung HTTPS (SSL) über Port 443 unterstützt, müssen Sie ein Serverzertifikat installieren. Dies ist als Bestandteil der Sitzungsverhandlung erforderlich, die durchgeführt wird, wenn ein Client eine sichere HTTPS-Sitzung aufbaut.

Ein gültiges Zertifikat ermöglicht eine sichere Authentifizierung, so dass der Server, mit dem der Client kommuniziert, für diesen vertrauenswürdig ist. Außerdem gewährleistet ein gültiges Zertifikat eine sichere Kommunikation. Sensible Daten bleiben daher vertraulich und sind vor Manipulationen im Netzwerk geschützt.

In diesem Schritt überprüfen Sie Ihr Serverzertifikat.

Überprüfen des Serverzertifikats

Überprüfen Sie die folgenden vier Elemente, um die Gültigkeit Ihres Webserverzertifikats zu bestätigen:

  • Überprüfen Sie, ob die Datumsangaben für den Beginn und das Ende der Gültigkeit ordnungsgemäß sind.

  • Überprüfen Sie, ob das Zertifikat ordnungsgemäß verwendet wird. Wenn es als Serverzertifikat ausgestellt wurde, darf es nicht für E-Mail verwendet werden.

  • Überprüfen Sie, ob alle öffentlichen Schlüssel in der Zertifikatkette bis zu einem vertrauenswürdigen Stammzertifikat gültig sind.

  • Vergewissern Sie sich, dass es nicht gesperrt wurde. Es darf nicht in einer Zertifikatsperrliste des Servers enthalten sein, von dem das Zertifikat ausgestellt wurde.

Schritt 16. "Machine.config"

In diesem Abschnitt werden Sicherheitseinstellungen auf Computerebene behandelt, die für alle Anwendungen gelten. Informationen über anwendungsspezifische Sicherheitseinstellungen finden Sie in Modul 19, "Schützen der ASP.NET-Anwendung und -Webdienste".

In der Datei Machine.config werden zahlreiche für den gesamten Computer gültige Einstellungen des .NET Framework verwaltet, die sich auf die Sicherheit auswirken. Machine.config befindet sich im folgenden Verzeichnis:

%windir%\Microsoft.NET\Framework\{Version}\CONFIG

Hinweis: Sie können XML-Konfigurationsdateien mit jedem Text- oder XML-Editor (zum Beispiel Editor) bearbeiten. Bei XML-Tags muss die Groß-/Kleinschreibung beachtet werden. Stellen Sie daher sicher, dass Sie die richtige Schreibweise verwenden.

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Ordnen Sie "HttpForbiddenHandler" geschützte Ressourcen zu.

  • Stellen Sie sicher, dass die Ablaufverfolgung deaktiviert ist.

  • Stellen Sie sicher, dass die Debugkompilierung deaktiviert ist.

  • Stellen Sie sicher, dass keine ASP.NET-Fehler an den Client zurückgegeben werden.

  • Überprüfen Sie die Sitzungsstatuseinstellungen.

Zuordnen geschützter Ressourcen zu "HttpForbiddenHandler"

HTTP-Handler werden in Machine.config unter <httpHandlers> aufgelistet. HTTP-Handler verarbeiten Webanforderungen für bestimmte Dateierweiterungen. Auf Front-End-Webservern sollte Remoting nicht aktiviert sein. Aktivieren Sie Remoting nur auf Anwendungsservern der mittleren Schicht, die nicht mit dem Internet verbunden sind.

In Machine.config sind HTTP-Handlern folgende Dateierweiterungen zugeordnet:

  • .aspx wird für ASP.NET-Seiten verwendet.

  • .rem und .soap werden für Remoting verwendet.

  • .asmx wird für Webdienste verwendet.

  • .asax, .ascx, .config, .cs, .csproj, .vb, .vbproj, .webinfo, .asp, .licx, .resx und .resources sind geschützte Ressourcen, die System.Web.HttpForbiddenHandler zugeordnet sind.

Wenn Sie für .NET Framework-Ressourcen keine Dateierweiterung verwenden, ordnen Sie System.Web.HttpForbiddenHandler die Erweiterung in Machine.config zu, wie im folgenden Beispiel gezeigt:

<add verb="*" path="*.vbproj" type="System.Web.HttpForbiddenHandler" />

In diesem Beispiel wird dem Handler System.Web.HttpForbiddenHandler die Dateierweiterung .vbproj zugeordnet. Wenn ein Client einen Pfad anfordert, der mit .vbproj endet, gibt ASP.NET die Meldung "Dieser Seitentyp wird nicht verarbeitet." zurück.

Für das Verarbeiten von .NET Framework-Dateierweiterungen gelten folgende Richtlinien:

  • Ordnen Sie "HttpForbiddenHandler" Erweiterungen zu, die Sie nicht verwenden. Wenn ASP.NET-Seiten nicht bereitgestellt werden, ordnen Sie HttpForbiddenHandler die Erweiterung .aspx zu. Wenn Sie keine Webdienste verwenden, ordnen Sie HttpForbiddenHandler die Erweiterung .asmx zu.

  • Deaktivieren Sie Remoting auf Webservern für das Internet. Ordnen Sie HttpForbiddenHandler Remoting-Erweiterungen (.soap und .rem) auf Webservern für das Internet zu.

Deaktivieren Sie .NET Remoting

Verwenden Sie zum Deaktivieren von .NET Remoting folgende unter <httpHandlers> aufgelisteten Elemente, um Anforderungen für die Erweiterungen .rem und .soap zu deaktivieren:

<add verb="*" path="*.rem" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.soap" type="System.Web.HttpForbiddenHandler"/>

Hinweis: Hierdurch wird nicht verhindert, dass mithilfe der Remoting-Infrastruktur eine Verbindung von einer Webanwendung auf dem Webserver mit einem nachgeschalteten Objekt hergestellt wird. Jedoch wird verhindert, dass Clients eine Verbindung mit Objekten auf dem Webserver herstellen.

Sicherstellen, dass die Ablaufverfolgung deaktiviert ist

Die Ablaufverfolgung wird in Machine.config mit <trace> konfiguriert. Obwohl sich die Verwendung der Ablaufverfolgung auf Entwicklungs- und Testservern empfiehlt, aktivieren Sie sie nicht auf Produktionsservern. Die Ablaufverfolgungsinformationen auf Systemebene können einem Angreifer die Profilerstellung für eine Anwendung und das Testen des Systems auf Sicherheitslücken wesentlich erleichtern.

Verwenden Sie auf Produktionsservern folgende Konfiguration:

<trace enabled="false" localOnly="true" pageOutput="false" 
	 requestLimit="10" traceMode="SortByTime"/>

Legen Sie auf Produktionsservern enabled="false" fest. Wenn Sie für Probleme in Liveanwendungen eine Ablaufverfolgung benötigen, simulieren Sie das Problem in einer Testumgebung. Oder aktivieren Sie die Ablaufverfolgung und legen localOnly="true" fest, um zu verhindern, dass Ablaufverfolgungsinformationen an Remoteclients zurückgegeben werden.

Sicherstellen, dass die Debugkompilierung deaktiviert ist

Mit <compilation> können Sie festlegen, ob der Compiler Debugbuilds erstellt, die Debuggersymbole enthalten. Um die Debugkompilierung zu deaktivieren, legen Sie debug="false" fest, wie unten gezeigt:

<compilation debug="false" explicit="true" defaultLanguage="vb" />

Sicherstellen, dass keine ASP.NET-Fehler an Clients zurückgegeben werden

Mithilfe von <customErrors> können Sie benutzerdefinierte allgemeine Fehlermeldungen konfigurieren, die bei einer Anwendungsausnahme an den Client zurückgegeben werden sollen.

Stellen Sie sicher, dass das Attribut mode auf RemoteOnly festgelegt ist, wie im folgenden Beispiel gezeigt:

<customErrors mode="RemoteOnly" />

Nachdem Sie eine ASP.NET-Anwendung installiert haben, können Sie die Einstellung so konfigurieren, dass sie auf die Seite für benutzerdefinierte Fehler zeigt, wie im folgenden Beispiel gezeigt:

<customErrors mode="On" defaultRedirect="IhreFehlerSeite.htm" />

Überprüfen der Sitzungsstatuseinstellungen

Wenn Sie keinen Sitzungsstatus verwenden, stellen Sie sicher, dass der Sitzungsstatus in Machine.config deaktiviert ist, wie im folgenden Beispiel gezeigt:

<sessionState mode="Off" . . . />

Stellen Sie außerdem sicher, dass der ASP.NET-Statusdienst deaktiviert ist. Der Standardstatusmodus lautet "InProc" , und der ASP.NET-Statusdienst ist auf die manuelle Ausführung festgelegt. Weitere Informationen über das Schützen des Sitzungsstatus bei Installation einer ASP.NET-Anwendung, für die ein Sitzungsstatus erforderlich ist, finden Sie im Abschnitt "Sitzungsstatus" des Moduls 19 "Schützen der ASP.NET-Anwendung und -Webdienste".

Schritt 17. Codezugriffssicherheit

Die Richtlinien für die Codezugriffssicherheit auf Computerebene werden durch Einstellungen in der Datei Security.config bestimmt, die sich in folgendem Verzeichnis befindet:
%windir%\Microsoft.NET\Framework\{version}\CONFIG

Führen Sie folgenden Befehl aus, um sicherzustellen, dass Codezugriffssicherheit auf Ihrem Server aktiviert ist:

caspol -s On

Weitere Informationen über das Konfigurieren der Codezugriffssicherheit für ASP.NET-Webanwendungen finden Sie in Modul 9, "Verwenden der Codezugriffssicherheit mit ASP.NET".

In diesem Schritt führen Sie folgende Aufgaben durch:

  • Entfernen Sie alle Berechtigungen für die lokale Intranetzone.

  • Entfernen Sie alle Berechtigungen für die Internetzone.

Entfernen aller Berechtigungen für die lokale Intranetzone

Über die lokale Intranetzone werden Berechtigungen auf Code angewendet, der von UNC-Freigaben oder internen Websites ausgeführt wird. Konfigurieren Sie diese Zone neu, indem Sie ihr den Berechtigungssatz Keine zuordnen, so dass keine Berechtigungen gewährt werden.

  • So entfernen Sie alle Berechtigungen für die lokale Intranetzone

    1. Starten Sie in der Programmgruppe Verwaltung das Tool Konfiguration von Microsoft .NET Framework, Version 1.1.

    2. Erweitern Sie Laufzeitsicherheitsrichtlinien, erweitern Sie Computer und erweitern Sie dann Codegruppen.

    3. Erweitern Sie Gesamter Code und wählen Sie dann Lokales Intranet aus.

    4. Klicken Sie auf Codegruppeneigenschaften bearbeiten.

    5. Klicken Sie auf die Registerkarte Berechtigungssatz.

    6. Wählen Sie in der Dropdownliste Berechtigung den Eintrag Keine aus.

    7. Klicken Sie auf OK.
      Das in Abbildung 16.6 dargestellte Dialogfeld wird angezeigt.

      Festlegen der Codeberechtigungen für 'Lokales Intranet' auf 'Keine'.

Abbildung 16.6
Festlegen der Codeberechtigungen für Lokales Intranet auf Keine

Entfernen aller Berechtigungen für die Internetzone

Durch die Internetzone werden Codezugriffsberechtigungen auf Code angewendet, der über das Internet heruntergeladen wird. Auf Webservern sollten Sie diese Zone neu konfigurieren, indem Sie ihr den Berechtigungssatz Keine zuordnen, so dass keine Berechtigungen gewährt werden.

Wiederholen Sie die im vorherigen Abschnitt "Entfernen aller Berechtigungen für die lokale Intranetzone" dargestellten Schritte, doch legen Sie Internet_Zone auf den Berechtigungssatz Keine fest.

Snapshot eines sicheren Webservers

Mit einer Snapshotansicht der Attribute eines sicheren Webservers können Sie schnell und bequem die Snapshoteinstellungen mit den Einstellungen Ihres Webservers vergleichen. Die in Tabelle 16.5 aufgelisteten Einstellungen veranschaulichen solide Sicherheitsverfahren und wurden von Webservern übernommen, auf denen sich Websites befinden, die sich als äußerst widerstandsfähig gegen Angriffe erwiesen haben. Wenn Sie die oben dargestellten Schritte durchführen, können Sie einen Server mit identischer Sicherheitskonfiguration einrichten.

Tabelle 16.5: Snapshot eines sicheren Webservers

Komponente

Merkmale

Patches und Updates

Die aktuellen Service Packs und Patches für Windows, IIS und .NET Framework werden angewendet.

 

Dienste

Nicht benötigte Dienste sind deaktiviert.
NNTP, SMTP und FTP sind deaktiviert, wenn Sie diese Protokolle nicht benötigen.
WebDAV ist deaktiviert oder geschützt, wenn es verwendet wird.
Dienstkonten werden mit geringsten Berechtigungen ausgeführt.
Der ASP.NET-Sitzungsstatusdienst ist deaktiviert, wenn er nicht erforderlich ist.

 

Protokolle

Die Protokolle NetBIOS und SMB sind auf dem Server nicht aktiviert.
Der TCP-Stack wurde abgesichert.

 

Konten

Nicht verwendete Dienste wurden entfernt.
Das Gastkonto ist deaktiviert.
Das Standardadministratorkonto wurde umbenannt und verfügt über ein sicheres Kennwort.
Das standardmäßige anonyme Konto (IUSR_Machine) ist deaktiviert.
Für den anonymen Zugriff wird ein benutzerdefiniertes anonymes Konto verwendet.
Es werden Richtlinien für sichere Kennwörter erzwungen.
Remoteanmeldungen sind eingeschränkt.
Nullsitzungen (anonyme Anmeldungen) sind deaktiviert.
Für die Kontodelegierung ist eine Genehmigung erforderlich.
Es werden keine freigegebenen Konten verwendet.
Die Mitgliedschaft bei der lokalen Gruppe Administratoren ist eingeschränkt (idealerweise auf zwei Mitglieder).
Administratoren müssen sich interaktiv anmelden (oder es wird eine Lösung für die sichere Remoteverwaltung implementiert).

 

Dateien und Verzeichnisse

Die Gruppe Jeder verfügt über keine Rechte für System-, Web- und Programmverzeichnisse. Das anonyme Konto verfügt über keine Zugriffsberechtigungen auf Websiteverzeichnisse mit Inhalten und Dienstprogramme des Systems.
Tools, Dienstprogramme und SDKs wurden entfernt oder geschützt.
Beispieldateien wurden entfernt.
Nicht benötigte DSNs wurden entfernt.

 

Freigaben

Nicht verwendete Freigaben wurden vom Server entfernt.
Der Zugriff auf erforderliche Freigaben ist geschützt (Freigaben sind für Jeder nur aktiviert, sofern dies erforderlich ist.)
Wenn Verwaltungsfreigaben (C$ und Admin$) nicht erforderlich sind, wurden sie entfernt.

 

Ports

Alle Ports außer Port 80 und 443 (SSL) sind blockiert, insbesondere Ports mit Sicherheitslücken wie Port 135 – 139 und Port 445.

 

Registrierung

Die Remoteverwaltung der Registrierung wird verhindert.
Der SAM wurde geschützt (nur für eigenständige Server).

 

Überwachen und Protokollieren

Fehlgeschlagene Anmeldungen werden protokolliert.
Der fehlgeschlagene Zugriff auf Objekte durch die Gruppe Jeder wird protokolliert.
Die Protokolldateien werden von %systemroot%\system32\LogFiles verschoben und mit ACLs geschützt: Das Administrator- und das Systemkonto verfügen über Vollzugriff.
Die IIS-Protokollierung ist aktiviert.
Protokolldateien werden regelmäßig für die Offlineauswertung archiviert.
Der Zugriff auf die Datei metabase.bin wird überwacht.
IIS ist für die Überwachung von Protokolldateien im erweiterten W3C-Format konfiguriert.

 

IIS

 

 

Sites und virtuelle Verzeichnisse

Webstammverzeichnisse und virtuelle Verzeichnisse befinden sich auf einem anderen Datenträger als dem Systemdatenträger.
Die Einstellung Übergeordnete Pfade ist deaktiviert.
Gefährliche virtuelle Verzeichnisse werden entfernt (IIS Samples, MSADC, IISHelp, Scripts und IISAdmin).
RDS wird entfernt oder geschützt.
Der Zugriff wird durch Webberechtigungen eingeschränkt.
Webleseberechtigungen werden durch Includeverzeichnisse eingeschränkt.
Die Webberechtigung Schreiben und Ausführen wird für Ordner mit anonymem Zugriff eingeschränkt. Webberechtigungen mit Skriptzugriff sind für sichere Ordner zulässig, die die Bearbeitung von Inhalten ermöglichen, während sie für alle anderen Ordner nicht zulässig sind.
FPSE wurden entfernt, wenn sie nicht benötigt werden.

 

Skriptzuordnungen

Nicht verwendete Skriptzuordnungen werden 404.dll zugeordnet: .idq, .htw, .ida, .shtml, .shtm, .stm, idc, .htr, .printer.
Hinweis: Die Datei 404.dll wird beim Ausführen von IISLockdown installiert.

 

ISAPI-Filter

Nicht verwendete ISAPI-Filter wurden entfernt.

 

IIS-Metabasis

Der Zugriff auf die IIS-Metabasis wird mit NTFS-Berechtigungen eingeschränkt.
Bannerinformationen werden eingeschränkt. Die Adressinformationen in den HTTP-Antwortheadern werden ausgeblendet.

 

Machine.config

 

 

HttpForbiddenHandler

Geschützte Ressourcen werden System.Web.HttpForbiddenHandler zugeordnet.

 

Remoting

.NET Remoting ist deaktiviert.

<httpHandlers>
<add verb="*" path="*.rem" 
	type="System.Web.HttpForbiddenHandler"/> 
<add verb="*" path="*.soap"       
	 type="System.Web.HttpForbiddenHandler"/> 
 </httpHandlers>

 

Ablaufverfolgung

An den Client werden keine Ablaufverfolgungsinformationen und keine ausführlichen Fehlerinformationen zurückgegeben:

<trace  enabled="false">

 

Kompilierung

Die Debugkompilierung ist deaktiviert.

<compilation debug="false"/>

 

customErrors

An den Client werden keine Fehlerinformationen zurückgegeben:

<customErrors mode="On" /> 

Eine allgemeine Fehlerseite schreibt Fehler in das Ereignisprotokoll.

 

sessionState

Der Sitzungsstatus wird deaktiviert, wenn er nicht benötigt wird.

<sessionState  mode="Off" />

 

Codezugriffssicherheit

 

 

Codezugriffssicherheit

Die Codezugriffssicherheit ist für den Computer aktiviert.
caspol -s On

 

Lokales Intranet

Für die lokale Intranetzone wurden keine Berechtigungen festgelegt:
PermissionSet=Keine

 

Internet_Zone

Für die Internetzone wurden keine Berechtigungen festgelegt:
PermissionSet=Keine

 

Aufrechterhalten der Sicherheit

Sie müssen die Sicherheit Ihres Servers überwachen und diese regelmäßig aktualisieren, um zu verhindern, dass neu erkannte Sicherheitslücken genutzt werden. So tragen Sie dazu bei, dass Ihr Server sicher bleibt:

  • Überwachen Sie die Gruppenmitgliedschaften.

  • Überwachen Sie die Protokollierung.

  • Installieren Sie stets die aktuellen Service Packs und Patches.

  • Führen Sie Sicherheitsbestandsaufnahmen durch.

  • Verwenden Sie Sicherheitsbenachrichtigungsdienste.

Überwachen der Gruppenmitgliedschaften

Verfolgen Sie die Gruppenmitgliedschaften, insbesondere für Gruppen mit umfassenden Berechtigungen, zum Beispiel Administratoren. Mit dem folgenden Befehl werden die Mitglieder der Gruppe Administratoren aufgelistet:

net localgroup administrators

Überwachen Sie die Protokollierung

Überwachen Sie die Protokollierung regelmäßig, und werten Sie die Protokolldateien aus, indem Sie sie manuell anzeigen oder das im Microsoft Knowledge Base-Artikel®296085, "How To: Use SQL Server to Analyze Web Logs" beschriebene Verfahren verwenden.

Installieren Sie stets die aktuellen Service Packs und Patches

Legen Sie einen Zeitplan zum Analysieren der Serversoftware fest und abonnieren Sie Sicherheitswarnungen. Überprüfen Sie mithilfe von MBSA den Server regelmäßig auf fehlende Patches. Über die folgenden Verknüpfungen erhalten Sie die aktuellen Updates:

Führen Sie Sicherheitsbestandsaufnahmen durch

Verwenden Sie MBSA, um den Server regelmäßig auf Sicherheitslücken zu überprüfen und fehlende Patches und Updates zu erkennen. Konfigurieren Sie MBSA für die tägliche Ausführung und werten Sie die Ergebnisse aus, um erforderliche Schritte durchzuführen. Weitere Informationen über die Automatisierung von MBSA finden Sie in "Verwenden von MBSA" im entsprechenden Abschnitt dieses Handbuchs.

Verwenden Sie Sicherheitsbenachrichtigungsdienste

Verwenden Sie die in Tabelle 16.3 aufgelisteten Microsoft-Dienste, um Security Bulletins mit Benachrichtigungen über mögliche Sicherheitslücken des Systems zu erhalten.

Tabelle 16.3 Sicherheitsbenachrichtigungsdienste

Dienst

Adresse

TechNet Security-Website

http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/current.asp
Auf dieser Website können Sie die für Ihr System verfügbaren Security Bulletins anzeigen.

Abonnieren Sie außerdem die in Tabelle 16.4 aufgeführten Sicherheitsbenachrichtigungsdienste verschiedener Anbieter. Dies ermöglicht Ihnen, eine Sicherheitslücke zu erkennen, auch wenn noch kein entsprechender Patch verfügbar ist.

Tabelle 16.4 Sicherheitsbenachrichtigungsdienste verschiedener Anbieter

Dienst

Adresse

CERT Advisory Mailing List

http://www.cert.org/contact_cert/certmaillist.html
Es werden aufschlussreiche Ratschläge gesendet, wenn Sicherheitslücken berichtet werden.

Sicherheits-UPDATE von "Windows & .NET Magazine"

http://email.winnetmag.com/winnetmag/winnetmag_prefctr.asp
Informiert über die aktuellen Sicherheitsverletzungen und die entsprechenden Patches.

NTBugtraq

http://www.ntbugtraq.com/default.asp?pid=31&sid=1#020
Dies ist ein offenes Diskussionsforum über Sicherheitslücken von Windows und entsprechende Angriffe. Es werden Sicherheitslücken besprochen, für die gegenwärtig keine Patches vorhanden sind.

Remoteverwaltung

Administratoren müssen häufig in der Lage sein, mehrere Server zu verwalten. Stellen Sie sicher, dass die Sicherheit durch die Anforderungen Ihrer Lösung für die Remoteverwaltung nicht gefährdet wird. Wenn Funktionen der Remoteverwaltung erforderlich sind, kann die Befolgung der folgenden Empfehlungen die Sicherheit erhöhen:

  • Schränken Sie die Anzahl der Administratorkonten ein. Schränken Sie sowohl die Anzahl der Administratorkonten als auch die Anzahl der Konten ein, für die eine Remoteanmeldung zulässig ist.

  • Schränken Sie die Anzahl der Tools ein. Zu den wichtigsten Optionen zählen der Internetdienste-Manager und die Terminaldienste. Eine weitere Option ist die Webverwaltung (mit dem virtuellen Verzeichnis IISAdmin), doch die Verwendung dieser Option wird nicht empfohlen, und sie wird von IISLockdown.exe entfernt. Sowohl der Internetdienste-Manager als auch die Terminaldienste verwenden Windows-Sicherheit. Die wichtigsten Gesichtspunkte sind das Einschränken der verwendeten Windows-Konten und Ports.

  • Schränken Sie die Anzahl der Computer ein, von denen der Server verwaltet werden kann. Sie können mithilfe von IPSec festlegen, welche Computer eine Verbindung mit dem Webserver herstellen können.

Schützen der Terminaldienste

Mit den Microsoft-Terminaldiensten ist die sichere Remoteverwaltung des Webservers möglich.

Die Terminaldienste beruhen auf dem proprietären Microsoft-Protokoll mit der Bezeichnung RDP (Remote Desktop Protocol). Für RDP wird der Port TCP 3389 verwendet, und es werden zwei Benutzer gleichzeitig unterstützt. In den folgenden Abschnitten wird das Installieren und Konfigurieren der Terminaldienste für die sichere Verwaltung beschrieben.

  • Installieren Sie die Terminaldienste.

  • Konfigurieren Sie die Terminaldienste.

Installieren der Terminaldienste

So installieren Sie die Terminaldienste

  1. Installieren Sie die Terminaldienste über die Systemsteuerung mit der Option Software. Verwenden Sie die Option Windows-Komponenten hinzufügen/entfernen. Sie müssen für die Remoteverwaltung nicht die Terminaldienstelizenzierung installieren.

  2. Konfigurieren Sie die Terminaldienste für den Remoteverwaltungsmodus.

  3. Entfernen Sie das Konto TsInternetUser , das während der Installation der Terminaldienste erstellt wird. Mit diesem Konto wird der anonyme Internetzugriff auf die Terminaldienste unterstützt, der auf dem Server nicht aktiviert sein sollte.

Konfigurieren der Terminaldienste

Verwenden Sie das MMC-Snap-In Terminaldienstekonfiguration, das in der Programmgruppe Verwaltung verfügbar ist, um folgende Elemente zu konfigurieren:

  1. Für Verbindungen mit den Terminaldiensten sind drei Stufen der Verschlüsselung (Niedrig, Mittel und Hoch) verfügbar. Legen Sie eine 128-Bit-Verschlüsselung fest. Beachten Sie, dass sowohl auf dem Client als auch dem Server die 128-Bit-Verschlüsselung von Windows installiert sein muss.

  2. Legen Sie fest, dass die Verbindung mit der Terminaldienste-Sitzung nach Erreichen eines Grenzwerts für die Leerlaufzeitspanne getrennt wird. Legen Sie fest, dass die Sitzung nach getrennter Verbindung beendet wird. Eine Sitzung wird als getrennt betrachtet, wenn der Benutzer die Terminaldienste-Clientanwendung beendet, ohne sich in einem Zeitraum von zehn Minuten abzumelden.

  3. Schränken Sie schließlich die Zugriffsberechtigungen für die Terminaldienste ein. Verwenden Sie hierzu die Registerkarte RDP-Berechtigungen im Dialogfeld RDP. In der Standardeinstellung ist für alle Mitglieder der Gruppe Administratoren der Zugriff auf die Terminaldienste zulässig. Wenn nicht alle Mitglieder der Gruppe Administratoren auf die Terminaldienste zugreifen sollen, entfernen Sie die Gruppe, und fügen Sie einzelne Konten hinzu, für die der Zugriff erforderlich ist. Beachten Sie, dass das Konto SYSTEM in der Liste vorhanden sein muss.

Verwenden Sie zur Erhöhung der Sicherheit zwischen Client und Server eine sichere VPN-Verbindung oder einen IPSec-Tunnel. Diese Methode ermöglicht eine gegenseitige Authentifizierung, und die RDP-Nutzinformationen sind verschlüsselt.

Kopieren von Dateien über RDP

Die Terminaldienste bieten keine integrierte Unterstützung für die Dateiübertragung. Sie können jedoch das Dienstprogramm zum Installieren von Dateien vom Windows 2000 Server Resource Kit installieren, um dem Feature Zwischenablageumleitung in den Terminaldiensten die Dateiübertragungsfunktion hinzuzufügen. Weitere Informationen über das Dienstprogramm und Installationsanweisungen finden Sie im Microsoft Knowledge Base-Artikel 244732, "So wird's gemacht: Installieren des Dateikopiertools aus dem Windows 2000 Resource Kit".

Vereinfachen und Automatisieren der Sicherheit

In diesem Modul wurde erläutert, wie Sie die Sicherheitseinstellungen für einen ASP.NET-Webserver manuell konfigurieren. Die manuelle Methode erleichtert Ihnen das Verständnis der Konfiguration, kann jedoch zeitraubend sein. Mithilfe der folgenden Ressourcen können Sie die in diesem Modul dargestellten Schritte automatisieren:

Zusammenfassung

Ein sicherer Webserver stellt eine geschützte Grundlage für das Hosten von Webanwendungen dar. In diesem Modul wurden die wichtigsten Bedrohungen, die sich auf die Ausführung eines ASP.NET-Servers auswirken können, sowie die zur Risikoverringerung erforderlichen Sicherheitsschritte dargestellt. Wenn Sie die in diesem Modul vorgestellten Schritte zur Erhöhung der Sicherheit durchführen, können Sie eine sichere Plattform und Hostinfrastruktur für die Unterstützung von ASP.NET-Webanwendungen und -Webdiensten erstellen.

Mit der in diesem Modul verwendeten Vorgehensweise können Sie einen sicheren Webserver aufbauen oder die Sicherheitskonfiguration eines vorhandenen Webservers optimieren. Im nächsten Schritt stellen Sie sicher, dass alle bereitgestellten Anwendungen ordnungsgemäß konfiguriert sind.

Weitere Ressourcen

Weitere Informationen zu diesen Themen finden Sie in den folgenden Ressourcen:

  • Informationen über das Schützen einer Entwicklerarbeitsstation finden Sie in " Schützen einer Entwicklerarbeitsstation" im entsprechenden Abschnitt dieses Handbuchs.

  • Weitere Informationen über das Schützen von ASP.NET-Webanwendungen und -Webdiensten finden Sie in Modul 19, "Schützen der ASP.NET-Anwendung und -Webdienste".

  • Informationen über die Konfiguration der Anwendung Open Hack finden Sie im MSDN-Artikel "Building and Configuring More Secure Web Sites" unter http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/openhack.asp.

  • Informationen über Ressourcen in TechNet zum Thema Sicherheit finden Sie auf der TechNet-Seite zu Sicherheit unter http://www.microsoft.com/technet/security/default.asp.

  • Eine Prüfliste, die Sie drucken können, finden Sie in "Prüfliste: Schützen des Webservers" im Abschnitt "Prüflisten" dieses Handbuchs.


Anzeigen:
© 2014 Microsoft