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:
- Abra MMC.
- En Archivo, seleccione Agregar o quitar complemento:
- Seleccione Certificados. Haga clic en Agregar:
- Seleccione Cuenta de equipo:
- Seleccione Equipo local y haga clic en Finalizar:
- Haga clic en Aceptar:
- En el panel de navegación, busque el almacén de Hospedaje web:
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. - Importe los certificados de ejemplo al almacén de Hospedaje web.
Crear un sitio web seguro:
Abra Administrador de IIS.
Seleccione Sitios en la ventana de navegación izquierda:
Haga clic con el botón derecho en Sitios y seleccione Agregar sitio web:
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.
Compruebe que se ha creado el sitio:
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:
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
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.