Compartir a través de


Indicación de nombre de servidor (SNI) de IIS 8.0: escalabilidad SSL

por Shaun Eagan

Compatibilidad

Versión Notas
IIS 8.0 Se ha introducido la Indicación de nombre de servidor en IIS 8.0.
IIS 7.5 No se admitía la Indicación de nombre de servidor en IIS 7.5.
IIS 7.0 No se admitía la Indicación de nombre de servidor en IIS 7.0.

Problema

A medida que hay más sitios de comercio electrónico en línea y más empresas están almacenando y compartiendo documentos confidenciales en línea, la capacidad de hospedar y escalar sitios seguros es cada vez más importante. Antes de Windows Server 2012, había un par de desafíos cuando se trata de hospedar sitios seguros:

  • Escalabilidad SSL: en un entorno multiinquilino, como un hospedaje compartido, hay una limitación en cuanto al número de sitios seguros que se pueden hospedar en Windows Server, lo que da lugar a una baja densidad de sitio.
  • Escasez de IPv4: dado que el punto de conexión de red solo se puede identificar con el enlace IP:Puerto, donde los inquilinos solicitan usar el puerto SSL estándar, 443, hospedar un sitio seguro a menudo significa ofrecer una dirección IP dedicada por inquilino.

Solución

En Windows Server 2012, IIS admite la Indicación de nombre de servidor (SNI), que es una extensión TLS para incluir un dominio virtual como parte de la negociación SSL. Lo que esto significa efectivamente es que el nombre de dominio virtual, o un nombre de host, ahora puede utilizarse para identificar el punto de conexión de la red. Además, se ha creado un almacén de hospedaje web muy escalable para complementar SNI. El resultado es que la densidad de sitio segura es mucho mayor en Windows Server 2012 y se logra con una sola dirección IP.

Debe tenerse en cuenta que, para que se use esta característica, los exploradores de los clientes tienen que admitir SNI. La mayoría de los exploradores modernos admiten SNI, pero Internet Explorer (cualquier versión) en Windows XP no admite SNI.

Habilitación de la autenticación de Azure Active Directory Domain Services en Azure Files

Requisitos previos:

  • IIS 8.0 está instalado en Windows Server 2012.

    • Tanto el almacén de certificados de hospedaje web como SNI forman parte de la instalación predeterminada de IIS. No hay ninguna característica de IIS específica que deba instalarse desde el Administrador del servidor.
  • Certificados de ejemplo.

  • \windows\system32\drivers\etc\hosts se ha modificado para usarse para el sitio de ejemplo y el certificado. Por ejemplo, si el nombre CN del certificado es TAPTesting, el archivo hosts debe contener lo siguiente:

    127.0.0.1 TAPTesting
    

Soluciones alternativas para errores conocidos:

Hay casos extremos en los que el Administrador de IIS puede quitar el enlace SSL no deseado cuando hay enlaces SSL tradicionales (IP:Puerto) y enlaces SNI (Nombre de host:Puerto) configurados en la misma máquina. Para solucionar este problema o para confirmar los enlaces SSL reales, use la herramienta de línea de comandos:

netsh http show sslcert

Importar certificados al almacén de Hospedaje web:

  1. Abra MMC.
  2. En Archivo, seleccione Agregar o quitar complemento:
    Screenshot that shows the menu for File in M M C. Add Remove Snap in is highlighted.
  3. Seleccione Certificados. Haga clic en Agregar:
    Screenshot that shows the Add or Remove Snap ins dialog box with Certificates selected under Available snap ins.
  4. Seleccione Cuenta de equipo:
    Screenshot that shows the Certificates snap in dialog box. Computer account is selected.
  5. Seleccione Equipo local y haga clic en Finalizar:
    Screenshot that shows the Select Computer dialog box. Local computer is selected.
  6. Haga clic en Aceptar:
    Screenshot that shows the Add or Remove Snap ins.
  7. En el panel de navegación, busque el almacén de Hospedaje web:
    Screenshot that shows Web Hosting highlighted under the Certificates node.
    El almacén de Hospedaje web funciona como el almacén Personal, por lo que todas las herramientas existentes para importar y exportar certificados funcionan de la misma manera. La diferencia clave entre el almacén de Hospedaje web y el almacén Personal es que el almacén de Hospedaje web está diseñado para escalar a un mayor número de certificados.
  8. Importe los certificados de ejemplo al almacén de Hospedaje web.

Crear un sitio web seguro:

  1. Abra Administrador de IIS.

  2. Seleccione Sitios en la ventana de navegación izquierda:
    Screenshot that shows I I S Manager. Sites is selected.

  3. Haga clic con el botón derecho en Sitios y seleccione Agregar sitio web:
    Screenshot that shows the context menu for Sites.

  4. Rellene la información, como crearía cualquier sitio:

    • Nombre del sitio: Prueba

    • Ruta de acceso física: c:\inetpub\wwwroot

    • Tipo:https

    • Nombre de host: TAPTesting

      • Esto es nuevo para Windows Server 8 en ese nombre de host se puede especificar para SSL.
      • Para evitar un error de coincidencia de nombre de certificado, asegúrese de que el nombre de host especificado aquí coincide con el nombre CN del certificado.
      • El valor real de esta configuración varía en función del certificado de muestra que se usa.
    • Usar Indicación de nombre de servidor: Seleccionado

    • Certificado SSL: elija el nombre del certificado; por ejemplo: TAPTesting.

      • Tenga en cuenta que los certificados se presentan tanto del almacén Personal como del de Hospedaje web.

      Screenshot that shows the Add Website dialog box.

  5. Compruebe que se ha creado el sitio:
    Screenshot that shows Test highlighted under the Sites node.

  6. Eso es. El sitio seguro se ha creado mediante SNI. La experiencia de administración es muy similar al enlace SSL tradicional. Las únicas diferencias son:

    • El nombre de host se puede especificar para el sitio SSL.
    • El certificado se almacena en el almacén de Hospedaje web para mejorar la escalabilidad.

Probar un sitio seguro:

Abra un explorador y vaya a https://TAPTesting/. Tenga en cuenta que, como parte de los requisitos previos, el archivo de hosts debe haberse modificado para enrutar esta solicitud a localhost:

Screenshot that shows Internet Explorer. I I S 8 is written in large text on the web page.

Además, para ver el nuevo tipo de enlace SSL, escriba lo siguiente en una ventana de línea de comandos con privilegios elevados:

netsh http show sslcert

Screenshot that shows a command window. Host name and port are highlighted.

Tenga en cuenta que el enlace SSL es nombre de host:puerto con el valor TAPTesting:443.

Escenarios

Pruebe a implementar los escenarios siguientes:

  • SNI está diseñada a fin de escalarse para un entorno multiinquilino. Pruebe a configurar miles de sitios seguros mediante SNI.
  • A diferencia de las versiones anteriores de Windows Server, los certificados de Windows Server 2012 se cargan en memoria a petición. Después de configurar miles de sitios seguros mediante SNI, envíe una solicitud GET a uno de los sitios seguros y observe el uso de memoria. Es insignificante. En versiones anteriores de Windows Server, si se han configurado cientos de sitios seguros, enviar solo una solicitud GET provocaría que Windows Server cargara todos los certificados, lo que da lugar a un uso elevado de memoria y limita aún más la escalabilidad.
  • Configure Windows Server 2012 con SNI y sitios seguros tradicionales. Están diseñados para coexistir.

Resumen

Ha explorado correctamente la característica Indicación de nombre de servidor (SNI) en Windows Server 2012.