Mit dem Konzept von Rollen und Funktionen beim Windows Server 2008 hat Microsoft auch die Rollendienste eingeführt. Rollendienste sind Teile von Rollen; sie können genutzt werden, um die konkret verfügbaren Funktionen innerhalb einer Rolle zu steuern. Bei den IIS 7 (Internet Information Services) sind es mehr als 40 verschiedene Rollendienste, die ausgewählt werden können.
Damit lässt sich die verfügbare Funktionalität optimal steuern. Das ist aus Sicherheitsgründen wichtig, um die Angriffsflächen der IIS 7 zu minimieren. Gleichzeitig bringt es aber auch Vorteile für die Lastoptimierung – weniger Serverdienste bedeuten automatisch weniger Grundlast auf dem Server. Zudem wird auch die Wartung von IIS 7-Servern vereinfacht, da Patches für weniger Dienste erforderlich sind und Wartungsphasen dadurch seltener und kürzer werden.
Die Rollendienste
Die Liste der Rollendienste bei den IIS 7 ist in mehrere Kategorien untergliedert:
-
Allgemeine HTTP-Funktionen, über die beispielsweise statischer Inhalt oder Fehlermeldungen angezeigt werden können.
-
Anwendungsentwicklung mit Unterstützung für ASP, ASP.NET, ISAPI-Filter und andere Schnittstellen zur Erweiterung der Grundfunktionalität der IIS.
-
Integrität und Diagnose mit Analyse- und Protokollierungsfunktionen für die IIS-Dienste.
-
Sicherheit mit den Auswahlmöglichkeiten für die unterstützten Authentifizierungsschnittstellen.
-
Leistung mit Diensten für die Leistungsoptimierung, mit der verschiedene Arten von Inhalten komprimiert werden können.
-
Verwaltungsprogramme
-
IIS 6-Verwaltungskompatibilitätsdienste, die erforderlich sind, um die unterschiedlichen Schnittstellen für Konfigurationsdateien, WMI und andere Bereiche bereitzustellen, falls in gemischten Umgebungen gearbeitet wird.
-
FTP-Dienste
Viele dieser Dienste können unabhängig von anderen Diensten eingerichtet werden, wobei natürlich immer Grundfunktionen wie der Zugriff auf statische Seiten benötigt werden. Falls es Abhängigkeiten zwischen Rollendiensten gibt, wird darauf aber bei der Installation ohnehin hingewiesen.
Die Authentifizierungsdienste
Ein besonders interessanter Bereich der Rollendienste sind die Sicherheitsdienste und hier wiederum die nun wählbaren Authentifizierungsfunktionen. Dort kann beispielsweise konfiguriert werden, dass ausschließlich mit der integrierten Windows-Authentifizierung gearbeitet wird, nicht aber mit der – zumindest ohne Verwendung von SSL – eher unsicheren Standardauthentifizierung. Erstere ist innerhalb eines internen Netzwerks der am besten geeignete Ansatz, zumal zusätzliche Features wie Single Sign-On dadurch möglich werden.
Die Digestauthentifizierung ist eine Abwandlung der Standardauthentifizierung. Hier wird nicht das Kennwort selbst, sondern ein Hash des Kennworts übertragen. Damit wird auch eine höhere Sicherheit erreicht als bei der Standardauthentifizierung – und gleichzeitig hat man nicht die Einschränkungen der Windows-Authentifizierung.
Weitere Authentifizierungsverfahren
Daneben gibt es noch zwei Authentifizierungsverfahren, die auf digitalen Client-Zertifikaten basieren. Sie unterscheiden sich in der Form, in der die Zertifikate auf Benutzer abgebildet werden. Dabei gibt es zwei Alternativen:
-
Die Clientzertifikatzuordnung-Authentifizierung ist eine neue Variante, bei der das Active Directory für das Mapping von Client-Zertifikaten zu Benutzerkonten verwendet wird. Dabei wird ein 1:1-Mapping von Zertifikaten zu Benutzern unterstützt. Dieses Verfahren ist langsamer, erfordert aber keine spezifische Konfiguration der Mappings in den IIS.
-
Die IIS-Clientzertifikatzuordnung-Authentifizierung verwendet dagegen in der gleichen Form wie bei früheren Versionen ein Mapping innerhalb der IIS 7 für die Zuordnung von Zertifikaten zu Benutzern. Das Verfahren ist performanter, weil die Interaktion mit dem Active Directory für die Authentifizierung weniger komplex ist.
Wichtig ist auch hier, dass für die Nutzung von digitalen Client-Zertifikaten in jedem Fall erst der entsprechende Rollendienst installiert werden muss.
Weitere Sicherheitsfunktionen
Im Bereich Sicherheit der Rollendienste gibt es noch mehrere andere interessante Funktionen:
-
Die URL-Autorisierung erlaubt die Festlegung von Regeln, mit denen nur bei bestimmten Benutzern, Gruppen oder HTTP-Header-Informationen der Zugriff auf festgelegte URLs erlaubt wird. Dabei handelt es sich um eine einfache Form des Web Access Managements, also der externen Zugriffssteuerung auf URL-Ebene. Diese Funktion hat insbesondere auch in Verbindung mit den ADFS (Active Directory Federation Services) und den damit eingeführten Access-Management- und Web-Single-Sign-On-Funktionen Bedeutung.
-
Die Anforderungsfilterung erlaubt die Verarbeitung von Anforderungen aufgrund von Regeln und kann genutzt werden, um kritische oder verdächtige Anwendungen, die beispielsweise sehr lang laufen, auszufiltern. Sie ist damit ein wichtiges Element in Konzepten für den Schutz vor Angriffen.
-
Die IP- und Domäneneinschränkung führt schließlich eine Filterung nach IP-Adressen und Absenderdomänen durch.
Alle diese Funktionen können optional eingerichtet werden. Während es bei den Authentifizierungsmechanismen vor allem darum geht, potenziell unsichere Verfahren auszuschließen, muss bei den weiteren Sicherheitsfunktionen überlegt werden, ob die Filter tatsächlich benötigt werden – denn jeder zusätzliche Filter bedeutet einen zusätzlichen Verarbeitungsschritt, auch wenn keine oder wenige Regeln konfiguriert sind.
Rollendienste für die Diagnose
Neben den spezifischen Rollendiensten für die Sicherheit sind auch die Dienste für Integrität und Diagnose interessant. Bei einer Standardinstallation der IIS werden vier Dienste automatisch eingerichtet:
-
HTTP-Protokollierung für die standardmäßige Protokollierung der Websiteaktivität.
-
Protokollierungstools mit Werkzeugen, um diese Protokolle verarbeiten zu können.
-
Anforderungsmonitor für die Abbildung von HTTP-Anforderungen auf Arbeitsprozesse. Damit lässt sich überwachen, welche Anforderungen beispielsweise zu Performance-Problemen in Arbeitsprozessen führen.
-
Nachverfolgung für die Ablaufverfolgung bei Problemen. Hierbei handelt es sich um eine Trace-Funktionalität, die insbesondere für Anwendungsentwickler gedacht ist, damit diese Fehler in Anwendungen identifizieren können.
Darüber hinaus gibt es noch zwei weitere Dienste für die Protokollierung. Der erste ist die Benutzerdefinierte Protokollierung, mit deren Hilfe andere Protokollierungsmodule unterstützt werden können. Dieses Modul ist dann erforderlich, wenn die Form der IIS-Protokolldateien für Analyseanwendungen nicht geeignet ist. Sie setzt allerdings spezielle COM-Module voraus, die die Protokollierungsinformationen verarbeiten.
Schließlich gibt es noch die ODBC-Protokollierung, mit der Protokollinformationen über die ODBC-Schnittstelle in eine Datenbank geschrieben werden können. Das ist ein probater Ansatz für individuelle Analysen, falls nicht mit den Standardschnittstellen oder speziellen Analysetools über die benutzerdefinierte Protokollierung gearbeitet werden soll.
Rollendienste für Anwendungen
Die Rollendienste im Bereich Anwendungsentwicklung sind unter dem Aspekt der Sicherheit schon deshalb von Bedeutung, weil ein erheblicher Teil der im Laufe der Entwicklung der IIS aufgetretenen Schwachstellen im Zusammenhang mit solchen Anwendungsschnittstellen stand. Insofern gilt gerade hier, dass man nur die unbedingt erforderlichen Komponenten installieren sollte.
Auch hier stehen eine eine ganze Reihe von unterschiedlichen Rollendiensten und damit Anwendungsschnittstellen zur Verfügung. Dazu gehören Standardschnittstellen wie CGI (Common Gateway Interface), SSI (Server Side Includes) oder die altbekannte ISAPI-Schnittstelle (Internet Server API).
Bei ISAPI sind einerseits die ISAPI-Erweiterungen und andererseits die ISAPI-Filter zu nennen, die in der Liste der Rollendienste nur als ISAP-Filter bezeichnet sind. Die Filter sind spezielle Dateien, die Anforderungen zusätzlich überprüfen, während die Erweiterungen die generelle Schnittstelle für das Hinzufügen von ISAPI-Modulen bereitstellen.
Darüber hinaus gibt es noch ASP (Active Server Pages), ASP.NET und die .NET-Erweiterbarkeit. ASP ist die ältere Version der Entwicklungsschnittstellen für die IIS, während ASP.NET auf dem .NET-Framework basiert und mit sogenanntem Managed Code arbeitet. Die .NET-Erweiterbarkeit wiederum stellt Schnittstellen für die Erweiterung von Web-Server-Funktionen über .NET-Anwendungen bereit.
Bei der Auswahl der Schnittstellen spielen die Anwendungen, die auf dem Web-Server ausgeführt sind, eine zentrale Rolle. Wenn beispielsweise die Zertifikatsdienste des Windows Server 2008 installiert werden, werden automatisch ASP und die ISAPI-Erweiterungen eingerichtet. Das Ziel muss aber generell sein, mit so wenigen Schnittstellen wie möglich auszukommen – im Idealfall nur mit ASP.NET und der .NET-Erweiterbarkeit, weil diese die beste Kontrolle über den ausgeführten Code bieten und gleichzeitig die leistungsfähigsten Schnittstellen sind.
Rollendienste hinzufügen
Das Hinzufügen zusätzlicher Rollendienste für die IIS 7 ist einfach. Im Servermanager kann auf der Seite für die IIS 7 der Link Rollendienste hinzufügen ausgewählt werden. Dadurch wird das Dialogfeld mit der Liste der Rollendienste geöffnet, in dem die gewünschten Dienste ausgewählt werden können.
In wenigen Fällen sind zusätzliche Komponenten im System erforderlich. Solche Abhängigkeiten werden automatisch erkannt und angezeigt. Das wichtigste zusätzliche Modul, die Windows-Prozesssteuerung, wird aber schon bei der Erstinstallation der IIS 7 eingerichtet.
Nach der Bestätigung der Auswahl erfolgt die Installation, wobei der Status angezeigt wird. Die Installation zusätzlicher Komponenten ist in der Regel innerhalb weniger Minuten erledigt. Ein Neustart des Systems ist dabei nicht erforderlich. Abschließend wird die aktualisierte Liste der Rollendienste angezeigt. (mja)