Vue d’ensemble des modules IIS

Auteur : Équipe IIS, Mike Volodarsky

Compatibilité

Version Notes
IIS 7.0 et versions ultérieures Les fonctionnalités décrites dans cet article ont été introduites dans IIS 7.0.
IIS 6.0 et versions antérieures Les fonctionnalités décrites dans cet article n'ont pas été prises en charge avant IIS 7.0.

Introduction

Le jeu de fonctionnalités IIS 7 et versions ultérieures du serveur web est composé de plus de trente modules indépendants.

Un module est une DLL Win32 (module natif) ou un type .NET 2.0 contenu dans un assembly (module managé). À l’instar d’un ensemble de blocs de construction, les modules sont ajoutés au serveur afin de fournir les fonctionnalités souhaitées pour vos applications. De même, tous les modules IIS peuvent être supprimés ou remplacés par des modules personnalisés développés à l’aide des API IIS C++ ou des API familières ASP.NET 2.0.

Cet article décrit les tâches courantes de gestion des modules IIS et détaille chaque module, y compris ses paramètres de configuration et l’effet potentiel qu’une suppression de module a sur le serveur web. Les exemples de gestion sont fournis à l’aide du Gestionnaire IIS graphique et de l’outil en ligne de commande AppCmd.

Prérequis

Pour suivre les étapes décrites dans ce document, il est préférable d’effectuer une installation complète d’IIS.

Remarque

Toutes les éditions de Windows ne prennent pas en charge toutes les fonctionnalités IIS disponibles. Pour voir quelles fonctionnalités IIS sont prises en charge sur votre système d’exploitation, vous devez consulter la documentation fournie avec votre version de Windows.

Pour effectuer une installation complète d’IIS sur Windows Vista, Windows 7, Windows 8, Windows 10 ou Windows 11

  1. Cliquez sur Démarrer, puis sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes.
  3. Sous Programmes et fonctionnalités, cliquez sur Activer ou désactiver des fonctionnalités Windows.
  4. Dans la boîte de dialogue Fonctionnalités Windows, développez Internet Information Services et sélectionnez toutes les fonctionnalités.
    Vous devrez peut-être développer certaines catégories pour en sélectionner toutes les fonctionnalités.
  5. Cliquez sur OK.

Pour effectuer une installation complète d’IIS sur Windows Server 2008/R2, Windows Server 2012/R2 ou Windows Server 2016

  1. Ouvrez Gestionnaire de serveur>Rôles et sélectionnez Serveur web (IIS).
  2. Cochez toutes les fonctionnalités sous Serveur web.

Prise en main des modules

Pour ajouter un module au serveur, vous devez effectuer deux étapes :

  1. Installez un module sur le serveur (modules natifs uniquement).
  2. Activez le module dans une application.

La première étape inscrit le module globalement auprès du serveur, le rendant disponible dans chaque processus de travail du serveur. Il est nécessaire uniquement pour les modules natifs en raison de la nature approuvée du code natif et n’est disponible que pour les administrateurs.

Remarque

Un module natif dispose d’un accès illimité à toute ressource disponible pour le processus de travail du serveur, tout comme un filtre ou une extension ISAPI dans les versions précédentes. En raison de cet accès illimité, vous devez installer uniquement les modules natifs provenant d’une source approuvée.

La deuxième étape permet au module de s’exécuter dans une application particulière et permet efficacement à l’administrateur de l’application de contrôler les fonctionnalités du serveur activées pour l’application. Cette étape permet aux modules natifs installés et aux modules managés d’être activés pour chaque application.

Pour installer un module natif

Pour installer un module natif, il doit être inscrit auprès du serveur à l’aide de l’une des options ci-dessous :

  • Modification manuelle du magasin de configuration IIS. Dans IIS 7.5 et versions ultérieures, vous pouvez utiliser l’Éditeur de configuration dans le Gestionnaire IIS.
  • Utilisation du Gestionnaire IIS
  • Utilisation de l’outil en ligne de commande AppCmd.exe

Ces trois options entraînent l’ajout de l’entrée de module à la section de configuration IIS <globalModules>, qui ne peut être définie qu’au niveau du serveur. Pour examiner le contenu de cette section, ouvrez le fichier de configuration racine situé dans %windir%\system32\inetsrv\config\applicationhost.config, puis recherchez la chaîne « <globalModules> ».

Après une installation complète d’IIS, cette section contient une entrée pour chacun des modules natifs fournis avec IIS, en spécifiant un nom et le chemin d’accès à la DLL du module :

<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>

Tous ces modules sont décrits en détail plus loin dans ce document.

Pour désinstaller un module natif

Vous pouvez désinstaller un module natif si ce module n’est plus utilisé sur le serveur, ou si vous souhaitez le remplacer par un autre module. Supprimez l’entrée de module correspondante de la liste de configuration <globalModules> et l’entrée associée dans la liste de configuration <modules> à l’aide de l’une des options suivantes :

  • Modification manuelle du magasin de configuration IIS. Dans IIS 7.5 et versions ultérieures, vous pouvez utiliser l’Éditeur de configuration.
  • Utilisation du Gestionnaire IIS
  • Utilisation de l’outil en ligne de commande AppCmd.exe

Remarque

Étant donné que la section de configuration <globalModules> ne peut être définie qu’au niveau du serveur, vous devez être administrateur pour désinstaller un module.

Activation d’un module pour une application

Un module doit être activé avant de pouvoir fournir un service pour une application particulière. Pour activer un module natif, il doit d’abord être installé sur le serveur (voir la section précédente Pour installer un module natif).

Un module managé ne nécessite pas d’installation et peut être activé directement pour chaque application. Cela permet aux applications d’inclure leurs modules managés directement dans l’application en les inscrivant dans le fichier web.config de l’application et en fournissant l’implémentation dans le répertoire /BIN ou /App_Code.

Pour activer un module, effectuez l’une des opérations suivantes :

  • Modifier manuellement le magasin de configuration IIS, soit globalement pour activer le module pour toutes les applications sur le serveur, soit dans un fichier web.config particulier situé dans chaque application pour laquelle vous souhaitez activer ce module. Dans IIS 7.5 et versions ultérieures, vous pouvez utiliser l’Éditeur de configuration.
  • Utiliser le Gestionnaire IIS
  • Utiliser l’outil de ligne de commande AppCmd.exe

Ces trois options ajoutent l’entrée de module à la section de configuration IIS <modules>, qui peut être définie au niveau du serveur et au niveau de l’application. Examinez le contenu de cette section en ouvrant le fichier de configuration racine situé dans %windir%\system32\inetsrv\config\applicationhost.config, puis en recherchant la chaîne « <modules> ».

Contrairement aux modules natifs, un module managé n’a pas besoin d’ajouter une entrée à la section de configuration <globalModules>.

Après une installation complète d’IIS, la section de configuration contient une entrée pour chacun des modules (managés et natifs) fournis avec IIS. L’entrée indique que tous ces modules sont activés par défaut pour toutes les applications sur le serveur. Chaque entrée de cette section spécifie le nom d’un module natif précédemment installé sur le serveur, ou le nom et le type .NET d’un module managé :

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

</modules>

Désactivation d’un module dans une application

Désactivez un module si ce module n’est plus utilisé dans l’application, ou si vous souhaitez le remplacer par un autre module. Pour désactiver un module, supprimez l’entrée de module correspondante de la collection de configuration <modules> pour une application particulière dans laquelle vous ne souhaitez pas que ce module s’exécute. Si le module est activé au niveau du serveur, supprimez-le pour le désactiver dans toutes les applications sur le serveur par défaut. Utilisez l’une des options suivantes pour supprimer le module au niveau du serveur :

  • Modifiez manuellement la section de configuration <system.webServer>/<modules> dans votre application.
  • Utilisez le Gestionnaire IIS.
  • Utilisez l’outil de ligne de commande AppCmd.exe.

Une fois le module supprimé de l’application, il ne sera pas actif dans cette application. Toutefois, si le module est natif, il sera toujours chargé dans le processus de travail du serveur et pourra être utilisé par d’autres applications qui ne l’ont pas supprimé.

Remarque

La section de configuration est déverrouillée par défaut si ASP.NET est installé. Ce déverrouillage par défaut permet aux applications de désactiver les modules natifs et managés activés globalement, et d’ajouter de nouveaux modules managés. Cette section de configuration peut être verrouillée au niveau du serveur pour empêcher toute modification ou empêcher la suppression d’entrées de module spécifiques si l’administrateur le souhaite.

Preconditions

Il existe un autre attribut sur une entrée de module appelée condition préalable. Le moteur de base IIS utilise des conditions préalables pour déterminer quand activer un module particulier. Des raisons liées aux performances, par exemple, peuvent déterminer que vous souhaitez uniquement exécuter des modules managés pour les demandes adressées également à un gestionnaire managé. La condition préalable dans l’exemple suivant (precondition="managedHandler") active uniquement le module d’authentification par formulaire pour les demandes qui sont également gérées par un gestionnaire managé, telles que les demandes adressées aux fichiers .aspx ou .asmx :

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

Si vous supprimez l’attribut precondition="managedHandler", l’authentification par formulaire s’applique également au contenu qui n’est pas servi par des gestionnaires managés, tels que .html, .jpg, .doc, ainsi qu’aux extensions ASP (.asp) ou PHP (.php) classiques. Consultez « Comment tirer parti du pipeline intégré IIS » pour obtenir un exemple d’activation des modules ASP.NET à exécuter pour tout le contenu.

Vous pouvez également utiliser un raccourci pour permettre à tous les modules managés (ASP.NET) de s’exécuter pour toutes les demandes de votre application, quelle que soit la condition préalable « managedHandler ». Pour permettre à tous les modules managés de s’exécuter pour toutes les demandes sans configurer chaque entrée de module pour supprimer la condition préalable « managedHandler », utilisez la propriété runAllManagedModulesForAllRequests dans la section <modules> :

<modules runAllManagedModulesForAllRequests="true"/>

Lorsque vous utilisez cette propriété, la condition préalable « managedHandler » n’a aucun effet et tous les modules managés s’exécutent pour toutes les demandes.

Interrogation, ajout et suppression de modules à l’aide du Gestionnaire IIS

Le Gestionnaire IIS offre un moyen simple d’interroger, d’ajouter ou de supprimer des modules.

  1. Pour ouvrir le Gestionnaire IIS, cliquez sur Démarrer, tapez inetmgr dans la zone Rechercher, puis appuyez sur ENTRÉE.
  2. Cliquez sur le nom de l’ordinateur de votre serveur IIS.
  3. Cliquez sur l’icône Modules dans la catégorie IIS.

Gestionnaire des services Internet

Figure 1 : Gestionnaire IIS

Pour gérer les modules activés pour une application particulière

  1. Connectez-vous à cette application à l’aide de l’arborescence de gauche.
  2. Accédez au volet des fonctionnalités Modules.
  3. Cliquez sur Ajouter un module managé pour ajouter un module managé à votre application. L’option Ajouter un module natif vous permet uniquement d’ajouter un module déjà inscrit au niveau du serveur.

Pour supprimer un module de votre application

  1. Cliquez sur le module dans la liste. La tâche Supprimer s’affiche dans le volet de gauche.
  2. Cliquez sur Supprimer.

Liste des modules dans le Gestionnaire IIS

Figure 2 : Liste des modules dans le Gestionnaire IIS

Gestion des modules à partir de la ligne de commande

Pour gérer rapidement les modules à partir de la ligne de commande ou des tâches de gestion de module de script, utilisez l’outil en ligne de commande AppCmd.exe.

Pour installer un module à l’aide d’AppCmd.exe

À l’invite de commandes, tapez la commande suivante, en remplaçant les valeurs en italique par les valeurs du module sur votre ordinateur.

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

Remarque

L’installation d’un module natif l’active automatiquement au niveau du serveur.

Par exemple, la commande suivante installe le module Document par défaut.

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

Si vous exécutez la commande sur un ordinateur où le module est déjà chargé, vous obtenez un message d’erreur similaire au suivant :

ERROR (message : Échec de l’ajout de l’élément de collection dupliqué « DefaultDocumentModule ».)

Pour désinstaller un module à l’aide d’AppCmd.exe

À l’invite de commandes, tapez la commande suivante, en remplaçant les valeurs en italique par les valeurs du module sur votre ordinateur.

Appcmd.exe uninstall module MODULE_NAME

Remarque

La désinstallation d’un module le désactive automatiquement au niveau du serveur.

Par exemple, la commande suivante désinstalle le module Document par défaut. Cette commande est fournie uniquement en tant qu’exemple. Vous devez l’exécuter uniquement sur un serveur de test.

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

Pour répertorier les modules activés pour une application ou globalement

À l’invite de commandes, tapez la commande suivante, en remplaçant les valeurs en italique par les valeurs du module sur votre ordinateur.

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

Par exemple, la commande suivante répertorie les modules activés pour le site web par défaut.

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

De plus, cette commande répertorie les modules installés globalement.

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

Pour activer un module globalement ou pour une application particulière

À l’invite de commandes, tapez la commande suivante, en remplaçant les valeurs en italique par les valeurs du module sur votre ordinateur.

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

Par exemple, la commande suivante ajoute le module d’authentification par formulaire au site web par défaut.

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

De plus, cette commande ajoute globalement le module d’authentification par formulaire.

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

Pour désactiver un module globalement ou pour une application particulière

À l’invite de commandes, tapez la commande suivante, en remplaçant les valeurs en italique par les valeurs du module sur votre ordinateur.

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

Par exemple, la commande suivante supprime le module d’authentification par formulaire du site web par défaut.

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

Cette commande supprime aussi globalement le module d’authentification par formulaire.

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

Pour obtenir de l’aide supplémentaire sur la syntaxe de chacune des commandes d’AppCmd.exe

Pour afficher les commandes prises en charge sur le type d'objet Module, tapez la commande suivante :

Appcmd.exe module /?

Pour afficher l’utilisation de chaque commande, tapez la commande suivante :

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

Référence de module

Le serveur IIS est prêt à être personnalisé. Lisez attentivement la liste suivante pour éviter les effets secondaires, une perte de fonctionnalités ou la suppression de fonctionnalités de sécurité.

Modules utilitaires

Ces modules ne fournissent pas de services de demande, mais aident plutôt le moteur de serveur dans le cadre de son fonctionnement interne.

Nom de module : UriCacheModule
Description : Implémente un cache générique pour l’état du serveur spécifique à l’URL, tel que la configuration. Avec ce module, le serveur lit uniquement la configuration de la première demande pour une URL particulière et la réutilise sur les demandes suivantes jusqu’à ce qu’elle change.
Sections de configuration : Aucune.
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Perte de performances en raison de la mise en cache d’un état pour chaque récupération d’URL pour chaque demande.
Nom de module : FileCacheModule
Description : Met en cache les descripteurs de fichiers pour les fichiers ouverts par le moteur de serveur et les modules.
Sections de configuration : Aucune.
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Perte de performances. Si les descripteurs de fichiers ne sont pas mis en cache, les fichiers doivent être ouverts pour chaque demande.
Nom de module : TokenCacheModule
Description : Met en cache les jetons de sécurité Windows pour les schémas d’authentification par mot de passe (authentification anonyme, authentification de base, authentification par certificat client IIS).
Sections de configuration : Aucune.
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Perte de performances. Les utilisateurs doivent être connectés pour chaque demande si le jeton n’est pas mis en cache. Il peut en résulter un impact majeur sur les performances. Par exemple, si une page html protégée par mot de passe fait référence à 50 images qui sont également protégées, 51 appels logonUser à la base de données de compte local, ou pire, à un contrôleur de domaine hors zone, entraînent un problème de performances.
Nom de module : ManagedEngine
Description : Le moteur managé a un emplacement spécial dans tous les autres modules. Il est responsable de la fourniture de l’intégration IIS pour se connecter au runtime ASP.NET.
Sections de configuration :
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module L’intégration d’ASP.NET sera désactivée. Aucun des modules managés déclarés dans les gestionnaires <modules> ou ASP.NET déclarés dans la section <handlers> n’est appelé quand le pool d’applications s’exécute en mode intégré.
Nom de module : HttpCacheModule
Description : Le module HttpCacheModule implémente le cache de sortie IIS, ainsi que la logique de mise en cache des éléments dans le cache http.sys. Définissez la taille du cache, les profils de cache de sortie, etc. via la configuration.
Sections de configuration : System.webServer/caching
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Le contenu ne sera plus mis en cache en mode noyau. Les profils de cache sont ignorés. En règle générale, la suppression du module HttpCacheModule a des effets négatifs sur les performances et l’utilisation des ressources.
Nom de module : DynamicCompressionModule
Description : Implémente la compression en mémoire du contenu dynamique.
Sections de configuration : system.webServer/httpCompression et system.webServer/urlCompression.
Dépendances : Il n’y aura aucune dépendance, car la compression dynamique est désactivée par défaut.
Nom de module : StaticCompressionModule
Description : Implémente la compression (en mémoire et persistante dans le système de fichiers) du contenu statique.
Sections de configuration : system.webServer/httpCompression et system.webServer/urlCompression
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Saturation potentielle de la bande passante en raison d’un contenu non compressé renvoyé au client.
Nom de module : DefaultDocumentModule
Description : Implémente la fonctionnalité de document par défaut. Les demandes entrantes dotées d’un caractère / de fin seront redirigées vers un document dans la liste de documents par défaut.
Sections de configuration : system.webServer/defaultDocument
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Les demandes adressées à /, par exemple http://localhost/, retournent une erreur 404. Si un élément directoryBrowsing est activé, une liste de répertoires est générée.
Nom de module : DirectoryListingModule
Description : Implémente la fonctionnalité d’exploration des répertoires.
Sections de configuration : system.webServer/directoryBrowse
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Si le module de document par défaut et le module directoryListing ne gèrent pas une demande adressée à un /, une réponse vide est renvoyée.
Nom de module : ProtocolSupportModule
Description : Implémente des en-têtes de réponse personnalisés et de redirection. Implémente les verbes HTTP trace et Options. Implémente les supports qui autorisent ou désactivent la prise en charge de la connexion persistante via la configuration.
Sections de configuration : system.webServer/httpProtocol
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Les demandes TRACE ou OPTIONS retournent un message d’erreur « 405 Méthode non autorisée ».
Nom de module : HttpRedirectionModule
Description : Implémente la fonctionnalité de redirection.
Sections de configuration : system.webServer/httpRedirect
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Problème de sécurité potentiel si les ressources étaient protégées par la redirection. Lorsque le module de redirection est supprimé, le contenu devient à nouveau accessible.
Nom de module : ServerSideIncludeModule
Description : Implémente les inclusions côté serveur. Ce module est mappé en tant que gestionnaire, qui s’exécute uniquement pour les demandes se terminant par .stm, .shtm et .shtml.
Sections de configuration : system.webServer/serverSideInclude
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Le module de fichier statique gère les fichiers .stm, .shtm et .shtml. Si ce module a un élément mimeMap pour ces extensions, les fichiers sont servis en tant que texte. Notez toutefois que ce n’est pas la valeur par défaut.
Nom de module : StaticFileModule
Description : Envoie des fichiers statiques avec l’extension de fichier .html, .jpg, ainsi que de nombreux autres. La collection de configuration staticContent/mimeMap détermine la liste des extensions de fichier.
Sections de configuration : system.webServer/staticContent
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Les fichiers statiques ne sont plus servis. Les demandes de fichiers retournent une erreur 404 Introuvable indiquant qu’aucun gestionnaire n’a été mis en correspondance.
Nom de module : AnonymousAuthenticationModule
Description : Implémente l'authentification anonyme. Ce module génère l’objet HttpUser si une URL est configurée pour autoriser l’authentification anonyme.
Sections de configuration : system.webServer/security/authentication/anonymousAuthentication
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Au moins un module d’authentification doit être configuré. L’installation minimale du serveur IIS vérifie après la phase d’authentification si l’objet HttpUser est rempli. L’objet HttpUser est une structure de données IIS. Une erreur 401.2 est générée si aucune authentification ne remplit l’objet HttpUser.
Nom de module : CertificateMappingAuthenticationModule
Description : Mappe les certificats clients SSL à un compte Active Directory (mappage de certificats Active Directory).
Sections de configuration : system.webServer/security/authentication/clientCertificateMappingAuthentication
Dépendances : SSL doit être configuré pour que ce module fonctionne. L’ordinateur IIS doit également être membre d’un domaine Active Directory.
Problèmes potentiels lors de la suppression de ce module Les demandes sont normalement autorisées si le mappage de certificats Active Directory est utilisé pour protéger un répertoire ; dans ce cas, le module est supprimé.
Nom de module : BasicAuthenticationModule
Description : Implémente l’authentification de base HTTP décrite dans la RFC 2617.
Sections de configuration : system.webServer/security/authentication/basicAuthentication
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Au moins un module d’authentification doit être configuré. L’installation minimale du serveur IIS vérifie après la phase d’authentification si l’objet HttpUser est rempli. L’objet HttpUser est une structure de données IIS. Une erreur 401.2 est générée si aucune authentification ne remplit l’objet HttpUser.
Nom de module : WindowsAuthenticationModule
Description : Implémente l’authentification Windows (NTLM ou Negotiate (Kerberos)).
Sections de configuration : system.webServer/security/authentication/windowsAuthentication
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Au moins un module d’authentification doit être configuré. L’installation minimale du serveur IIS vérifie après la phase d’authentification si l’objet HttpUser est rempli. L’objet HttpUser est une structure de données IIS. Une erreur 401.2 est générée si aucune authentification ne remplit l’objet HttpUser.
Nom de module : DigestAuthenticationModule
Description : Implémente l’authentification Digest décrite dans la RFC 2617.
Sections de configuration : system.webServer/security/authentication/digestAuthentication
Dépendances : Le serveur IIS doit faire partie d’un domaine Active Directory.
Problèmes potentiels lors de la suppression de ce module Au moins un module d’authentification doit être configuré. L’installation minimale du serveur IIS vérifie après la phase d’authentification si l’objet HttpUser est rempli. L’objet HttpUser est une structure de données IIS. Une erreur 401.2 est générée si aucune authentification ne remplit l’objet HttpUser.
Nom de module : IISCertificateMappingAuthenticationModule
Description : Implémente le mappage de certificats IIS. Mappe les certificats clients SSL à un compte Windows. Contrairement au mappage des certificats Active Directory, les informations d’identification de l’utilisateur et les règles de mappage sont stockées dans le magasin de configuration IIS.
Sections de configuration : system.webServer/iisClientCertificateMappingAuthentication
Dépendances : SSL avec la nécessité de recevoir des certificats clients doit être configuré pour que ce module fonctionne.
Problèmes potentiels lors de la suppression de ce module Au moins un module d’authentification doit être configuré. L’installation minimale du serveur IIS vérifie après la phase d’authentification si l’objet HttpUser est rempli. L’objet HttpUser est une structure de données IIS. Une erreur 401.2 est générée si aucune authentification ne remplit l’objet HttpUser.
Nom de module : UrlAuthorizationModule
Description : Implémente l’autorisation en fonction des règles de configuration.
Sections de configuration : system.webServer/security/authorization
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Règles d’autorisation dont le contenu protégé n’est plus évalué. Le contenu censé être protégé peut être servi.
Nom de module : IsapiModule
Description : Implémente les fonctionnalités des extensions ISAPI.
Sections de configuration : system.webServer/isapiCgiRestriction
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Les extensions ISAPI mappées dans la section <handlers> (modules="IsapiModule") ou les extensions ISAPI explicitement appelées ne fonctionneront plus.
Nom de module : IsapiFilterModule
Description : Implémente les fonctionnalités des filtres ISAPI.
Sections de configuration : system.webServer/isapiFilters
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Les filtres ISAPI implémentent souvent des fonctionnalités sur lesquelles les applications s’appuient. ASP.NET et SharePoint en sont des exemples. ASP.NET par exemple a besoin de aspnet_filter.dll pour protéger du contenu sensible et réécrire des URL. La suppression de ce module empêche IIS de charger les filtres ISAPI. Des applications peuvent cesser de fonctionner ou du contenu sensible peut être exposé.
Nom de module : IpRestrictionModule
Description : Implémente un schéma d’autorisation basé sur l’adresse IPv4 de la demande du client.
Sections de configuration : system.webServer/security/ipSecurity
Dépendances : La pile IPv4 doit être installée.
Problèmes potentiels lors de la suppression de ce module Les clients disposant d’adresses IP dans la liste ipSecurity sont autorisés.
Nom de module : RequestFilteringModule
Description : Implémente un ensemble puissant de règles de sécurité qui rejettent une demande suspecte à un stade très précoce. Ce module est le successeur du filtre ISAPI UrlScan.DLL fourni pour IIS 5.0 et 6.0.
Sections de configuration : system.webServer/security/requestFiltering
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Si ce module est supprimé, les règles spécifiées dans la section requestFiltering ne s’appliquent plus. Des problèmes de sécurité potentiels peuvent en résulter.
Nom de module : CustomLoggingModule
Description : Implémente l’interface ILogPlugin sur IIS. ILogPlugin est une implémentation COM précédente qui permettait aux clients d’étendre la journalisation IIS. Nous vous déconseillons d’étendre IIS à l’aide de cette interface. Au lieu de cela, les clients devraient écrire un module et s’abonner à la notification RQ_LOG_REQUEST.
Sections de configuration : system.webServer/httpLogging et system.applicationhost/sites/site/logFile/customLogPluginClsid
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Un plug-in de journal personnalisé n’est plus appelé. Par exemple, la journalisation ODBC est implémentée en tant que ILogPlugin.
Nom de module : CustomErrorModule
Description : Implémente des erreurs personnalisées et la fonctionnalité d’erreur détaillée IIS.
Sections de configuration : system.webServer/httpErrors
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module IIS retourne des pages vierges avec des informations minimales lorsque des erreurs au sein du serveur en mode d’installation minimale se produisent. Des utilisateurs distants peuvent voir des informations d’erreur détaillées provenant des composants du serveur, qui peuvent entraîner la divulgation d’informations.
Nom de module : HttpLoggingModule
Description : Implémente la journalisation IIS standard en indiquant à HTTP.SYS ce qu’il convient de journaliser.
Sections de configuration : system.applicationHost/log et system.webServer/httpLogging
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module La journalisation IIS standard ne fonctionnera plus.
Nom de module : FailedRequestsTracingModule
Description : Implémente le traçage des demandes ayant échoué. Définissez et établissez des règles pour les demandes ayant échoué via la configuration.
Sections de configuration : system.webServer/tracing et system.webServer/httpTracing
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Le traçage des requêtes HTTP ne fonctionnera plus.
Nom de module : RequestMonitorModule
Description : Implémente l’interface d’état et de contrôle du runtime (RSCA) IIS. RSCA permet aux utilisateurs d’exécuter des requêtes d’informations d’exécution telles que la demande en cours d’exécution, l’état de démarrage/arrêt d’un site web ou les domaines d’application en cours d’exécution.
Sections de configuration : Aucune.
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Les outils ne peuvent pas énumérer les demandes en cours d’exécution.
Nom de module : CgiModule
Description : Implémente CGI sur IIS.
Sections de configuration : system.webServer/cgi et system.webServer/isapiCgiRestriction
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Les programmes CGI cesseront de fonctionner.
Nom de module : TracingModule
Description : Implémente le traçage ETW.
Sections de configuration : system.webServer/httpTracing
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Le traçage ETW ne fonctionnera pas si ce module est supprimé.
Nom de module : ConfigurationValidationModule
Description : Confirme que la configuration d’application ASP.NET a été migrée pour fonctionner en mode intégré.
Sections de configuration : system.webServer/Validation
Dépendances : Aucune.
Problèmes potentiels lors de la suppression de ce module Les applications qui spécifient une configuration ASP.NET héritée pour les modules et les gestionnaires ne génèrent pas d’erreurs de migration ; une nouvelle application qui n’a pas été migrée fonctionne de façon incorrecte.

Modules managés :

Nom de module : OutputCache
Description : Implémente la fonctionnalité de mise en cache de sortie ASP.NET.
Sections de configuration : system.web/caching/outputCache
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module ASP.NET ne pourra pas mettre en cache de sortie les réponses aux pages configurées pour être mises en cache de sortie.
Nom de module : Session
Description : Pour plus d’informations, consultez la documentation ASP.NET 2.0.
Sections de configuration : system.web/sessionState
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module L’état de session managé n’est pas disponible.
Nom de module : WindowsAuthentication
Description : Pour plus d’informations, consultez la documentation ASP.NET 2.0.
Sections de configuration : system.web/authentication
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module L’événement WindowsAuthentication.OnAuthenticate ne sera pas déclenché, ce qui peut empêcher l’exécution d’un code d’authentification ASP.NET personnalisé. En outre, l’utilisateur authentifié ne sera pas remplacé par l’utilisateur UNC lors du partage UNC (comportement ASP.NET hérité). Ce module n’affecte pas l’authentification NTLM/Kerberos pour les applications ASP.NET en mode intégré et il n’est pas nécessaire en dehors de l’événement WindowsAuthentication.OnAuthenticate et du comportement UNC hérité.
Nom de module : FormsAuthentication
Description : Pour plus d’informations, consultez la documentation ASP.NET 2.0.
Sections de configuration : system.web/authentication
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module La fonctionnalité d’authentification par formulaires ASP.NET ne sera pas disponible, ce qui entraîne l’impossibilité pour les clients disposant de tickets d’authentification par formulaires d’accéder aux ressources protégées.
Nom de module : DefaultAuthentication
Description : Pour plus d’informations, consultez la documentation ASP.NET 2.0.
Sections de configuration : system.web/authentication
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module Certaines fonctionnalités ASP.NET peuvent ne pas fonctionner pour les demandes anonymes si le mode d’authentification ASP.NET est l’authentification par formulaires. En outre, l’événement DefaultAuthentication.OnAuthenticate ne sera pas déclenché.
Nom de module : RoleManager
Description : Pour plus d’informations, consultez la documentation ASP.NET 2.0.
Sections de configuration : Aucune.
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module Non-disponibilité des fonctionnalités du Gestionnaire de rôles.
Nom de module : UrlAuthorization
Description : Pour plus d’informations, consultez la documentation ASP.NET 2.0. Le module UrlAuthorization natif implémente les fonctionnalités d’autorisation d’URL dans le code natif. Cela fournit une alternative native évolutive et rapide pour le module d’autorisation d’URL managée.
Sections de configuration : system.web/authorization.
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module Les règles d’autorisation ASP.NET seront ignorées, ce qui peut entraîner la divulgation d’informations et d’autres compromissions de sécurité.
Nom de module : AnonymousIdentification
Description : Pour plus d’informations, consultez la documentation ASP.NET 2.0.
Sections de configuration :
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module La fonctionnalité d’identification anonyme utilisée par le profil ASP.NET ne fonctionnera pas.
Nom de module : Profil
Description : Pour plus d’informations, consultez la documentation ASP.NET 2.0.
Sections de configuration :
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module La fonctionnalité de profil ASP.NET ne fonctionnera pas.
Nom de module : UrlMappingsModule
Description : Pour plus d’informations, consultez la documentation ASP.NET 2.0.
Sections de configuration :
Dépendances : Le module ManagedEngine doit être installé.
Problèmes potentiels lors de la suppression de ce module Les mappages d’URL ASP.NET ne fonctionneront pas.