Compartir a través de


Seguridad <security>

Información general

El grupo de secciones<security> reside en la sección <system.webServer> y contiene todos los elementos que configuran las opciones de seguridad en un servidor de Internet Information Services (IIS) 7. Estos incluyen la configuración de capa de sockets seguros (SSL, por sus siglas en inglés) de un sitio, aplicaciones que dependen de los archivos binarios de Common Gateway Interface (CGI) o la API de Internet Server (ISAPI), opciones de configuración de todos los módulos de autenticación instalados en el servidor y configuración de reglas de autorización. También incluye la seguridad IP, opciones de configuración de filtrado de solicitudes y una lista de restricciones de ISAPI y CGI en el servidor.

La configuración del grupo de secciones <security> se puede combinar para obtener mayor seguridad. Por ejemplo:

  • El elemento <authentication> define secciones de configuración para todos los tipos de autenticación de usuario que puede instalar y habilitar en el servidor IIS 7, mientras que el elemento <authorization> configura las cuentas de usuario que pueden acceder al sitio o aplicación. <authorization> se usa en combinación con <authentication> para proteger el acceso al contenido del servidor. El elemento <access> configura las opciones SSL del servidor web, sitio o aplicación.
  • El elemento <isapiCgiRestriction> especifica una lista de aplicaciones CGI e ISAPI que se pueden ejecutar en IIS 7. Este elemento le permite asegurarse de que los usuarios malintencionados no puedan copiar archivos binarios CGI e ISAPI no autorizados en el servidor web ni ejecutarlos. El elemento <applicationDependencies> especifica una aplicación con dependencias de una o varias restricciones de extensión de CGI o ISAPI. Puede combinar el elemento <isapiCgiRestriction> con <applicationDependencies> para asegurarse de que las restricciones de extensión de CGI o ISAPI se establecen correctamente.

Nota:

Para mejorar la seguridad, tanto Windows Vista como Windows Server 2008 no instalan IIS 7 de forma predeterminada. Al instalar IIS 7, IIS se configura automáticamente para solo ofrecer contenido estático, entre este, archivos HTML o de imagen. Debe instalar manualmente cualquier otro servicio de rol y características necesarios para los sitios web y aplicaciones. Esta estrategia reduce considerablemente la superficie expuesta a ataques de IIS 7.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <security> no se modificó en IIS 10.0.
IIS 8.5 El elemento <security> no se modificó en IIS 8.5.
IIS 8.0 El elemento <defaultIpSecurity> se agregó como un elemento secundario.
IIS 7.5 El elemento <security> no se modificó en IIS 7.5.
IIS 7.0 El elemento <security> se introdujo en IIS 7.
IIS 6,0 El elemento <security> reemplaza las propiedades de metabase de seguridad de IIS 6.0 relacionadas con certificados, autenticación y autorización.

Configuración

El elemento <security> 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 that shows the Authentication pane in the I I S Manager.

Cómo cambiar las credenciales de autenticación anónima desde 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 that shows the Edit Anonymous Authentication Credentials dialog box. Application pool identity is selected.

    • 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 that shows the Set Credentials dialog box.

      Nota:

      Si usa este procedimiento, conceda solo los privilegios mínimos de la nueva cuenta en el equipo servidor IIS.


Cómo habilitar la autenticación básica y 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 haga clic en el sitio, aplicación o servicio web para el que desea habilitar la autenticación de Windows.

  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 básica, y, a continuación, en el panel Acciones, haga clic en Habilitar.

  5. En el panel Autenticación, seleccione Autenticación anónima y, a continuación, haga clic en Desactivar en el panel Acciones.
    Screenshot that shows the Authentication pane. Anonymous Authentication is selected. The Actions pane lists Disabled and Edit.


Cómo requerir la capa de sockets seguros

  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, vaya al sitio, la aplicación o el directorio para el que desea configurar los requisitos de SSL. SSL no se puede configurar en el nivel de servidor.

  3. En el panel Inicio, haga doble clic en Configuración de SSL.
    Screenshot shows the Default Web Site Home pane, with S S L Settings selected.

  4. En el panel Configuración de SSL, haga clic en Requerir SSL.

  5. En el panel Acciones, haga clic en Aplicar.


Cómo habilitar la autenticación de Windows para un sitio web, una aplicación web o un servicio web

  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, a continuación, el sitio, la aplicación o el servicio web para el que desea habilitar la autenticación de Windows.

  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 de Windows y, a continuación, haga clic en Habilitar en el panel Acciones.
    Screenshot shows the Authentication pane, with Windows Authentication selected.

Configuración

Al ajustar la configuración de seguridad, el XML de configuración debe incluir el grupo de secciones <security>. Puede ajustar la configuración de seguridad en el nivel de servidor en el archivo ApplicationHost.config, o en el nivel de sitio, nivel de aplicación o directorio en el archivo Web.config adecuado.

Atributos

Ninguno.

Elementos secundarios

Elemento Descripción
access Elemento opcional.

Especifica los valores de configuración de la capa de sockets seguros (SSL) y si se deben usar certificados de cliente para la autenticación y seguridad de cifrado.
applicationDependencies Elemento opcional.

Especifica una aplicación con dependencias en una o más restricciones de extensión CGI o ISAPI.
authentication Elemento opcional.

Especifica la configuración relacionada con la autenticación.
authorization Elemento opcional.

Especifica la configuración relacionada con la autorización.
dynamicIpSecurity Elemento opcional.

Especifica restricciones de IP dinámicas que bloquean cualquier dirección IP que cumpla un conjunto de criterios.
ipSecurity Elemento opcional.

Especifica restricciones de acceso según la dirección IP 4 o el nombre de dominio DNS.
isapiCgiRestriction Elemento opcional.

Especifica la configuración que restringe qué programas CGI e ISAPI se pueden ejecutar en el servidor.
requestFiltering Elemento opcional.

Especifica los valores de configuración del filtrado de solicitudes.

Ejemplo de configuración

El siguiente ejemplo configura las opciones de autenticación, SSL y filtrado de solicitudes de un sitio web con el nombre Contoso.

<location path="Contoso">
   <system.webServer>
      <security>
         <authentication>
            <windowsAuthentication enabled="true" />
            <basicAuthentication enabled="false" />
            <anonymousAuthentication enabled="false" />
         </authentication>
         <access sslFlags="Ssl, SslNegotiateCert, Ssl128" />
         <requestFiltering>
            <fileExtensions>
               <add fileExtension=".inc" allowed="false" />
            </fileExtensions>
            <denyUrlSequences>
               <add sequence="_vti_bin" />
               <add sequence="_vti_cnf" />
               <add sequence="_vti_pvt" />
            </denyUrlSequences>
         </requestFiltering>
      </security>
   </system.webServer>
</location>

Código de ejemplo

Los siguientes ejemplos deshabilitan la autenticación anónima de un sitio con el nombre Contoso y, a continuación, habilitan la autenticación básica y de Windows en el sitio.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:"False" /commit:apphost

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/basicAuthentication /enabled:"True" /commit:apphost

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/windowsAuthentication /enabled:"True" /commit:apphost

Nota:

Debe asegurarse de establecer el parámetrocommit en apphost cuando use AppCmd.exe para configurar estos valores. 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"] = false;

         ConfigurationSection basicAuthenticationSection = config.GetSection("system.webServer/security/authentication/basicAuthentication", "Contoso");
         basicAuthenticationSection["enabled"] = true;

         ConfigurationSection windowsAuthenticationSection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", "Contoso");
         windowsAuthenticationSection["enabled"] = true;

         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") = False

      Dim basicAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/basicAuthentication", "Contoso")
      basicAuthenticationSection("enabled") = True

      Dim windowsAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", "Contoso")
      windowsAuthenticationSection("enabled") = True

      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 = false;

var basicAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/basicAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
basicAuthenticationSection.Properties.Item("enabled").Value = true;

var windowsAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/windowsAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
windowsAuthenticationSection.Properties.Item("enabled").Value = true;

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

Set basicAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/basicAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
basicAuthenticationSection.Properties.Item("enabled").Value = True

Set windowsAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/windowsAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
windowsAuthenticationSection.Properties.Item("enabled").Value = True

adminManager.CommitChanges()