Compartir a través de


Seguridad de acceso <access>

Información general

El elemento<access> permite configurar si un sitio web o aplicación usa certificados de cliente para la autenticación y permite definir la seguridad criptográfica necesaria para cifrar esos certificados.

El elemento <access> contiene un atributo sslFlags que puede establecer en uno de los siguientes valores:

  • Ninguno. Esta configuración predeterminada deshabilita SSL en el sitio o aplicación.
  • Ssl. El sitio o aplicación requiere SSL.
  • SslNegotiateCert. El sitio o aplicación acepta certificados de cliente para la autenticación.
  • SslRequireCert. El sitio o aplicación necesita certificados de cliente para la autenticación.
  • Ssl128. El sitio o aplicación requiere un cifrado de certificado SSL de 128 bits.

Puede usar el elemento access para configurar que un sitio, aplicación o directorio virtual necesite certificados de cliente. Para ello, establezca un enlace HTTPS en su sitio o aplicación y, a continuación, solicite y reciba certificados de una entidad de certificación (CA, por sus siglas en inglés). Los certificados pueden ser certificados del servidor de Internet, del servidor de dominio o del servidor autofirmados. Los certificados del servidor de Internet necesitan que una CA emita un certificado después de solicitar uno al servidor o servidores. Un equipo de CA que se ejecuta en el dominio de su empresa emite un certificado de servidor de dominio y puede ayudarle a controlar que solo los empleados que hayan instalado el certificado accedan a los recursos internos. Puede usar un certificado autofirmado para solucionar problemas de certificados de terceros, administrar Internet Information Services (IIS) 7 de forma remota, crear un canal privado seguro entre el servidor y un grupo seleccionado de usuarios, o probar las características de una aplicación dependientes de SSL.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <access> no se modificó en IIS 10.0.
IIS 8.5 El elemento <access> no se modificó en IIS 8.5.
IIS 8.0 El elemento <access> no se modificó en IIS 8.0.
IIS 7.5 El elemento <access> no se modificó en IIS 7.5.
IIS 7.0 El elemento <access> se introdujo en IIS 7.0.
IIS 6,0 El elemento <access> reemplaza las propiedades de metabase SSLAlwaysNegoClientCert y AccessSSLFlags de IIS 6.0.

Configuración

El elemento <access> se incluye en la instalación predeterminada de IIS 7.

Procedimientos

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 of the Home pane with the S S L Settings icon being highlighted.

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

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

Configuración

Puede configurar el elemento <access> en el nivel de servidor en el archivo ApplicationHost.config o bien en el nivel de sitio, de aplicación o de directorio en el archivo Web.config correspondiente.

Atributos

Atributo Descripción
sslFlags El atributo sslFlags puede ser uno de los siguientes valores posibles. El valor predeterminado es None.
Valor Descripción
None Deshabilita SSL.
Ssl Requiere SSL.
SslNegotiateCert Acepta certificados de cliente para la autenticación.
SslRequireCert Requiere certificados de clientes para la autenticación.
SslMapCert Habilita la autenticación de asignaciones de certificado.
Ssl128 Requiere SSL de 128 bits.

Elementos secundarios

Ninguno.

Ejemplo de configuración

El siguiente ejemplo de configuración, al incluirlo en el archivo ApplicationHost.config, requiere una conexión SSL entre un sitio web con el nombre Contoso y todos los exploradores web cliente.

<location path="Contoso">
   <system.webServer>
      <security>
         <access sslFlags="ssl">
      </security>
   </system.webServer>
</location>

Código de ejemplo

Los siguientes ejemplos hacen que SSL sea necesario para acceder a un sitio web con el nombre Contoso.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/security/access /sslFlags:"Ssl" /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 accessSection = config.GetSection("system.webServer/security/access", "Contoso");
         accessSection["sslFlags"] = @"Ssl";
         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 accessSection As ConfigurationSection = config.GetSection("system.webServer/security/access", "Contoso")
      accessSection("sslFlags") = "Ssl"
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var accessSection = adminManager.GetAdminSection("system.webServer/security/access", "MACHINE/WEBROOT/APPHOST/Contoso");
accessSection.Properties.Item("sslFlags").Value = "Ssl";

adminManager.CommitChanges();

VBScript

Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set accessSection = adminManager.GetAdminSection("system.webServer/security/access", "MACHINE/WEBROOT/APPHOST/Contoso")
accessSection.Properties.Item("sslFlags").Value = "Ssl"

adminManager.CommitChanges()