Autenticación anónima <anonymousAuthentication>
Información general
El elemento <anonymousAuthentication>
controla cómo Internet Information Services (IIS) 7 procesa las solicitudes de usuarios anónimos. Puede modificar el elemento <anonymousAuthentication>
para deshabilitar la autenticación anónima, o puede configurar Internet Information Services (IIS) para usar una cuenta de usuario personalizada para procesar solicitudes anónimas.
La autenticación anónima permite a los usuarios el acceso a las áreas públicas del sitio web o FTP sin que se les exija que proporcionen un nombre de usuario o una contraseña. De forma predeterminada, la cuenta IUSR, que se introdujo en IIS 7.0 y reemplaza la cuenta de IUSR_computername de IIS 6.0, se usa para permitir el acceso anónimo. Una aplicación es una agrupación de archivos que entrega contenido o proporciona servicios a través de protocolos, como HTTP. Al crear una aplicación en IIS, la ruta de acceso de la aplicación se convierte en parte de la dirección URL del sitio.
De forma predeterminada, IIS 7 usa la autenticación anónima. Debe deshabilitar la autenticación anónima para cualquier sitio web, aplicación web o servicio web para el que quiera habilitar otros métodos de autenticación, como la autenticación Básica o Windows.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <anonymousAuthentication> no se modificó en IIS 10.0. |
IIS 8.5 | El elemento <anonymousAuthentication> no se modificó en IIS 8.5. |
IIS 8.0 | El elemento <anonymousAuthentication> no se modificó en IIS 8.0. |
IIS 7.5 | El elemento <anonymousAuthentication> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <anonymousAuthentication> se introdujo en IIS 7.0. |
IIS 6,0 | El elemento <anonymousAuthentication> reemplaza a las propiedades de metabase AuthFlags, AnonymousUserName y AnonymousUserPassword de IIS 6.0. |
Configuración
El elemento <anonymousAuthentication>
se incluye en la instalación predeterminada de IIS 7.
Procedimientos
Cómo deshabilitar la autenticación anónima
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
- Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones, expanda el nombre del servidor, expanda Sitios y vaya al nivel del panel de jerarquía que desea configurar y, a continuación, haga clic en el sitio web o la aplicación web.
Desplácese hasta la sección Seguridad del panel Inicio y, a continuación, haga doble clic en Autenticación.
En el panel Autenticación, seleccione Autenticación anónima y, a continuación, haga clic en Desactivar en el panel Acciones.
Cómo cambiar las credenciales de autenticación anónima de la cuenta de IUSR
Abra el Administrador de Internet Information Services (IIS):
Si usa Windows Server 2012 o Windows Server 2012 R2:
- En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
Si usa Windows 8 o Windows 8.1:
- Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
- En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
Si usa Windows Server 2008 o Windows Server 2008 R2:
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Si usa Windows Vista o Windows 7:
- En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
- Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
En el panel Conexiones, expanda el nombre del servidor, expanda Sitiosy vaya al nivel del panel de jerarquía que desea configurar y, a continuación, haga clic en el sitio web o la aplicación web.
Desplácese hasta la sección Seguridad del panel Inicio y, a continuación, haga doble clic en Autenticación.
En el panel Autenticación, seleccione Autenticación anónima y, a continuación, haga clic en Editar... en el panel Acciones.
En el cuadro de diálogo Modificar credenciales de autenticación anónima, realice una de las siguientes acciones:
Seleccione Identidad del grupo de aplicaciones para usar el conjunto de identidades del grupo de aplicaciones y haga clic en Aceptar.
Haga clic en Establecer... y, después, en el cuadro de diálogo Establecer credenciales, escriba el nombre de usuario de la cuenta en el cuadro Nombre de usuario, escriba la contraseña de la cuenta en los cuadros Contraseña y Confirmar contraseña, Haga clic en Aceptar y, a continuación, haga clic en Aceptar de nuevo.
Nota:
Si usa este procedimiento, conceda solo los privilegios mínimos de la nueva cuenta en el equipo servidor IIS.
Configuración
El elemento <anonymousAuthentication>
se puede configurar en el nivel de sitio y aplicación en el archivo Web.config.
Atributos
Atributo | Descripción | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
enabled |
Atributo Boolean opcional. Especifica si la autenticación anónima está habilitada. El valor predeterminado es true . |
||||||||||
logonMethod |
Atributo enum opcional. El atributo logonMethod puede ser uno de los siguientes valores posibles. El valor predeterminado es ClearText .
|
||||||||||
password |
Atributo String opcional. Especifica la contraseña para la autenticación anónima. Nota: Para evitar almacenar cadenas de contraseña sin cifrar en archivos de configuración, use siempre AppCmd.exe o el Administrador de IIS para escribir contraseñas. Si usa estas herramientas de administración, las cadenas de contraseña se cifrarán automáticamente antes de que se escriban en los archivos de configuración XML. Esto proporciona una mejor seguridad de contraseña que almacenar contraseñas sin cifrar. |
||||||||||
username |
Atributo String opcional. Especifica el nombre de usuario para la autenticación anónima. Si deja este valor en blanco (es decir, username=""), la autenticación anónima usa la identidad del grupo de aplicaciones para autenticar usuarios anónimos. El valor predeterminado es IUSR . |
Elementos secundarios
Ninguno.
Ejemplo de configuración
En el ejemplo de configuración siguiente se configura la autenticación anónima para un sitio web o una aplicación web de IIS 7 para usar una cuenta local en el servidor web. (IIS 7 usa automáticamente el cifrado AES para cifrar la contraseña).
<security> <authentication>
<anonymousAuthentication
userName="User1"
password="[enc:AesProvider:57686f6120447564652c2049495320526f636b73:enc]" />
</authentication>
</security>
Código de ejemplo
En los ejemplos siguientes se habilita la autenticación anónima y se cambia el nombre de usuario y la contraseña predeterminados usados para la autenticación anónima a una cuenta denominada IUSR y una contraseña de 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:
Debe asegurarse de establecer el parámetro de confirmación en apphost
cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()