Übersicht über IIS-Module

vom IIS Team, Mike Volodarsky

Kompatibilität

Version Hinweise
IIS 7.0 und höher Die in diesem Artikel beschriebenen Features wurden in IIS 7.0 eingeführt.
IIS 6.0 und früher Die in diesem Artikel beschriebenen Features wurden vor IIS 7.0 nicht unterstützt.

Einführung

Der Webserver-Featuresatz IIS 7 und höher ist in mehr als dreißig unabhängige Module integriert.

Ein Modul ist entweder eine Win32-DLL (systemeigenes Modul) oder ein .NET 2.0-Typ, der in einer Assembly (verwaltetes Modul) enthalten ist. Ähnlich wie bei einer Reihe von Bausteinen werden Module dem Server hinzugefügt, um die gewünschte Funktionalität für Ihre Anwendungen bereitzustellen. Ebenso können alle IIS-Module entfernt oder durch benutzerdefinierte Module ersetzt werden, die mit den IIS-C++-APIs oder den vertrauten ASP.NET 2.0-APIs entwickelt wurden.

In diesem Artikel werden allgemeine Verwaltungsaufgaben des IIS-Moduls beschrieben, und jedes Modul enthält seine Konfigurationseinstellungen und den potenziellen Effekt, den ein Modulentfernung auf dem Webserver hat. Die Verwaltungsbeispiele werden sowohl mit dem grafischen IIS-Manager als auch mit dem Befehlszeilentool AppCmd angegeben.

Voraussetzungen

Um die Schritte in diesem Dokument auszuführen, empfiehlt es sich, eine vollständige Installation von IIS auszuführen.

Hinweis

Nicht alle Editionen von Windows unterstützen alle verfügbaren IIS-Features. Um zu sehen, welche Features von IIS auf Ihrem Betriebssystem unterstützt werden, müssen Sie sich in der Dokumentation informieren, die mit Ihrer Version von Windows ausgeliefert wurde.

So führen Sie eine vollständige Installation von IIS unter Windows Vista, Windows 7, Windows 8, Windows 10 oder Windows 11 aus

  1. Klicken Sie auf Start und anschließend auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerung auf Programme.
  3. Klicken Sie unter Programme und Funktionen auf Windows-Funktionen ein- oder ausschalten.
  4. Erweitern Sie im Dialogfeld Windows-FeaturesInternetinformationsdienste, und wählen Sie alle Features aus.
    Möglicherweise müssen Sie einige Kategorien erweitern, um alle Features in dieser Kategorie auszuwählen.
  5. Klicken Sie auf OK.

So führen Sie eine vollständige Installation von IIS unter Windows Server 2008/R2, Windows Server 2012/R2 oder Windows Server 2016 durch

  1. Öffnen Sie Server-Manager->Rollen und wählen Sie Webserver (IIS) aus.
  2. Überprüfen Sie alle Features unter Webserver.

Erste Schritte mit Modulen

Um dem Server ein Modul hinzuzufügen, müssen Sie zwei Schritte ausführen:

  1. Installieren Sie ein Modul auf dem Server (nur systemeigene Module).
  2. Aktivieren Sie das Modul in einer Anwendung.

Im ersten Schritt wird das Modul global mit dem Server registriert, sodass es in jedem Serverarbeitsprozess verfügbar ist. Es ist nur für systemeigene Module aufgrund der vertrauenswürdigen Art von systemeigenem Code erforderlich und nur für Administratoren verfügbar.

Hinweis

Ein systemeigenes Modul hat uneingeschränkten Zugriff auf jede Ressource, die für den Serverarbeitsprozess verfügbar ist, genau wie ein ISAPI-Filter oder eine Erweiterung in früheren Versionen. Aufgrund dieses uneingeschränkten Zugriffs sollten Sie nur systemeigene Module installieren, die von einer vertrauenswürdigen Quelle stammen.

Im zweiten Schritt kann das Modul innerhalb einer bestimmten Anwendung ausgeführt werden und ermöglicht es dem Anwendungsadministrator, die für die Anwendung aktivierten Serverfeatures zu steuern. In diesem Schritt können sowohl systemeigene Module als auch verwaltete Module für jede Anwendung aktiviert werden.

So installieren Sie ein systemeigenes Modul

Um ein systemeigenes Modul zu installieren, muss es mit einer der folgenden Optionen beim Server registriert werden:

  • Manuelles Bearbeiten des IIS-Konfigurationsspeichers. In IIS 7.5 und höher können Sie den Konfigurations-Editor im IIS-Manager verwenden.
  • Verwenden des IIS-Managers
  • Verwenden des Befehlszeilentools AppCmd.exe

Alle drei dieser Optionen führen dazu, dass der Moduleintrag zum <globalModules> IIS-Konfigurationsabschnitt hinzugefügt wird, der nur auf Serverebene festgelegt werden kann. Um den Inhalt dieses Abschnitts zu untersuchen, öffnen Sie die Stammkonfigurationsdatei, die sich in %windir%\system32\inetsrv\config\applicationhost.config befindet, und suchen Sie nach der Zeichenfolge <globalModules>.

Nach einer vollständigen IIS-Installation enthält dieser Abschnitt einen Eintrag für jedes systemeigene Modul, das mit IIS ausgeliefert wurde, und gibt einen Namen und den Pfad zur Modul-DLL an:

<globalModules>
    <add name="DefaultDocumentModule" image="%windir%\system32\inetsrv\defdoc.dll" />
    <add name="DirectoryListingModule" image="%windir%\system32\inetsrv\dirlist.dll" />
    <add name="StaticFileModule" image="%windir%\system32\inetsrv\static.dll" />
    ...

</globalModules>

Alle diese Module werden weiter unten in diesem Dokument ausführlich beschrieben.

So deinstallieren Sie ein natives Modul

Sie können ein natives Modul deinstallieren, wenn dieses Modul nicht mehr auf dem Server verwendet wird oder wenn Sie es durch ein anderes Modul ersetzen möchten. Entfernen Sie den entsprechenden Moduleintrag aus der <globalModules-Konfigurationsliste> und den zugehörigen Eintrag in der <modules> Konfigurationsliste, indem Sie eine der folgenden Optionen verwenden:

  • Manuelles Bearbeiten des IIS-Konfigurationsspeichers. In IIS 7.5 und höher können Sie den Konfigurations-Editor verwenden.
  • Verwenden des IIS-Managers
  • Verwenden des Befehlszeilentools AppCmd.exe

Hinweis

Da der Abschnitt <globalModules-Konfiguration> nur auf Serverebene festgelegt werden kann, müssen Sie ein Administrator sein, um ein Modul zu deinstallieren.

Aktivieren eines Moduls für eine Anwendung

Ein Modul muss aktiviert sein, bevor es einen Dienst für eine bestimmte Anwendung bereitstellen kann. Um ein systemeigenes Modul zu aktivieren, muss es zuerst auf dem Server installiert werden (siehe vorheriger Abschnitt zum Installieren eines nativen Moduls).

Ein verwaltetes Modul erfordert keine Installation und kann für jede Anwendung direkt aktiviert werden. Dadurch können Anwendungen ihre verwalteten Module direkt in die Anwendung aufnehmen, indem sie sie in der Datei "web.config" der Anwendung registrieren und die Implementierung in den Verzeichnissen "/BIN" oder "/App_Code" bereitstellen.

Führen Sie zum Aktivieren eines Moduls eine der folgenden Aktionen aus:

  • Bearbeiten Sie den IIS-Konfigurationsspeicher manuell, entweder global, um das Modul für alle Anwendungen auf dem Server zu aktivieren, oder in einer bestimmten Web.config-Datei, die sich in jeder Anwendung befindet, für die Sie dieses Modul aktivieren möchten. In IIS 7.5 oder höher können Sie den Konfigurations-Editor verwenden.
  • Verwenden von IIS-Manager
  • Benutzen Sie das Befehlszeilentool AppCmd.exe

Alle drei dieser Optionen fügen den Moduleintrag zum <modules> IIS-Konfigurationsabschnitt hinzu, der sowohl auf Serverebene als auch auf Anwendungsebene festgelegt werden kann. Untersuchen Sie den Inhalt dieses Abschnitts, indem Sie die Stammkonfigurationsdatei öffnen, die sich in %windir%\system32\inetsrv\config\applicationhost.config befindet, und suchen Sie nach der Zeichenfolge "<modules>".

Im Gegensatz zu systemeigenen Modulen erfordert ein verwaltetes Modul keinen Eintrag zum <globalModules-Konfigurationsabschnitt>.

Nach einer vollständigen IIS-Installation enthält der Konfigurationsabschnitt einen Eintrag für jedes Modul (sowohl verwaltete als auch native), das mit IIS ausgeliefert wurde. Der Eintrag gibt an, dass alle diese Module standardmäßig für alle Anwendungen auf dem Server aktiviert sind. Jeder Eintrag in diesem Abschnitt gibt entweder den Namen eines systemeigenen Moduls an, das zuvor auf dem Server installiert wurde, oder den Namen und den .NET-Typ eines verwalteten Moduls:

<modules>
<add name="DefaultDocumentModule" />
<add name="DirectoryListingModule" />
<add name="StaticFileModule"/>
 ...

</modules>

Deaktivieren eines Moduls in einer Anwendung

Deaktivieren Sie ein Modul, wenn dieses Modul nicht mehr in der Anwendung verwendet wird, oder wenn Sie es durch ein anderes Modul ersetzen möchten. Um ein Modul zu deaktivieren, entfernen Sie den entsprechenden Moduleintrag aus der <modules> Konfigurationsauflistung für eine bestimmte Anwendung, in der dieses Modul nicht ausgeführt werden soll. Wenn das Modul auf Serverebene aktiviert ist, entfernen Sie es dort, um es in allen Anwendungen auf dem Server standardmäßig zu deaktivieren. Verwenden Sie eine der folgenden Optionen, um das Modul auf Serverebene zu entfernen:

  • Bearbeiten Sie den Konfigurationsabschnitt <system.webServer>/<modules> manuell in Ihrer Anwendung.
  • Verwenden von IIS-Manager.
  • Benutzen Sie das Befehlszeilentool AppCmd.exe.

Nachdem das Modul aus der Anwendung entfernt wurde, ist es in dieser Anwendung nicht aktiv. Wenn das Modul jedoch nativ ist, wird es weiterhin im Serverarbeitsprozess geladen und kann von anderen Anwendungen verwendet werden, die es nicht entfernt haben.

Hinweis

Der Konfigurationsabschnitt ist standardmäßig entsperrt, wenn ASP.NET installiert ist. Diese standardmäßige Entsperrung ermöglicht, Anwendungen, systemeigene und verwaltete Module global zu deaktivieren und neue verwaltete Module hinzuzufügen. Dieser Konfigurationsabschnitt kann auf Serverebene gesperrt werden, um Änderungen vollständig zu verhindern oder das Entfernen bestimmter Moduleinträge zu verhindern, falls vom Administrator gewünscht.

Preconditions

Es gibt ein weiteres Attribut für einen Moduleintrag, das als Voraussetzung bezeichnet wird. Das IIS-Kernmodul verwendet Vorbedingungen, um zu bestimmen, wann ein bestimmtes Modul aktiviert werden soll. Leistungsgründe können beispielsweise dazu führen, dass Sie verwaltete Module nur für Anforderungen ausführen möchten, die auch an einen verwalteten Handler gehen. Die Vorbedingung im folgenden Beispiel (vorbedingung="managedHandler") ermöglicht nur das Formularauthentifizierungsmodul für Anforderungen, die auch von einem verwalteten Handler behandelt werden, z. B. Anforderungen an .aspx- oder ASMX-Dateien:

<add name="FormsAuthentication"type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />

Wenn Sie das Attribut precondition="managedHandler" entfernen, gilt die Formularauthentifizierung auch für Inhalte, die nicht von verwalteten Handlern bereitgestellt werden, wie z. B. .html, .jpg, .doc, aber auch für klassische ASP- (.asp) oder PHP- (.php). )Erweiterungen. Unter "Nutzen der integrierten IIS-Pipeline" finden Sie ein Beispiel für die Aktivierung von ASP.NET Modulen für alle Inhalte.

Sie können auch eine Art Abkürzung verwenden, um die Ausführung aller verwalteten (ASP.NET-) Module für alle Anforderungen in Ihrer Anwendung unabhängig von der Vorbedingung „managedHandler“ zu aktivieren. Verwenden Sie die Eigenschaft runAllManagedModulesForAllRequests im Abschnitt <modules>, um die Ausführung aller verwalteten Module für alle Anforderungen zu aktivieren, ohne jeden Moduleintrag einzeln zu konfigurieren, um die Vorbedingung „managedHandler“ zu entfernen:

<modules runAllManagedModulesForAllRequests="true"/>

Bei Verwendung dieser Eigenschaft hat die Vorbedingung „managedHandler“ keine Auswirkung, und alle verwalteten Module werden für alle Anforderungen ausgeführt.

Abfragen, Hinzufügen und Entfernen von Modulen mithilfe des IIS-Managers

Der IIS-Manager bietet eine einfache Möglichkeit zum Abfragen, Hinzufügen oder Entfernen von Modulen.

  1. Um den IIS-Manager zu öffnen, klicken Sie auf Start, geben Sie inetmgr in das Suchfeld ein, und drücken Sie dann die EINGABETASTE.
  2. Klicken Sie auf den Computernamen Ihres IIS-Servers.
  3. Klicken Sie auf das Symbol Modul in der IIS-Kategorie.

IIS-Manager

Abbildung 1: IIS-Manager

So verwalten Sie die aktivierten Module für eine bestimmte Anwendung

  1. Stellen Sie mithilfe der Strukturansicht auf der linken Seite eine Verbindung mit dieser Anwendung her.
  2. Navigieren Sie zum Bereich Feature Module.
  3. Klicken Sie auf Verwaltetes Modul hinzufügen, um Ihrer Anwendung ein verwaltetes Modul hinzuzufügen. Mit Natives Modul hinzufügen können Sie nur ein Modul hinzufügen, das bereits auf Serverebene registriert ist.

So entfernen Sie ein Modul aus Ihrer Anwendung

  1. Klicken Sie in der Liste auf das Modul. Die Aufgabe Entfernen wird im linken Bereich angezeigt.
  2. Klicken Sie auf Entfernen.

Modulliste im IIS-Manager

Abbildung 2: Modulliste im IIS-Manager

Verwalten von Modulen über die Befehlszeile

Um Module schnell über die Befehlszeile oder Skriptmodulverwaltungsaufgaben zu verwalten, verwenden Sie das AppCmd.exe Befehlszeilentool.

So installieren Sie ein Modul mit AppCmd.exe

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, wobei die Werte kursiv durch die Werte für das Modul auf Ihrem Computer ersetzt werden.

Appcmd.exe install module /name:MODULE_NAME /image:PATH_TO_DLL

Hinweis

Durch die automatische Installation eines systemeigenen Moduls wird es auf Serverebene aktiviert.

Mit dem folgenden Befehl wird beispielsweise das Standarddokumentmodul installiert.

%windir%\system32\inetsrv\appcmd.exe install module /name:DefaultDocumentModule /image:%windir%\system32\inetsrv\defdoc.dll

Wenn Sie den Befehl auf einem Computer ausführen, auf dem das Modul bereits geladen ist, erhalten Sie eine Fehlermeldung ähnlich der folgenden:

ERROR (Message:Failed to add duplicate collection element "DefaultDocumentModule".)

So deinstallieren Sie ein Modul mit AppCmd.exe

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, wobei die Werte kursiv durch die Werte für das Modul auf Ihrem Computer ersetzt werden.

Appcmd.exe uninstall module MODULE_NAME

Hinweis

Durch das Deinstallieren eines Moduls wird es automatisch auf Serverebene deaktiviert.

Mit dem folgenden Befehl wird beispielsweise das Standarddokumentmodul deinstalliert. Dieser Befehl wird nur als Beispiel bereitgestellt. Sie sollten ihn nur auf einem Testserver ausführen.

%windir%\system32\inetsrv\appcmd.exe uninstall module DefaultDocumentModule

So listen Sie die Module auf, die entweder für eine Anwendung oder global aktiviert sind

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, und ersetzen Sie Werte im kursiv formatierten Text durch die Werte für das Modul auf Ihrem Computer.

Appcmd.exe list modules [/app.name:APPLICATION_NAME]

Der folgende Befehl listet beispielsweise die Module auf, die für die Standardwebsite aktiviert sind.

%windir%\system32\inetsrv\appcmd.exe list modules /app.name:"Default Web Site"

Dieser Befehl listet die global installierten Module auf.

%windir%\system32\inetsrv\appcmd.exe list modules

So aktivieren Sie ein Modul für eine bestimmte Anwendung oder global

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, und ersetzen Sie Werte im kursiv formatierten Text durch die Werte für das Modul auf Ihrem Computer.

Appcmd.exe add module /name:MODULE_NAME /type:MGD_TYPE

Mit dem folgenden Befehl wird beispielsweise das Formularauthentifizierungsmodul der Standardwebsite hinzugefügt.

%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule /app.name:"Default Web Site"

Mit diesem Befehl wird das Formularauthentifizierungsmodul global hinzugefügt.

%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule

So deaktivieren Sie ein Modul für eine bestimmte Anwendung oder global

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, und ersetzen Sie Werte im kursiv formatierten Text durch die Werte für das Modul auf Ihrem Computer.

Appcmd.exe delete module MODULE_NAME [/app.name:APPLICATION_NAME]

Mit dem folgenden Befehl wird beispielsweise das Formularauthentifizierungsmodul von der Standardwebsite entfernt.

%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication /app.name:"Default Web Site"

Mit diesem Befehl wird das Formularauthentifizierungsmodul global entfernt.

%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication

So erhalten Sie weitere Hilfe zur Syntax für die einzelnen App-Cmd.exe-Befehle

Um die Befehle anzuzeigen, die für das Module-Objekt unterstützt werden, geben Sie den folgenden Befehl ein:

Appcmd.exe module /?

Geben Sie den folgenden Befehl ein, um die Verwendung der einzelnen Befehle anzuzeigen:

Appcmd.exe install module /?Appcmd add module /?

Modulreferenz

Der IIS-Server kann angepasst werden. Lesen Sie die folgende Liste sorgfältig, um Nebeneffekte, Funktionsverlust oder Entfernen von Sicherheitsfeatures zu vermeiden.

Hilfsmodule

Diese Module stellen keine Anforderungsdienste bereit, sondern unterstützen stattdessen das Servermodul bei seinem internen Betrieb.

Modulname: UriCacheModule
Beschreibung: Implementiert einen generischen Cache für den URL-spezifischen Serverstatus, z. B. die Konfiguration. Mit diesem Modul liest der Server nur die Konfiguration für die erste Anforderung für eine bestimmte URL und verwendet sie für nachfolgende Anforderungen wieder, bis sie geändert wird.
Konfigurationsabschnitte: Keine.
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Leistungsverlust aufgrund des Zustands, der für jeden URL-Abruf für jede Anforderung zwischengespeichert wurde.
Modulname: FileCacheModule
Beschreibung: Speichert Dateihandles für Dateien, die vom Servermodul und den Modulen geöffnet werden.
Konfigurationsabschnitte: Keine.
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Leistungsverlust. Wenn Dateihandles nicht zwischengespeichert werden, müssen die Dateien für jede Anforderung geöffnet werden.
Modulname: TokenCacheModule
Beschreibung: Speichert Windows-Sicherheitstoken für kennwortbasierte Authentifizierungsschemas (anonyme Authentifizierung, Standardauthentifizierung, IIS-Clientzertifikatauthentifizierung) zwischen.
Konfigurationsabschnitte: Keine.
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Leistungsverlust. Die Benutzer müssen für jede Anforderung angemeldet sein, wenn das Token nicht zwischengespeichert ist. Dies kann zu einer erheblichen Leistungsbeeinträchtigung führen. Wenn beispielsweise eine kennwortgeschützte HTML-Seite auf 50 Bilder verweist, die ebenfalls geschützt sind, führen 51 logonUser-Aufrufe an die lokale Kontodatenbank oder schlimmer noch zu einem Off-Box-Domänencontroller zu einem Leistungsproblem.
Modulname: ManagedEngine
Beschreibung: Das verwaltete Modul hat einen speziellen Platz in allen anderen Modulen. Es ist für die Bereitstellung der IIS-Integration verantwortlich, um die ASP.NET Laufzeit zu verbinden.
Konfigurationsabschnitte:
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls ASP.NET Integration wird deaktiviert. Keine der verwalteten Module, die in <modules> aufgeführt sind oder ASP.NET-Handler die in Abschnitt <handlers> aufgeführt sind, werden aufgerufen, wenn der Anwendungspool im integrierten Modus ausgeführt wird.
Modulname: HttpCacheModule
Beschreibung: Das HttpCacheModule implementiert den IIS-Ausgabecache und die Logik für das Zwischenspeichern von Elementen im http.sys-Cache. Legen Sie die Cachegröße, Ausgabecacheprofile usw. über die Konfiguration fest.
Konfigurationsabschnitte: System.webServer/caching
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Inhalte werden nicht mehr im Kernelmodus zwischengespeichert. Cacheprofile werden ignoriert. Das Entfernen von HttpCacheModule wirkt sich wahrscheinlich negativ auf die Leistung und Ressourcennutzung aus.
Modulname: DynamicCompressionModule
Beschreibung: Implementiert die In-Memory-Komprimierung dynamischer Inhalte.
Konfigurationsabschnitte: system.webServer/httpCompression und system.webServer/urlCompression.
Abhängigkeiten: Es gibt keine Abhängigkeiten, da die dynamische Komprimierung standardmäßig deaktiviert ist.
Modulname: StaticCompressionModule
Beschreibung: Implementiert die Komprimierung (im Arbeitsspeicher sowie persistent im Dateisystem) statischer Inhalte.
Konfigurationsabschnitte: system.webServer/httpCompression und system.webServer/urlCompression
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Potenzielle Bandbreitensättigung aufgrund nicht komprimierter Inhalte, die an den Client zurückgesendet werden.
Modulname: DefaultDocumentModule
Beschreibung: Implementiert die Standarddokumentfunktionalität. Anfragen, die mit einem nachgestellten „/“ eingehen, werden an ein Dokument in der Standarddokumentliste umgeleitet.
Konfigurationsabschnitte: system.webServer/defaultDocument
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Anforderungen an /, z. B. http://localhost/, geben einen 404-Fehler zurück. Wenn ein directoryBrowsing aktiviert ist, wird eine Verzeichnisauflistung generiert.
Modulname: DirectoryListingModule
Beschreibung: Implementiert die Funktionalität zum Durchsuchen von Verzeichnissen.
Konfigurationsabschnitte: system.webServer/directoryBrowse
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Wenn weder das Standarddokumentmodul noch das directoryListing Module eine Anforderung für ein / verarbeiten, wird eine leere Antwort zurückgegeben.
Modulname: ProtocolSupportModule
Beschreibung: Implementiert benutzerdefinierte und Umleitungsantwortheader. Implementiert die Ablaufverfolgungs- und Options-HTTP-Verben. Implementiert die Unterstützungen, die die Keep-Alive-Unterstützung über die Konfiguration zulassen oder deaktivieren.
Konfigurationsabschnitte: system.webServer/httpProtocol
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls TRACE- oder OPTIONS-Anforderungen geben eine Fehlermeldung "405-Methode nicht zulässig" zurück.
Modulname: HttpRedirectionModule
Beschreibung: Implementiert Umleitungsfunktionen.
Konfigurationsabschnitte: system.webServer/httpRedirect
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Potenzielles Sicherheitsproblem, wenn Ressourcen durch Umleitung geschützt wurden. Wenn das Umleitungsmodul entfernt wird, wird der Inhalt wieder zugänglich.
Modulname: ServerSideIncludeModule
Beschreibung: Implementiert serverseitige Elemente. Dieses Modul wird als Handler zugeordnet, der nur für Anforderungen ausgeführt wird, die auf .stm, .shtm und .shtml enden.
Konfigurationsabschnitte: system.webServer/serverSideInclude
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Das statische Dateimodul behandelt .stm-, SHTM- und SHTML-Dateien. Wenn dieses Modul über eine mimeMap für diese Erweiterungen verfügt, werden die Dateien als Text bereitgestellt. Beachten Sie jedoch, dass dies nicht die Standardeinstellung ist.
Modulname: StaticFileModule
Beschreibung: Sendet statische Dateien mit der Dateierweiterung .html, .jpg sowie viele andere. Die staticContent/mimeMap-Konfigurationsauflistung bestimmt die Liste der Dateierweiterungen.
Konfigurationsabschnitte: system.webServer/staticContent
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Statische Dateien werden nicht mehr bereitgestellt. Bei Dateianfragen wird der Fehler 404 „Nicht gefunden“ zurückgegeben, der darauf hinweist, dass kein Handler gefunden wurde.
Modulname: AnonymousAuthenticationModule
Beschreibung: Implementiert die anonyme Authentifizierung. Dieses Modul generiert das HttpUser-Objekt, wenn eine URL für die anonyme Authentifizierung konfiguriert ist.
Konfigurationsabschnitte: system.webServer/security/authentication/anonymousAuthentication
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Mindestens ein Authentifizierungsmodul muss konfiguriert werden. Der IIS-Serverkern überprüft nach der Authentifizierungsphase, ob das HttpUser-Objekt aufgefüllt wird. Das HttpUser-Objekt ist eine IIS-Datenstruktur. Ein 401.2-Fehler wird generiert, wenn das HttpUser-Objekt nicht mit der Authentifizierung aufgefüllt wird.
Modulname: CertificateMappingAuthenticationModule
Beschreibung: Ordnet SSL-Clientzertifikate einem Active Directory-Konto (Active Directory-Zertifikatzuordnung) zu.
Konfigurationsabschnitte: system.webServer/security/authentication/clientCertificateMappingAuthentication
Abhängigkeiten: SSL muss so konfiguriert sein, dass dieses Modul funktioniert. Der IIS-Computer muss auch Element einer Active Directory-Domäne sein.
Mögliche Probleme beim Entfernen dieses Moduls Anforderungen sind normalerweise zulässig, wenn die Active Directory-Zertifikatzuordnung zum Schutz eines Verzeichnisses verwendet wird. In diesem Fall wird das Modul entfernt.
Modulname: BasicAuthenticationModule
Beschreibung: implementiert die in RFC 2617 beschriebene HTTP-Standardauthentifizierung.
Konfigurationsabschnitte: system.webServer/security/authentication/basicAuthentication
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Mindestens ein Authentifizierungsmodul muss konfiguriert werden. Der IIS-Serverkern überprüft nach der Authentifizierungsphase, ob das HttpUser-Objekt aufgefüllt wird. Das HttpUser-Objekt ist eine IIS-Datenstruktur. Ein 401.2-Fehler wird generiert, wenn das HttpUser-Objekt nicht mit der Authentifizierung aufgefüllt wird.
Modulname: WindowsAuthenticationModule
Beschreibung: Implementiert die Windows-Authentifizierung (NTLM oder Negotiate (Kerberos)).
Konfigurationsabschnitte: system.webServer/security/authentication/windowsAuthentication
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Mindestens ein Authentifizierungsmodul muss konfiguriert werden. Der IIS-Serverkern überprüft nach der Authentifizierungsphase, ob das HttpUser-Objekt aufgefüllt wird. Das HttpUser-Objekt ist eine IIS-Datenstruktur. Ein 401.2-Fehler wird generiert, wenn das HttpUser-Objekt nicht mit einer Authentifizierung aufgefüllt wird.
Modulname: DigestAuthenticationModule
Beschreibung: Implementiert die Digestauthentifizierung, die in RFC 2617 beschrieben wird.
Konfigurationsabschnitte: system.webServer/security/authentication/digestAuthentication
Abhängigkeiten: IIS-Server muss Teil einer Active Directory-Domäne sein.
Mögliche Probleme beim Entfernen dieses Moduls Mindestens ein Authentifizierungsmodul muss konfiguriert werden. Der IIS-Serverkern überprüft nach der Authentifizierungsphase, ob das HttpUser-Objekt aufgefüllt wird. Das HttpUser-Objekt ist eine IIS-Datenstruktur. Ein 401.2-Fehler wird generiert, wenn das HttpUser-Objekt nicht mit einer Authentifizierung aufgefüllt wird.
Modulname: IISCertificateMappingAuthenticationModule
Beschreibung: Implementiert die IIS-Zertifikatzuordnung. Ordnet SSL-Clientzertifikate einem Windows-Konto zu. Im Gegensatz zur Active Directory-Zertifikatzuordnung werden Benutzeranmeldeinformationen und Zuordnungsregeln im IIS-Konfigurationsspeicher gespeichert
Konfigurationsabschnitte: system.webServer/iisClientCertificateMappingAuthentication
Abhängigkeiten: SSL mit der Anforderung, Clientzertifikate zu empfangen, muss so konfiguriert werden, dass dieses Modul funktioniert.
Mögliche Probleme beim Entfernen dieses Moduls Mindestens ein Authentifizierungsmodul muss konfiguriert werden. Der IIS-Serverkern überprüft nach der Authentifizierungsphase, ob das HttpUser-Objekt aufgefüllt wird. Das HttpUser-Objekt ist eine IIS-Datenstruktur. Ein 401.2-Fehler wird generiert, wenn das HttpUser-Objekt nicht mit der Authentifizierung aufgefüllt wird.
Modulname: UrlAuthorizationModule
Beschreibung: Implementiert die Autorisierung basierend auf Konfigurationsregeln.
Konfigurationsabschnitte: system.webServer/security/authorization
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Autorisierungsregeln, bei denen die geschützte Inhalte nicht mehr ausgewertet werden. Inhalte, die geschützt werden sollen, können bereitgestellt werden.
Modulname: IsapiModule
Beschreibung: Implementiert DIE ISAPI-Erweiterungsfunktionalität.
Konfigurationsabschnitte: system.webServer/isapiCgiRestriction
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls ISAPI-Erweiterungen, die im <handlers> Abschnitt zugeordnet sind (modules="IsapiModule") oder explizit als ISAPI-Erweiterungen bezeichnet, funktionieren nicht mehr.
Modulname: IsapiFilterModule
Beschreibung: Implementiert ISAPI-Filterfunktionalität.
Konfigurationsabschnitte: system.webServer/isapiFilters
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls ISAPI-Filter implementieren häufig Funktionalitätsanwendungen, auf die sie angewiesen sind. Beispiele sind ASP.NET oder SharePoint. ASP.NET benötigt beispielsweise die aspnet_filter.dll, um vertrauliche Inhalte zu schützen und URLs neu zu schreiben. Durch das Entfernen dieses Moduls wird verhindert, dass IIS ISAPI-Filter lädt. Anwendungen können nicht mehr funktionieren, oder vertrauliche Inhalte werden möglicherweise verfügbar gemacht.
Modulname: IpRestrictionModule
Beschreibung: Implementiert ein Autorisierungsschema basierend auf der IPv4-Adresse der Clientanforderung.
Konfigurationsabschnitte: system.webServer/security/ipSecurity
Abhängigkeiten: IPv4 Stack muss installiert werden.
Mögliche Probleme beim Entfernen dieses Moduls Clients mit IP-Adressen in der ipSecurity-Liste sind zulässig.
Modulname: RequestFilteringModule
Beschreibung: Implementiert eine leistungsstarke Reihe von Sicherheitsregeln, die verdächtige Anforderung zu einem sehr frühen Zeitpunkt ablehnen. Dieses Modul ist der Nachfolger des ISAPI-Filters UrlScan.DLL, der für IIS 5.0 und 6.0 ausgeliefert wurde.
Konfigurationsabschnitte: system.webServer/security/requestFiltering
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Wenn dieses Modul entfernt wird, gelten die im Abschnitt "requestFiltering" angegebenen Regeln nicht mehr. Dies kann zu möglichen Sicherheitsproblemen führen.
Modulname: CustomLoggingModule
Beschreibung: Implementiert die ILogPlugin-Schnittstelle über IIS. ILogPlugin ist eine frühere COM-Implementierung, mit der Kunden die IIS-Protokollierung erweitern können. Es wird nicht empfohlen, IIS mithilfe dieser Schnittstelle zu erweitern. Stattdessen sollten Kunden ein Modul schreiben und die RQ_LOG_REQUEST-Benachrichtigung abonnieren.
Konfigurationsabschnitte: system.webServer/httpLogging und system.applicationhost/sites/site/logFile/customLogPluginClsid
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Ein benutzerdefiniertes Protokoll-Plug-In wird nicht mehr aufgerufen. Beispielsweise wird die ODBC-Protokollierung als ILogPlugin implementiert.
Modulname: CustomErrorModule
Beschreibung: Implementiert benutzerdefinierte Fehler und die detaillierte IIS-Fehlerfunktion.
Konfigurationsabschnitte: system.webServer/httpErrors
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls IIS gibt leere Seiten mit minimalen Informationen zurück, wenn Fehler innerhalb des Kernservers auftreten. Remotebenutzer sehen möglicherweise detaillierte Fehlerinformationen, die von Serverkomponenten stammen, was zur Offenlegung von Informationen führen kann.
Modulname: HttpLoggingModule
Beschreibung: Implementiert die IIS-Standardprotokollierung, indem HTTP.SYS mitgeteilt wird, was protokolliert werden soll.
Konfigurationsabschnitte: system.applicationHost/log and system.webServer/httpLogging
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Die Standardmäßige IIS-Protokollierung funktioniert nicht mehr.
Modulname: FailedRequestsTracingModule
Beschreibung: Implementiert die Ablaufverfolgung fehlgeschlagener Anforderungen. Definieren und Festlegen von Regeln für fehlgeschlagene Anforderungen über die Konfiguration.
Konfigurationsabschnitte: system.webServer/tracing und system.webServer/httpTracing
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Die Ablaufverfolgung von HTTP-Anforderungen funktioniert nicht mehr.
Modulname: RequestMonitorModule
Beschreibung: Implementiert die IIS-Laufzeitstatus- und Steuerelementschnittstelle (RSCA). MIT RSCA können Benutzer Laufzeitinformationen abfragen, z. B. zurzeit ausgeführte Anforderung, Start-/Stoppstatus einer Website oder derzeit ausgeführte Anwendungsdomänen.
Konfigurationsabschnitte: Keine.
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Tools können derzeit ausgeführte Anforderungen nicht aufzählen.
Modulname: CgiModule
Beschreibung: Implementiert CGI über IIS.
Konfigurationsabschnitte: system.webServer/cgi und system.webServer/isapiCgiRestriction
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls CGI-Programme funktionieren nicht mehr.
Modulname: TracingModule
Beschreibung: Implementiert die Ereignisablaufverfolgung für Windows.
Konfigurationsabschnitte: system.webServer/httpTracing
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Die Ereignisablaufverfolgung für Windows funktioniert nicht, wenn dieses Modul entfernt wird.
Modulname: ConfigurationValidationModule
Beschreibung: Überprüft, ob ASP.NET Anwendungskonfiguration migriert wurde, um im integrierten Modus zu funktionieren.
Konfigurationsabschnitte: system.webServer/Validation
Abhängigkeiten: Keine.
Mögliche Probleme beim Entfernen dieses Moduls Anwendungen, die ältere ASP.NET-Konfiguration für Module und Handler angeben, generieren keine Migrationsfehler. Eine neue Anwendung, die nicht migriert wurde, funktioniert falsch.

Verwaltete Module:

Modulname: OutputCache
Beschreibung: Implementiert das Feature ASP.NET Ausgabezwischenspeicherung.
Konfigurationsabschnitte: system.web/caching/outputCache
Abhängigkeiten: ManagedEngine-Modul muss installiert werden.
Mögliche Probleme beim Entfernen dieses Moduls ASP.NET können keine Cacheantworten auf Seiten ausgeben, die so konfiguriert sind, dass sie zwischengespeichert werden.
Modulname: Sitzung
Beschreibung: Ausführliche Informationen finden Sie in der Dokumentation zu ASP.NET 2.0
Konfigurationsabschnitte: system.web/sessionState
Abhängigkeiten: ManagedEngine-Modul muss installiert sein
Mögliche Probleme beim Entfernen dieses Moduls Der verwaltete Sitzungszustand ist nicht verfügbar.
Modulname: WindowsAuthentication
Beschreibung: Ausführliche Informationen finden Sie in ASP.NET 2.0-Dokumentation.
Konfigurationsabschnitte: system.web/authentication
Abhängigkeiten: ManagedEngine-Modul muss installiert werden
Mögliche Probleme beim Entfernen dieses Moduls Das Ereignis "WindowsAuthentication.OnAuthenticate" wird nicht ausgelöst, wodurch möglicherweise verhindert wird, dass ein benutzerdefinierter ASP.NET Authentifizierungscode ausgeführt wird. Außerdem wird der authentifizierte Benutzer nicht durch den UNC-Benutzer ersetzt, wenn er sich auf der UNC-Freigabe befindet (älteres ASP.NET Verhalten). Dieses Modul wirkt sich nicht auf die NTLM/Kerberos-Authentifizierung für ASP.NET Anwendungen im integrierten Modus aus und ist außerhalb des WindowsAuthentication.OnAuthenticate-Ereignisses und des älteren UNC-Verhaltens nicht erforderlich.
Modulname: FormsAuthentication
Beschreibung: Ausführliche Informationen finden Sie in ASP.NET 2.0-Dokumentation.
Konfigurationsabschnitte: system.web/authentication
Abhängigkeiten: ManagedEngine-Modul muss installiert werden
Mögliche Probleme beim Entfernen dieses Moduls ASP.NET Formularbasierte Authentifizierungsfunktion ist nicht verfügbar, was dazu führt, dass Clients mit Formularauthentifizierungstickets nicht auf geschützte Ressourcen zugreifen können.
Modulname: DefaultAuthentication
Beschreibung: Ausführliche Informationen finden Sie in ASP.NET 2.0-Dokumentation.
Konfigurationsabschnitte: system.web/authentication
Abhängigkeiten: ManagedEngine-Modul muss installiert werden
Mögliche Probleme beim Entfernen dieses Moduls Einige ASP.NET-Funktionen funktionieren möglicherweise nicht für anonyme Anforderungen, wenn der ASP.NET-Authentifizierungsmodus „Formulare“ lautet. Außerdem wird das DefaultAuthentication.OnAuthenticate-Ereignis nicht ausgelöst.
Modulname: RoleManager
Beschreibung: Ausführliche Informationen finden Sie in ASP.NET 2.0-Dokumentation.
Konfigurationsabschnitte: Keine.
Abhängigkeiten: ManagedEngine-Modul muss installiert sein.
Mögliche Probleme beim Entfernen dieses Moduls Die Funktionen des Rollen-Managers sind nicht verfügbar.
Modulname: UrlAuthorization
Beschreibung: Ausführliche Informationen finden Sie in ASP.NET 2.0-Dokumentation. Das systemeigene UrlAuthorization-Modul implementiert die URL-Autorisierungsfunktionalität im systemeigenen Code. Dies bietet eine skalierbare und schnelle native Alternative für das verwaltete URL-Autorisierungsmodul.
Konfigurationsabschnitte: system.web/authorization.
Abhängigkeiten: ManagedEngine-Modul muss installiert sein.
Mögliche Probleme beim Entfernen dieses Moduls ASP.NET Autorisierungsregeln werden ignoriert, was möglicherweise zur Offenlegung von Informationen und anderen Sicherheitskompromittierungen führt.
Modulname: AnonymousIdentification
Beschreibung: Ausführliche Informationen finden Sie in ASP.NET 2.0-Dokumentation.
Konfigurationsabschnitte:
Abhängigkeiten: ManagedEngine-Modul muss installiert werden.
Mögliche Probleme beim Entfernen dieses Moduls Das vom ASP.NET Profil verwendete Feature für die anonyme Identifizierung funktioniert nicht.
Modulname: Profile
Beschreibung: Ausführliche Informationen finden Sie in ASP.NET 2.0-Dokumentation.
Konfigurationsabschnitte:
Abhängigkeiten: ManagedEngine-Modul muss installiert sein.
Mögliche Probleme beim Entfernen dieses Moduls Die ASP.NET Profilfunktion funktioniert nicht.
Modulname: UrlMappingsModule
Beschreibung: Ausführliche Informationen finden Sie in ASP.NET 2.0-Dokumentation.
Konfigurationsabschnitte:
Abhängigkeiten: ManagedEngine-Modul muss installiert sein.
Mögliche Probleme beim Entfernen dieses Moduls Die ASP.NET-URL-Zuordnungen funktionieren nicht.