Compartir a través de


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

  1. 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).
  2. 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.

  3. Desplácese hasta la sección Seguridad del panel Inicio y, a continuación, haga doble clic en Autenticación.

  4. En el panel Autenticación, seleccione Autenticación anónima y, a continuación, haga clic en Desactivar en el panel Acciones.
    Screenshot of the Authentication pane with Anonymous Authentication selected.

Cómo cambiar las credenciales de autenticación anónima de la cuenta de IUSR

  1. 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).
  2. 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.

  3. Desplácese hasta la sección Seguridad del panel Inicio y, a continuación, haga doble clic en Autenticación.

  4. En el panel Autenticación, seleccione Autenticación anónima y, a continuación, haga clic en Editar... en el panel Acciones.

  5. 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.
      Screenshot of setting Anonymous user identity to Application pool identity.

    • 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.
      Screenshot of a blank Set Credentials dialog.

      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.
Valor Descripción
Batch Este tipo de inicio de sesión está pensado para servidores por lotes, donde los procesos se pueden ejecutar en nombre de un usuario sin su intervención directa.

El valor numérico es 1.
ClearText Este tipo de inicio de sesión conserva el nombre y la contraseña en el paquete de autenticación, lo que permite al servidor realizar conexiones a otros servidores de red al suplantar al cliente.

El valor numérico es 3.
Interactive Este tipo de inicio de sesión está pensado para los usuarios que van a usar interactivamente el equipo.

El valor numérico es 0.
Network Este tipo de inicio de sesión está diseñado para servidores de alto rendimiento para autenticar contraseñas de texto no cifrado. Las credenciales no se almacenan en caché para este tipo de inicio de sesión.

El valor numérico es 2.
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()