IIS 8: Una administración mejor de los certificados

El almacén central de certificados de IIS 8 puede simplificar el proceso de usar varios certificados en varios servidores.

Jason Helmick

Es reconfortante cuando hay una solución brillante simple a un problema complejo. Eso es sólo cómo la nueva tienda de certificado central (CCS) en IIS 8 pilas para arriba. Con versiones anteriores de IIS, puede instalar certificados en una granja de servidores Web con Windows PowerShell Remoting. Este es un proceso útil si trabajas con IIS en servidores mayores. Si eres uno de los afortunados que pueden actualizar a IIS 8, entonces pronto verás cómo el proceso de trabajar con certificados es una brisa.

La tienda de la mente

El CCS se basa en un concepto realmente simple. Guarde todos los certificados en una parte del servidor de archivos de Windows, entonces tiene los enlaces del sitio Web usar éstos en lugar de certificados instalados localmente. No sólo esto reduce el caos de instalar certificados en varios servidores, reduce el tiempo de administración y el esfuerzo localizar certificados que están a punto de caducar.

El primer paso es crear un recurso compartido en un servidor de archivo que contendrá su certificado .pfx archivos. Usted puede hacer esto en cualquier servidor de archivos, independientemente del sistema operativo. Parece preferible hacerlo en un servidor de archivos clúster para evitar un punto único de falla. No quiere perder el acceso a estos certificados.

Si trabajas en una granja de servidores Web, usted probablemente ya tiene un servidor de archivos clúster, o sistema de archivos distribuido (DFS), disponible para su configuración compartida. Este es un gran lugar para crear otra cuota de sus certificados. Crear una cuenta de usuario con permisos de lectura en la carpeta compartida y todo listo.

CCS trabaja utilizando el nombre de host del sitio Web enlace para localizar un certificado en el almacén con el exacto mismo nombre más la extensión .pfx. Por ejemplo, si hay dos sitios Web con nombres de host www.WebBikez.com y www.MyCompany.com, los certificados deben ser nombrados:

Nota: Asegúrese de que comodín certificados (*.Miempresa.com) utilize un guión bajo para reemplazar el carácter comodín (_.MyCompany.com.pfx).

Puede agregar certificados a este compartir cualquier momento que añades sitios Web. Ya no es necesario instalar los certificados en los servidores Web. El siguiente paso es instalar y configurar el CCS en los servidores Web de IIS 8 para poder usar los certificados.

Instalar CCS

El proceso de instalación es simple. Usted puede hacer esto con herramientas de administración gráfica o Windows PowerShell. Aquí es el proceso de instalación de CCS en un servidor Web local. La última sección describe cómo realizar estas tareas en servidores Web remotos, incluyendo Windows Server 2012 Core.

Debe instalar la función de soporte de certificado SSL centralizada en el servidor Web antes de continuar. Puede utilizar las herramientas gráficas de Server Manager o el cmdlet Install-WindowsFeature en Windows PowerShell:

PS> Install-WindowsFeature Web-CertProvider

Cuando se ha instalado correctamente la novedad, un nuevo icono aparecerá en la sección de gestión de la IIS Manager (ver figura 1).

The CCS icon in the IIS Manager Management section.

Figura 1 icono de la CCS en la sección de gestión IIS Manager .

Haga clic en el icono para abrir un formulario para configurar CCS (ver figura 2). Activar CCS, luego el recurso compartido UNC y el usuario cuenta con privilegios de lectura a la parte de la fuente.

You can graphically configure the central certificate store.

Figura 2 puede configurar gráficamente el almacén de certificados central.

Aviso en la parte inferior del formulario, que puede especificar una contraseña de clave privada si exportara el .pfx con uno. Por lo general, exportar los certificados con una contraseña, por lo que se introduce en el ejemplo anterior.

Utilizando estas herramientas gráficas es simple suficiente si necesita habilitar y configurar la CCS en un único servidor local. Si desea automatizar el proceso, también se puede utilizar Windows PowerShell. Cuando instalas CCS de esta manera, habrá seis nuevos cmdlets agregados:

  • Claro-WebCentralCertProvider
  • Disable-WebCentralCertProvider
  • Enable-WebCentralCertProvider
  • Get-WebCentralCertProvider
  • Conjunto-WebCentralCertProvider
  • Conjunto-WebCentralCertProviderCredential

Los cmdlets son bastante autoexplicativos y archivos de ayuda. Aquí hay un ejemplo de usar el cmdlet Enable-WebCentralCertProvider para habilitar y configurar el CCS en un servidor Web local:

PS> Enable-WebCentralCertProvider -CertStoreLocation \\serverdc\certstore -UserName company\certuser -Password P@ssw0rd -PrivateKeyPassword P@ssw0rd

Crear sitio Web enlaces

Es el último paso en el proceso de crear, modificar o añadir un nuevo enlace a su sitio Web que utiliza el CCS (ver figura 3). Ahora hay una nueva opción para seleccionar el "Almacén de certificados de uso centralizado."

Binding your Web site to the central certificate store is the final step.

Figura 3 enlace su sitio Web para el almacén de certificados central es el último paso.

Aquí es un ejemplo de cómo utilizar Windows PowerShell para crear un nuevo sitio Web con el enlace correcto de SSL. El truco es el parámetro –SslFlags del cmdlet New-sitio Web. SSLFlags determina donde se encuentra el certificado que utilizará para el enlace. De CCS, se desea la opción de dos o tres, dependiendo de si usas indicación de nombre de servidor (SNI). Estas son las opciones:

  • 0 – Certificado regular en almacenamiento de certificados de Windows
  • 1-Certificado SNI
  • 2-CCS
  • 3-Certificado SNI en CCS

Aquí es cómo crear un nuevo grupo de aplicaciones y sitios Web con un certificado SNI en CCS:

PS C:\> New-WebAppPool -Name WebBikez_pool PS C:\> New-Website -Name WebBikez -HostHeader www.WebBikez.com -PhysicalPath c:\inetpub\wwwroot -ApplicationPool webbikez_Pool -Ssl -port 443 -SslFlags 3 -force

Hacer esto si usted sólo tiene que añadir un enlace a un sitio Web existente:

PS C:\> New-WebBinding -Name "WebBikez" -Protocol https -Port 443 -HostHeader www.WebBikez.com –SslFlags 3

Instalar CCS en servidores Web remotos

Puede ejecutar todos estos comandos utilizando Windows PowerShell Remoting. Es fácil de conectar e instalar la función de CCS a servidores remotos, incluyendo Windows Server 2012 Core.

Crear una sesión remota con el cmdlet New-PSSession:

PS C:\> $Sessions=New-PSSession -ComputerName server2,server3

Instalar la función de CCS en los equipos remotos:

PS C:\> Invoke-Command -Session $sessions {Install-WindowsFeature Web-CertProvider}

Aquí es donde se pone difícil. El cmdlet Enable-WebCentralCertProvider tiene un parámetro — CertStoreLocation — que acepta un recurso compartido de red para la ubicación del certificado. El problema es que el cmdlet intenta verificar la ubicación de la cuota antes de que escribe la información en el registro.

En acceso remoto de Windows PowerShell, esto causa un problema de múltiples saltos. Está conectado a un equipo remoto que está intentando conectarse a un equipo remoto. En algún momento, el equipo IIS probablemente va a arreglar el cmdlet. Hasta que lo hacen, aquí tenemos una forma de evitar el problema. Puede simplemente agregar las entradas en el registro manualmente.

Para habilitar el CCS:

Invoke-Command -Session $sessions {Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\IIS\CentralCertProvider\ -Name Enabled -Value 1}

Para establecer la ubicación de parte de los certificados:

Invoke-Command -Session $sessions {Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\IIS\CentralCertProvider\ -Name CertStoreLocation -Value \\ServerDC\CertStore}

No se pueden establecer el nombre de usuario y contraseña directamente en el registro, pero el cmdlet Set-WebCentralCertProvider se encarga del resto:

Invoke-Command -Session $sessions {Set-WebCentralCertProvider -Password P@ssw0rd -UserName Company\certuser -PrivateKeyPassword P@ssw0rd}

En este punto, usted puede agregar enlaces Web a sus sitios Web para HTTPS usando Windows PowerShell Remoting, y listo. Si usted no ha tenido la oportunidad de probar IIS 8, quizás aprender cómo funciona la CCS le dará una razón de buen negocio para echar un vistazo. Es una de las nuevas características de IIS 8 que usted debe considerar en el futuro.

Jason Helmick

Jason Helmick es el director de tecnologías de Windows PowerShell para interfaz de capacitación técnica, con sede en Phoenix, Arizona. Él es un orador, autor, profesor y Administrador IIS inadvertida.

Contenido relacionado