lunes, 19 de enero de 2009

Sitio Web IIS con SSL/HTTPS y encabezados de host. Windows Server 2003

En principio parece que no se puede tener un varios sitios web seguros (HTTPS) utilizando SSL y el mismo puerto (443) y la misma ip.

Pero no es del todo cierto.
Cumpliendo una serie de condiciones se puede hacer tanto en Windows Server 2003 Sp2 como en Windows Server 2008.

Windows Server 2003

1- Si se quiere tener varios sitios 443 con https se necesita un certificado comodín. Por ejemplo, *.imsi.com Sólo tienes que solicitarle del primer sitio web https que crees y obtenerlo de tu PKI.

2- Se generan los sitios web en los que aplicar el certificado....

Con ese único certificado puedes asegurar varios sitios web. El 2003 no permite desde la consola aplicar ese certificado a varios sitios como si fuese el encabezado de host (el Windows Server 2008 ya lo permite)

Por lo que necesitas aplicar esa configuración mediante el script adsutil
El script adsutil.vbs está en la carpeta c:\inetpub\adminscripts\.

cscript.exe adsutil.vbs set /w3svc/1630906790/SecureBindings ":443:desarrollo.imsi.com"
cscript.exe adsutil.vbs set /w3svc/1735288564/SecureBindings ":443:seguro.imsi.com"



Y ya funciona. De todas maneras en los dominios que hayas creado el certificado luego tienes que ir a sus Propiedades--> Seguridad de Directorios--> Certificado de Servidor --> Asignar un certificado ya existente y seleccionar *.imsi.com





Es posible que funcione con cualquier dominio aunque no terminen en imsi.com.... el problema es que en los sitios que no pertenezan a ese dominio dará el error de certificado no válido y saldrá el escudo rojo de aviso de que hay un problema.


Parte de la información la he obtenido de:
http://technet.microsoft.com/es-es/library/cc781546.aspx

Esta es la consola de Administración del Internet Information Server mostrando que se puede tener varios sitios funcionando en el puerto 443.
Ahhhhh, el encabezado de host que muestra la consola no es el encabezado de host del puerto 443, es el del puerto 80.

La prueba de que realmente podemos asegurar dos sitios (o más) lo tenemos en las siguiente imágenes:

Sitio web https://desarrollo.imsi.com/
Sitio web https://seguro.imsi.com/ También he probado que pasa si creo otro sitio web con https (443) con otro encabezado de host que no sea *.imsi.com... pues con el localhost también permite hacerlo aunque obviamente da el error del certificado que he mencionado antes.
lo que no impide entrar a la página https://localhost/

Espero que os sirva.

Otro día haré un artículo con el Windows Server 2008. Aunque el proceso es mucho mas fácil ya que el sí permite hacerlo a través de la consola gráfica.

No hay comentarios: