Autenticazione <anonima>
Panoramica
L'elemento <anonymousAuthentication>
controlla il modo in cui Internet Information Services (IIS) 7 elabora le richieste dagli utenti anonimi. È possibile modificare l'elemento per disabilitare l'autenticazione <anonymousAuthentication>
anonima oppure configurare Internet Information Services (IIS) per usare un account utente personalizzato per elaborare le richieste anonime.
L'autenticazione anonima consente agli utenti di accedere alle aree pubbliche del sito Web o FTP senza richiedere un nome utente o una password. Per impostazione predefinita, l'account IUSR, introdotto in IIS 7.0 e sostituisce l'account di IUSR_computername IIS 6.0, viene usato per consentire l'accesso anonimo. Un'applicazione è un raggruppamento di file che fornisce contenuto o fornisce servizi tramite protocolli, ad esempio HTTP. Quando si crea un'applicazione in IIS, il percorso dell'applicazione diventa parte dell'URL del sito.
Per impostazione predefinita, IIS 7 usa l'autenticazione anonima. È necessario disabilitare l'autenticazione anonima per qualsiasi sito Web, applicazione Web o servizio Web per cui si desidera abilitare altri metodi di autenticazione, ad esempio Basic o autenticazione di Windows.
Compatibilità
Versione | Note |
---|---|
IIS 10.0 | L'elemento <anonymousAuthentication> non è stato modificato in IIS 10.0. |
IIS 8,5 | L'elemento <anonymousAuthentication> non è stato modificato in IIS 8.5. |
IIS 8,0 | L'elemento <anonymousAuthentication> non è stato modificato in IIS 8.0. |
IIS 7,5 | L'elemento <anonymousAuthentication> non è stato modificato in IIS 7.5. |
IIS 7.0 | L'elemento <anonymousAuthentication> è stato introdotto in IIS 7.0. |
IIS 6.0 | L'elemento <anonymousAuthentication> sostituisce le proprietà metabase di IIS 6.0 AuthFlags, AnonymousUserName e AnonymousUserPassword. |
Installazione
L'elemento <anonymousAuthentication>
è incluso nell'installazione predefinita di IIS 7.
Procedure
Come disabilitare l'autenticazione anonima
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Nella barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Nella barra delle applicazioni fare clic su Start e quindi fare clic su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni espandere il nome del server, espandere Siti e passare al livello nel riquadro gerarchia da configurare e quindi fare clic sul sito Web o sull'applicazione Web.
Scorrere fino alla sezione Sicurezza nel riquadro Home e quindi fare doppio clic su Autenticazione.
Nel riquadro Autenticazione selezionare Autenticazione anonima e quindi fare clic su Disabilita nel riquadro Azioni .
Come modificare le credenziali di autenticazione anonima dall'account IUSR
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Nella barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Nella barra delle applicazioni fare clic su Start e quindi fare clic su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni espandere il nome del server, espandere Siti e passare al livello nel riquadro gerarchia da configurare e quindi fare clic sul sito Web o sull'applicazione Web.
Scorrere fino alla sezione Sicurezza nel riquadro Home e quindi fare doppio clic su Autenticazione.
Nel riquadro Autenticazione selezionare Autenticazione anonima e quindi fare clic su Modifica nel riquadro Azioni .
Nella finestra di dialogo Modifica credenziali di autenticazione anonima eseguire una delle operazioni seguenti:
Selezionare Identità del pool di applicazioni per usare il set di identità per il pool di applicazioni e quindi fare clic su OK.
Fare clic su Imposta... e quindi nella finestra di dialogo Imposta credenziali immettere il nome utente per l'account nella casella Nome utente, immettere la password per l'account nelle caselle Password e Conferma password , fare clic su OK e quindi fare di nuovo clic su OK .
Nota
Se si usa questa procedura, concedere solo i privilegi minimi del nuovo account nel computer server IIS.
Configurazione
L'elemento <anonymousAuthentication>
è configurabile a livello di sito e applicazione nel file di Web.config.
Attributi
Attributo | Descrizione | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
enabled |
Attributo booleano facoltativo. Specifica se l'autenticazione anonima è abilitata. Il valore predefinito è true . |
||||||||||
logonMethod |
Attributo enumerazione facoltativo. L'attributo logonMethod può essere uno dei valori possibili seguenti. Il valore predefinito è ClearText .
|
||||||||||
password |
Attributo String facoltativo. Specifica la password per l'autenticazione anonima. Nota: Per evitare di archiviare stringhe password non crittografate nei file di configurazione, usare sempre AppCmd.exe o Gestione IIS per immettere le password. Se si usano questi strumenti di gestione, le stringhe password verranno crittografate automaticamente prima che vengano scritte nei file di configurazione XML. Ciò offre una migliore sicurezza delle password rispetto all'archiviazione di password non crittografate. |
||||||||||
username |
Attributo String facoltativo. Specifica il nome utente per l'autenticazione anonima. Se si lascia vuoto questo valore, ovvero username="", l'autenticazione anonima usa l'identità del pool di applicazioni per autenticare gli utenti anonimi. Il valore predefinito è IUSR . |
Elementi figlio
Nessuno.
Esempio di configurazione
Nell'esempio di configurazione seguente viene configurata l'autenticazione anonima per un sito Web IIS 7 o un'applicazione Web per l'uso di un account locale nel server Web. IIS 7 usa automaticamente la crittografia AES per crittografare la password.
<security> <authentication>
<anonymousAuthentication
userName="User1"
password="[enc:AesProvider:57686f6120447564652c2049495320526f636b73:enc]" />
</authentication>
</security>
Codice di esempio
Gli esempi seguenti abilitano l'autenticazione anonima e modificano il nome utente e la password predefiniti usati per l'autenticazione anonima in un account denominato IUSR e una password di P@ssw0rd.
AppCmd.exe
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:"True" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /userName:"IUSR" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /password:"P@ssw0rd" /commit:apphost
Nota
È necessario assicurarsi di impostare il parametro commit su apphost
quando si usa AppCmd.exe per configurare queste impostazioni. In questo modo le impostazioni di configurazione vengono confermate nella sezione relativa al percorso appropriato nel file ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using (ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection anonymousAuthenticationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso");
anonymousAuthenticationSection["enabled"] = true;
anonymousAuthenticationSection["userName"] = @"IUSR";
anonymousAuthenticationSection["password"] = @"P@ssw0rd";
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim anonymousAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso")
anonymousAuthenticationSection("enabled") = True
anonymousAuthenticationSection("userName") = "IUSR"
anonymousAuthenticationSection("password") = "P@ssw0rd"
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
anonymousAuthenticationSection.Properties.Item("enabled").Value = true;
anonymousAuthenticationSection.Properties.Item("userName").Value = "IUSR";
anonymousAuthenticationSection.Properties.Item("password").Value = "P@ssw0rd";
adminManager.CommitChanges();
VBScript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
anonymousAuthenticationSection.Properties.Item("enabled").Value = True
anonymousAuthenticationSection.Properties.Item("userName").Value = "IUSR"
anonymousAuthenticationSection.Properties.Item("password").Value = "P@ssw0rd"
adminManager.CommitChanges()