IIS Modules Overview (Panoramica dei moduli IIS)
di IIS Team, Mike Volodarsky
Compatibilità
Versione | Note |
---|---|
IIS 7.0 e versioni successive | Le funzionalità descritte in questo articolo sono state introdotte in IIS 7.0. |
IIS 6.0 e versioni precedenti | Le funzionalità descritte in questo articolo non sono supportate prima di IIS 7.0. |
Introduzione
Il set di funzionalità server Web IIS 7 e versioni successive viene inserito in più di trenta moduli indipendenti.
Un modulo è una DLL Win32 (modulo nativo) o un tipo .NET 2.0 contenuto in un assembly (modulo gestito). Analogamente a un set di blocchi predefiniti, i moduli vengono aggiunti al server per fornire le funzionalità desiderate per le applicazioni. Analogamente, tutti i moduli IIS possono essere rimossi o sostituiti con moduli personalizzati sviluppati usando le API C++ di IIS o le API ASP.NET 2.0 familiari.
Questo articolo descrive le attività comuni di gestione dei moduli IIS e illustra in dettaglio ogni modulo, incluse le impostazioni di configurazione e il potenziale effetto della rimozione di un modulo nel server Web. Gli esempi di gestione vengono forniti usando gestione IIS con interfaccia grafica e lo strumento da riga di comando AppCmd .
Prerequisiti
Per seguire la procedura descritta in questo documento, è consigliabile eseguire un'installazione completa di IIS.
Nota
Non tutte le edizioni di Windows supportano tutte le funzionalità IIS disponibili. Per vedere quali funzionalità di IIS sono supportate nel sistema operativo, è necessario consultare la documentazione fornita con la versione di Windows.
Per eseguire un'installazione completa di IIS in Windows Vista, Windows 7, Windows 8, Windows 10 o Windows 11
- Fare clic sul pulsante Start e scegliere Pannello di controllo.
- Nella Pannello di controllo fare clic su Programmi.
- In Programmi e funzionalità fare clic su Attivazione o disattivazione delle funzionalità Windows.
- Nella finestra di dialogo Funzionalità di Windows espandere Internet Information Services e selezionare tutte le funzionalità.
Potrebbe essere necessario espandere alcune categorie per selezionare tutte le funzionalità di tale categoria. - Fare clic su OK.
Per eseguire un'installazione completa di IIS in Windows Server 2008/R2, Windows Server 2012/R2 o Windows Server 2016
- Aprire Ruoli di Server Manager>e selezionare Server Web (IIS).
- Controllare tutte le funzionalità in Server Web.
Introduzione ai moduli
Per aggiungere un modulo al server, è necessario eseguire due passaggi:
- Installare un modulo nel server (solo moduli nativi).
- Abilitare il modulo in un'applicazione.
Il primo passaggio registra il modulo a livello globale con il server, rendendolo disponibile all'interno di ogni processo di lavoro del server. È necessario solo per i moduli nativi a causa della natura attendibile del codice nativo ed è disponibile solo per gli amministratori.
Nota
Un modulo nativo ha accesso illimitato a qualsiasi risorsa disponibile per il processo di lavoro del server, proprio come un filtro ISAPI o un'estensione nelle versioni precedenti. A causa di questo accesso senza restrizioni, è necessario installare solo moduli nativi provenienti da un'origine attendibile.
Il secondo passaggio consente all'esecuzione del modulo all'interno di un'applicazione specifica e consente in modo efficace all'amministratore dell'applicazione di controllare le funzionalità del server abilitate per l'applicazione. Questo passaggio consente l'abilitazione di moduli nativi installati e moduli gestiti per ogni applicazione.
Per installare un modulo nativo
Per installare un modulo nativo, è necessario registrarlo con il server usando una delle opzioni seguenti:
- Modifica manuale dell'archivio di configurazione IIS. In IIS 7.5 e versioni successive è possibile usare l'Editor di configurazione in Gestione IIS.
- Utilizzo di Gestione IIS
- Uso dello strumento da riga di comando AppCmd.exe
Tutte e tre queste opzioni comportano l'aggiunta della voce del <modulo alla sezione di configurazione di IIS globalModules> , che può essere impostata solo a livello di server. Per esaminare il contenuto di questa sezione, aprire il file di configurazione radice disponibile in %windir%\system32\inetsrv\config\applicationhost.config
e cercare la stringa "<globalModules>".
Dopo un'installazione completa di IIS, questa sezione contiene una voce per ognuno dei moduli nativi forniti con IIS, specificando un nome e il percorso della DLL del modulo:
<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>
Tutti questi moduli sono descritti in dettaglio più avanti in questo documento.
Per disinstallare un modulo nativo
È possibile disinstallare un modulo nativo se tale modulo non è più in uso nel server o se si vuole sostituirlo con un altro modulo. Rimuovere la voce del modulo corrispondente dall'elenco <di configurazione globalModules> e la voce associata nell'elenco <modules>
di configurazione usando una delle opzioni seguenti:
- Modifica manuale dell'archivio di configurazione IIS. In IIS 7.5 e versioni successive è possibile usare l'editor di configurazione.
- Utilizzo di Gestione IIS
- Uso dello strumento da riga di comando AppCmd.exe
Nota
Poiché la <sezione di configurazione globalModules> può essere impostata solo a livello di server, è necessario essere un amministratore per disinstallare un modulo.
Abilitazione di un modulo per un'applicazione
Prima di poter fornire un servizio per una determinata applicazione, è necessario abilitare un modulo. Per abilitare un modulo nativo, è necessario prima installarlo nel server (vedere la sezione precedente Per installare un modulo nativo).
Un modulo gestito non richiede l'installazione e può essere abilitato direttamente per ogni applicazione. Ciò consente alle applicazioni di includere i moduli gestiti direttamente all'interno dell'applicazione registrandoli nel file web.config dell'applicazione e fornendo l'implementazione nelle directory /BIN o /App_Code.
Per abilitare un modulo, eseguire una delle operazioni seguenti:
- Modificare manualmente l'archivio di configurazione IIS, a livello globale per abilitare il modulo per tutte le applicazioni nel server o in un file web.config specifico che si trova all'interno di ogni applicazione per cui si vuole abilitare questo modulo. In IIS 7.5 o versione successiva è possibile usare l'editor di configurazione.
- Usare Gestione IIS
- Usare lo strumento da riga di comando AppCmd.exe
Tutte e tre queste opzioni aggiungono la voce del modulo alla <modules>
sezione configurazione iis, che può essere impostata sia a livello di server che di applicazione. Esaminare il contenuto di questa sezione aprendo il file di configurazione radice che si trova in %windir%\system32\inetsrv\config\applicationhost.config
e cercando la stringa "<modules>".
A differenza dei moduli nativi, un modulo gestito non richiede l'aggiunta <di una voce alla sezione di configurazione globalModules> .
Dopo un'installazione completa di IIS, la sezione di configurazione contiene una voce per ogni modulo (sia gestito che nativo) fornito con IIS. La voce indica che tutti questi moduli sono abilitati per impostazione predefinita per tutte le applicazioni nel server. Ogni voce di questa sezione specifica il nome di un modulo nativo installato in precedenza nel server oppure il nome e il tipo .NET di un modulo gestito:
<modules>
<add name="DefaultDocumentModule" />
<add name="DirectoryListingModule" />
<add name="StaticFileModule"/>
...
</modules>
Disabilitazione di un modulo in un'applicazione
Disabilitare un modulo se tale modulo non è più in uso nell'applicazione o se si vuole sostituirlo con un altro modulo. Per disabilitare un modulo, rimuovere la voce del <modules>
modulo corrispondente dalla raccolta di configurazione per una determinata applicazione in cui non si vuole eseguire questo modulo. Se il modulo è abilitato a livello di server, rimuoverlo per disabilitarlo in tutte le applicazioni nel server per impostazione predefinita. Usare una delle opzioni seguenti per rimuovere il modulo a livello di server:
- Modificare manualmente la <sezione di configurazione system.webServer>/<modules> nell'applicazione.
- Usare Gestione IIS.
- Usare lo strumento da riga di comando AppCmd.exe .
Dopo che il modulo è stato rimosso dall'applicazione, non sarà attivo in tale applicazione. Tuttavia, se il modulo è nativo, verrà comunque caricato nel processo di lavoro del server e può essere usato da altre applicazioni che non lo hanno rimosso.
Nota
La sezione di configurazione viene sbloccata per impostazione predefinita se ASP.NET è installato. Questo sblocco predefinito consente alle applicazioni di disabilitare moduli nativi e gestiti abilitati a livello globale e di aggiungere nuovi moduli gestiti. Questa sezione di configurazione può essere bloccata a livello di server per impedire completamente la modifica o impedire la rimozione di voci di modulo specifiche, se desiderate dal Amministrazione istrator.
Condizioni preliminari
Esiste un altro attributo in una voce di modulo denominata precondizione. Il motore principale di IIS usa le precondizioni per determinare quando abilitare un modulo specifico. I motivi delle prestazioni, ad esempio, potrebbero determinare che si vogliono eseguire solo moduli gestiti per le richieste che passano anche a un gestore gestito. La precondizione nell'esempio seguente (precondizione="managedHandler") abilita solo il modulo di autenticazione basata su form per le richieste gestite anche da un gestore gestito, ad esempio le richieste ai file .aspx o asmx:
<add name="FormsAuthentication"type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
Se si rimuove l'attributo precondizione="managedHandler", l'autenticazione basata su form si applica anche al contenuto non gestito dai gestori gestiti, ad esempio .html, .jpg, .doc, ma anche per le estensioni ASP (.asp) classiche o PHP (.php). Per un esempio di abilitazione dell'esecuzione di moduli ASP.NET per tutto il contenuto, vedere "How to Advantage of IIS Integrated Pipeline" (Come sfruttare i vantaggi della pipeline integrata IIS).
È anche possibile usare un collegamento per consentire l'esecuzione di tutti i moduli gestiti (ASP.NET) per tutte le richieste nell'applicazione, indipendentemente dalla precondizione "managedHandler". Per consentire l'esecuzione di tutti i moduli gestiti per tutte le richieste senza configurare ogni voce di modulo per rimuovere la precondizione "managedHandler", usare la proprietà runAllManagedModulesForAllRequests nella <modules>
sezione :
<modules runAllManagedModulesForAllRequests="true"/>
Quando si usa questa proprietà, la precondizione "managedHandler" non ha alcun effetto e tutti i moduli gestiti vengono eseguiti per tutte le richieste.
Esecuzione di query, aggiunta e rimozione di moduli tramite Gestione IIS
Gestione IIS offre un modo semplice per eseguire query, aggiungere o rimuovere moduli.
- Per aprire Gestione IIS, fare clic su Start, digitare inetmgr nella casella Di ricerca e quindi premere INVIO.
- Fare clic sul nome del computer del server IIS.
- Fare clic sull'icona Moduli nella categoria IIS .
Figura 1: Gestione IIS
Per gestire i moduli abilitati per una determinata applicazione
- Connessione a tale applicazione usando la visualizzazione albero a sinistra.
- Passare al riquadro funzionalità Moduli.
- Fare clic su Aggiungi modulo gestito per aggiungere un modulo gestito all'applicazione. L'aggiunta del modulo nativo consente solo di aggiungere un modulo già registrato a livello di server.
Per rimuovere un modulo dall'applicazione
- Fare clic sul modulo nell'elenco. L'attività Rimuovi viene visualizzata nel riquadro sinistro.
- Fare clic su Rimuovi.
Figura 2: Elenco moduli in Gestione IIS
Gestione dei moduli dalla riga di comando
Per gestire rapidamente i moduli dalla riga di comando o dalle attività di gestione dei moduli script, usare lo strumento da riga di comando AppCmd.exe .
Per installare un modulo usando AppCmd.exe
Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.
Appcmd.exe install module /name:MODULE_NAME /image:PATH_TO_DLL
Nota
L'installazione di un modulo nativo lo abilita automaticamente a livello di server.
Ad esempio, il comando seguente installa il modulo Documento predefinito.
%windir%\system32\inetsrv\appcmd.exe install module /name:DefaultDocumentModule /image:%windir%\system32\inetsrv\defdoc.dll
Se si esegue il comando in un computer in cui il modulo è già caricato, verrà visualizzato un messaggio di errore simile al seguente:
ERROR (message:Failed to add duplicate collection element "DefaultDocumentModule".)
Per disinstallare un modulo usando AppCmd.exe
Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.
Appcmd.exe uninstall module MODULE_NAME
Nota
La disinstallazione di un modulo la disabilita automaticamente a livello di server.
Ad esempio, il comando seguente disinstalla il modulo Documento predefinito. Questo comando viene fornito solo come esempio. È consigliabile eseguirlo solo in un server di test.
%windir%\system32\inetsrv\appcmd.exe uninstall module DefaultDocumentModule
Per elencare i moduli abilitati per un'applicazione o a livello globale
Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.
Appcmd.exe list modules [/app.name:APPLICATION_NAME]
Ad esempio, il comando seguente elenca i moduli abilitati per il sito Web predefinito.
%windir%\system32\inetsrv\appcmd.exe list modules /app.name:"Default Web Site"
Questo comando elenca i moduli installati a livello globale.
%windir%\system32\inetsrv\appcmd.exe list modules
Per abilitare un modulo per una particolare applicazione o a livello globale
Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.
Appcmd.exe add module /name:MODULE_NAME /type:MGD_TYPE
Ad esempio, il comando seguente aggiunge il modulo Autenticazione basata su form al sito Web predefinito.
%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule /app.name:"Default Web Site"
Questo comando aggiunge il modulo di autenticazione basata su form a livello globale.
%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule
Per disabilitare un modulo per una particolare applicazione o a livello globale
Al prompt dei comandi digitare il comando seguente, sostituendo i valori in corsivo con i valori per il modulo nel computer.
Appcmd.exe delete module MODULE_NAME [/app.name:APPLICATION_NAME]
Ad esempio, il comando seguente rimuove il modulo Autenticazione basata su form dal sito Web predefinito.
%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication /app.name:"Default Web Site"
Questo comando rimuove il modulo di autenticazione basata su form a livello globale.
%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication
Per ottenere altre informazioni sulla sintassi per ognuno dei comandi di Cmd.exe app
Per visualizzare i comandi supportati nell'oggetto Module, digitare il comando seguente:
Appcmd.exe module /?
Per visualizzare l'utilizzo di ogni comando, digitare il comando seguente:
Appcmd.exe install module /?Appcmd add module /?
informazioni di riferimento sul modulo
Il server IIS è pronto per la personalizzazione. Leggere attentamente l'elenco seguente per evitare effetti collaterali, perdita di funzionalità o rimozione delle funzionalità di sicurezza.
Moduli di utilità
Questi moduli non forniscono servizi di richiesta, ma supportano invece il motore del server con il relativo funzionamento interno.
Nome modulo: | UriCacheModule |
---|---|
Descrizione: | Implementa una cache generica per lo stato del server specifico dell'URL, ad esempio la configurazione. Con questo modulo, il server legge solo la configurazione per la prima richiesta di un URL specifico e la riutilizza nelle richieste successive fino a quando non cambia. |
Sezioni di configurazione: | Nessuno. |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Perdita di prestazioni dovuta allo stato memorizzato nella cache per ogni recupero url per ogni richiesta. |
Nome modulo: | FileCacheModule |
Descrizione: | Memorizza nella cache gli handle di file per i file aperti dal motore server e dai moduli. |
Sezioni di configurazione: | Nessuno. |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Perdita di prestazioni. Se gli handle di file non vengono memorizzati nella cache, i file devono essere aperti per ogni richiesta. |
Nome modulo: | TokenCacheModule |
Descrizione: | Memorizza nella cache i token di sicurezza di Windows per schemi di autenticazione basati su password (autenticazione anonima, autenticazione di base, autenticazione client IIS). |
Sezioni di configurazione: | Nessuno. |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Perdita di prestazioni. Gli utenti devono essere connessi per ogni richiesta se il token non è memorizzato nella cache. Un impatto significativo sulle prestazioni può risultare. Ad esempio, se una pagina HTML protetta da password fa riferimento a 50 immagini protette, 51 chiamate di accessoUtente al database dell'account locale, o peggio, a un controller di dominio disattivato, comportano un problema di prestazioni. |
Nome modulo: | ManagedEngine |
Descrizione: | Il motore gestito ha una posizione speciale all'interno di tutti gli altri moduli. È responsabile della fornitura dell'integrazione IIS per l'associazione al runtime di ASP.NET. |
Sezioni di configurazione: | |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | ASP.NET'integrazione verrà disabilitata. Nessuno dei moduli gestiti dichiarati nei <modules> gestori o ASP.NET dichiarati nella <handlers> sezione viene chiamato quando il pool di applicazioni viene eseguito in modalità integrata. |
Nome modulo: | HttpCacheModule |
Descrizione: | HttpCacheModule implementa la cache di output IIS e anche la logica per la memorizzazione nella cache degli elementi nella cache http.sys. Impostare le dimensioni della cache, i profili della cache di output e così via tramite la configurazione. |
Sezioni di configurazione: | System.webServer/caching |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Il contenuto non verrà più memorizzato nella cache in modalità kernel. I profili della cache vengono ignorati. La rimozione di HttpCacheModule avrà probabilmente effetti negativi sulle prestazioni e sull'utilizzo delle risorse. |
Nome modulo: | DynamicCompressionModule |
Descrizione: | Implementa la compressione in memoria del contenuto dinamico. |
Sezioni di configurazione: | system.webServer/httpCompression e system.webServer/urlCompression. |
Dipendenze: | Non ci saranno dipendenze perché la compressione dinamica è disattivata per impostazione predefinita. |
Nome modulo: | StaticCompressionModule |
Descrizione: | Implementa la compressione (in memoria e persistente nel file system) del contenuto statico. |
Sezioni di configurazione: | system.webServer/httpCompression e system.webServer/urlCompression |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Potenziale saturazione della larghezza di banda a causa del contenuto non compresso inviato al client. |
Nome modulo: | DefaultDocumentModule |
Descrizione: | Implementa la funzionalità predefinita del documento. Le richieste fornite con un oggetto finale/verranno reindirizzate a un documento nell'elenco di documenti predefinito. |
Sezioni di configurazione: | system.webServer/defaultDocument |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Le richieste a /, ad esempio http://localhost/ , restituiscono un errore 404. Se è abilitata una directoryBrowsing, viene generato un elenco di directory. |
Nome modulo: | DirectoryListingModule |
Descrizione: | Implementa la funzionalità di esplorazione della directory. |
Sezioni di configurazione: | system.webServer/directoryBrowse |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Se il modulo di documento predefinito e il modulo directoryListing gestiscono una richiesta per /, viene restituita una risposta vuota. |
Nome modulo: | ProtocolSupportModule |
Descrizione: | Implementa intestazioni di risposta personalizzate e di reindirizzamento. Implementa i verbi HTTP di traccia e opzioni. Implementa il supporto che consente o disattiva il supporto keep-alive tramite la configurazione. |
Sezioni di configurazione: | system.webServer/httpProtocol |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Le richieste TRACE o OPTIONS restituiscono un messaggio di errore "Metodo 405 non consentito". |
Nome modulo: | HttpRedirectionModule |
Descrizione: | Implementa la funzionalità di reindirizzamento. |
Sezioni di configurazione: | system.webServer/httpRedirect |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Potenziale problema di sicurezza se le risorse sono protette dal reindirizzamento. Quando il modulo Reindirizzamento viene rimosso, il contenuto diventa nuovamente accessibile. |
Nome modulo: | ServerSideIncludeModule |
Descrizione: | Implementa il lato server include. Questo modulo viene mappato come gestore, in esecuzione solo per le richieste che terminano con .stm, .shtm e .shtml. |
Sezioni di configurazione: | system.webServer/serverSideInclude |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Il modulo del file statico handle.stm, i file con estensione shtm e shtml. Se questo modulo ha un mimeMap per queste estensioni, i file diventano serviti come testo. Si noti, tuttavia, che non si tratta dell'impostazione predefinita. |
Nome modulo: | StaticFileModule |
Descrizione: | Invia file statici con estensione .html, .jpg e molti altri. La raccolta di configurazione staticContent/mimeMap determina l'elenco delle estensioni di file. |
Sezioni di configurazione: | system.webServer/staticContent |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | I file statici non vengono più gestiti. Le richieste di file restituiscono un errore 404 Non trovato che indica che non è stato trovato alcun gestore corrispondente. |
Nome modulo: | AnonymousAuthenticationModule |
Descrizione: | Implementa l'autenticazione anonima. Questo modulo genera l'oggetto HttpUser se un URL è configurato per consentire l'autenticazione anonima. |
Sezioni di configurazione: | system.webServer/security/authentication/anonymousAuthentication |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Un errore 401.2 genera se non è presente alcuna autenticazione che popola l'oggetto HttpUser. |
Nome modulo: | CertificateMappingAuthenticationModule |
Descrizione: | Mappe certificati client SSL a un account Active Directory (Mapping certificati Active Directory). |
Sezioni di configurazione: | system.webServer/security/authentication/clientCertificateMappingAuthentication |
Dipendenze: | Ssl deve essere configurato per il funzionamento di questo modulo. Il computer IIS deve anche essere membro di un dominio di Active Directory. |
Potenziali problemi durante la rimozione di questo modulo | Le richieste sono in genere consentite se viene usato il mapping dei certificati Active Directory per proteggere una directory; in questo caso, il modulo viene rimosso. |
Nome modulo: | BasicAuthenticationModule |
Descrizione: | implementa l'autenticazione HTTP Basic descritta in RFC 2617. |
Sezioni di configurazione: | system.webServer/security/authentication/basicAuthentication |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Un errore 401.2 genera se non è presente alcuna autenticazione che popola l'oggetto HttpUser. |
Nome modulo: | Windowsauthenticationmodule |
Descrizione: | Implementa autenticazione di Windows (NTLM o Negotiate (Kerberos)). |
Sezioni di configurazione: | system.webServer/security/authentication/windowsAuthentication |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Se non è presente alcuna autenticazione che popola l'oggetto HttpUser, viene generato un errore 401.2. |
Nome modulo: | DigestAuthenticationModule |
Descrizione: | Implementa l'autenticazione digest descritta in RFC 2617. |
Sezioni di configurazione: | system.webServer/security/authentication/digestAuthentication |
Dipendenze: | Il server IIS deve far parte di un dominio di Active Directory. |
Potenziali problemi durante la rimozione di questo modulo | È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Se non è presente alcuna autenticazione che popola l'oggetto HttpUser, viene generato un errore 401.2. |
Nome modulo: | IISCertificateMappingAuthenticationModule |
Descrizione: | Implementa il mapping dei certificati IIS. Mappe certificati client SSL a un account Di Windows. Contrariamente al mapping dei certificati Active Directory, le credenziali utente e le regole di mapping vengono archiviate nell'archivio di configurazione IIS |
Sezioni di configurazione: | system.webServer/iisClientCertificateMappingAuthentication |
Dipendenze: | SSL con il requisito di ricevere i certificati client deve essere configurato affinché questo modulo funzioni. |
Potenziali problemi durante la rimozione di questo modulo | È necessario configurare almeno un modulo di autenticazione. Il core del server IIS controlla dopo la fase di autenticazione se l'oggetto HttpUser viene popolato. L'oggetto HttpUser è una struttura di dati IIS. Un errore 401.2 genera se non è presente alcuna autenticazione che popola l'oggetto HttpUser. |
Nome modulo: | Urlauthorizationmodule |
Descrizione: | Implementa l'autorizzazione in base alle regole di configurazione. |
Sezioni di configurazione: | system.webServer/security/authorization |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Regole di autorizzazione che non vengono più valutate per il contenuto protetto. Il contenuto che doveva essere protetto potrebbe essere servito. |
Nome modulo: | IsapiModule |
Descrizione: | Implementa la funzionalità dell'estensione ISAPI. |
Sezioni di configurazione: | system.webServer/isapiCgiRestriction |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Le estensioni ISAPI mappate nella <handlers> sezione (modules="IsapiModule") o in modo esplicito chiamate estensioni ISAPI non funzioneranno più. |
Nome modulo: | IsapiFilterModule |
Descrizione: | Implementa la funzionalità di filtro ISAPI. |
Sezioni di configurazione: | system.webServer/isapiFilters |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | I filtri ISAPI spesso implementano applicazioni di funzionalità basate su . Esempi sono ASP.NET o SharePoint. ASP.NET, ad esempio, richiede il aspnet_filter.dll per proteggere il contenuto sensibile e riscrivere gli URL. La rimozione di questo modulo impedisce a IIS di caricare filtri ISAPI. Le applicazioni potrebbero smettere di funzionare o potrebbero essere esposte contenuti sensibili. |
Nome modulo: | IpRestrictionModule |
Descrizione: | Implementa uno schema di autorizzazione basato sull'indirizzo IPv4 della richiesta client. |
Sezioni di configurazione: | system.webServer/security/ipSecurity |
Dipendenze: | È necessario installare lo stack IPv4. |
Potenziali problemi durante la rimozione di questo modulo | I client con indirizzi IP nell'elenco ipSecurity saranno consentiti. |
Nome modulo: | RequestFilteringModule |
Descrizione: | Implementa un set avanzato di regole di sicurezza che rifiutano una richiesta sospetta in una fase molto precoce. Questo modulo è il successore del filtro ISAPI UrlScan.DLL fornito per IIS 5.0 e 6.0. |
Sezioni di configurazione: | system.webServer/security/requestFiltering |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Se questo modulo viene rimosso, le regole specificate nella sezione requestFiltering non si applicano più. Possono verificarsi potenziali problemi di sicurezza. |
Nome modulo: | CustomLoggingModule |
Descrizione: | Implementa l'interfaccia ILogPlugin sopra IIS. ILogPlugin è un'implementazione COM precedente che consente ai clienti di estendere la registrazione IIS. Non è consigliabile estendere IIS usando questa interfaccia. I clienti devono invece scrivere un modulo e sottoscrivere la notifica di RQ_LOG_REQUEST. |
Sezioni di configurazione: | system.webServer/httpLogging e system.applicationhost/sites/site/logFile/customLogPluginClsid |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Non verrà più chiamato un plug-in di log personalizzato. Ad esempio, la registrazione ODBC viene implementata come ILogPlugin. |
Nome modulo: | CustomErrorModule |
Descrizione: | Implementa errori personalizzati e la funzionalità di errore dettagliata di IIS. |
Sezioni di configurazione: | system.webServer/httpErrors |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | IIS restituisce pagine vuote con informazioni minime quando si verificano errori all'interno del server principale. Gli utenti remoti possono visualizzare informazioni dettagliate sugli errori provenienti dai componenti del server che possono causare la divulgazione di informazioni. |
Nome modulo: | HttpLoggingModule |
Descrizione: | Implementa la registrazione IIS standard indicando HTTP.SYS cosa registrare. |
Sezioni di configurazione: | system.applicationHost/log e system.webServer/httpLogging |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | La registrazione IIS standard non funzionerà più. |
Nome modulo: | FailedRequestsTracingModule |
Descrizione: | Implementa la traccia delle richieste non riuscite. Definire e impostare regole per le richieste non riuscite tramite la configurazione. |
Sezioni di configurazione: | system.webServer/tracing e system.webServer/httpTracing |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | La traccia delle richieste HTTP non funzionerà più. |
Nome modulo: | RequestMonitorModule |
Descrizione: | Implementa lo stato di esecuzione e l'interfaccia di controllo (RSCA) di IIS. RSCA consente agli utenti di eseguire query per informazioni in fase di esecuzione, ad esempio l'esecuzione di una richiesta, lo stato di avvio/arresto di un sito Web o l'esecuzione di domini applicazione attualmente in esecuzione. |
Sezioni di configurazione: | Nessuno. |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Gli strumenti non potranno enumerare le richieste attualmente in esecuzione. |
Nome modulo: | CgiModule |
Descrizione: | Implementa CGI sopra IIS. |
Sezioni di configurazione: | system.webServer/cgi e system.webServer/isapiCgiRestriction |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | I programmi CGI smetteranno di funzionare. |
Nome modulo: | TracingModule |
Descrizione: | Implementa la traccia ETW. |
Sezioni di configurazione: | system.webServer/httpTracing |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | La traccia ETW non funzionerà se questo modulo viene rimosso. |
Nome modulo: | ConfigurationValidationModule |
Descrizione: | Verifica che ASP.NET configurazione dell'applicazione sia stata migrata per funzionare in modalità integrata. |
Sezioni di configurazione: | system.webServer/Validation |
Dipendenze: | Nessuno. |
Potenziali problemi durante la rimozione di questo modulo | Le applicazioni che specificano la configurazione legacy ASP.NET per i moduli e i gestori non genereranno errori di migrazione; Una nuova applicazione di cui non è stata eseguita la migrazione funzionerà in modo non corretto. |
Moduli gestiti:
Nome modulo: | Outputcache |
---|---|
Descrizione: | Implementa la funzionalità di memorizzazione nella cache dell'output ASP.NET. |
Sezioni di configurazione: | system.web/caching/outputCache |
Dipendenze: | È necessario installare il modulo ManagedEngine. |
Potenziali problemi durante la rimozione di questo modulo | ASP.NET non sarà possibile restituire le risposte della cache alle pagine configurate per l'output memorizzate nella cache. |
Nome modulo: | Sessione |
Descrizione: | Per informazioni dettagliate, vedere la documentazione di ASP.NET 2.0 |
Sezioni di configurazione: | system.web/sessionState |
Dipendenze: | Il modulo ManagedEngine deve essere installato |
Potenziali problemi durante la rimozione di questo modulo | Lo stato della sessione gestita non è disponibile. |
Nome modulo: | Windowsauthentication |
Descrizione: | Per informazioni dettagliate, vedere ASP.NET documentazione 2.0. |
Sezioni di configurazione: | system.web/authentication |
Dipendenze: | Il modulo ManagedEngine deve essere installato |
Potenziali problemi durante la rimozione di questo modulo | Non verrà generato l'evento WindowsAuthentication.OnAuthenticate, che potrebbe impedire l'esecuzione di codice di autenticazione ASP.NET personalizzato. Inoltre, l'utente autenticato non verrà sostituito con l'utente UNC quando si trova nella condivisione UNC (comportamento legacy ASP.NET). Questo modulo non influisce sull'autenticazione NTLM/Kerberos per le applicazioni ASP.NET in modalità integrata e non è obbligatorio all'esterno dell'evento WindowsAuthentication.OnAuthenticate e del comportamento UNC legacy. |
Nome modulo: | Formsauthentication |
Descrizione: | Per informazioni dettagliate, vedere ASP.NET documentazione 2.0. |
Sezioni di configurazione: | system.web/authentication |
Dipendenze: | Il modulo ManagedEngine deve essere installato |
Potenziali problemi durante la rimozione di questo modulo | ASP.NET funzionalità di autenticazione basata su moduli non sarà disponibile, con conseguente mancato accesso alle risorse protette da parte dei client con ticket di autenticazione basata su form. |
Nome modulo: | DefaultAuthentication |
Descrizione: | Per informazioni dettagliate, vedere ASP.NET documentazione 2.0. |
Sezioni di configurazione: | system.web/authentication |
Dipendenze: | Il modulo ManagedEngine deve essere installato |
Potenziali problemi durante la rimozione di questo modulo | Alcune funzionalità di ASP.NET potrebbero non funzionare per le richieste anonime se ASP.NET modalità di autenticazione è Forms. Inoltre, l'evento DefaultAuthentication.OnAuthenticate non verrà generato. |
Nome modulo: | Rolemanager |
Descrizione: | Per informazioni dettagliate, vedere ASP.NET documentazione 2.0. |
Sezioni di configurazione: | Nessuno. |
Dipendenze: | È necessario installare il modulo ManagedEngine. |
Potenziali problemi durante la rimozione di questo modulo | Funzionalità di Gestione ruoli non disponibile. |
Nome modulo: | UrlAuthorization |
Descrizione: | Per informazioni dettagliate, vedere ASP.NET documentazione 2.0. Il modulo urlAuthorization nativo implementa la funzionalità di autorizzazione URL nel codice nativo. In questo modo è disponibile un'alternativa nativa scalabile e veloce per il modulo di autorizzazione dell'URL gestito. |
Sezioni di configurazione: | system.web/authorization. |
Dipendenze: | È necessario installare il modulo ManagedEngine. |
Potenziali problemi durante la rimozione di questo modulo | ASP.NET regole di autorizzazione verranno ignorate, con conseguente divulgazione di informazioni e altre compromissioni della sicurezza. |
Nome modulo: | Anonymousidentification |
Descrizione: | Per informazioni dettagliate, vedere ASP.NET documentazione 2.0. |
Sezioni di configurazione: | |
Dipendenze: | È necessario installare il modulo ManagedEngine. |
Potenziali problemi durante la rimozione di questo modulo | La funzionalità di identificazione anonima usata dal profilo di ASP.NET non funzionerà. |
Nome modulo: | Profilo |
Descrizione: | Per informazioni dettagliate, vedere ASP.NET documentazione 2.0. |
Sezioni di configurazione: | |
Dipendenze: | È necessario installare il modulo ManagedEngine. |
Potenziali problemi durante la rimozione di questo modulo | La funzionalità profilo ASP.NET non funzionerà. |
Nome modulo: | UrlMappingsModule |
Descrizione: | Per informazioni dettagliate, vedere ASP.NET documentazione 2.0. |
Sezioni di configurazione: | |
Dipendenze: | È necessario installare il modulo ManagedEngine. |
Potenziali problemi durante la rimozione di questo modulo | I mapping url ASP.NET non funzioneranno. |