Ü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
- Klicken Sie auf Start und anschließend auf Systemsteuerung.
- Klicken Sie in der Systemsteuerung auf Programme.
- Klicken Sie unter Programme und Funktionen auf Windows-Funktionen ein- oder ausschalten.
- 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. - 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
- Öffnen Sie Server-Manager->Rollen und wählen Sie Webserver (IIS) aus.
- Ü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:
- Installieren Sie ein Modul auf dem Server (nur systemeigene Module).
- 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.
- Um den IIS-Manager zu öffnen, klicken Sie auf Start, geben Sie inetmgr in das Suchfeld ein, und drücken Sie dann die EINGABETASTE.
- Klicken Sie auf den Computernamen Ihres IIS-Servers.
- Klicken Sie auf das Symbol Modul in der IIS-Kategorie.
Abbildung 1: IIS-Manager
So verwalten Sie die aktivierten Module für eine bestimmte Anwendung
- Stellen Sie mithilfe der Strukturansicht auf der linken Seite eine Verbindung mit dieser Anwendung her.
- Navigieren Sie zum Bereich Feature Module.
- 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
- Klicken Sie in der Liste auf das Modul. Die Aufgabe Entfernen wird im linken Bereich angezeigt.
- Klicken Sie auf Entfernen.
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. |