Aprovechando la infraestructura que hemos creado en las notas anteriores:
- Autoridad Certificadora para Laboratorio y Pruebas – Servicios Básicos
- Autoridad Certificadora para Laboratorio y Pruebas – Instalación y Configuración de la Autoridad Certificadora
- Autoridad Certificadora para Laboratorio y Pruebas – Configuración de la Autoridad Certificadora para “Web Enrollment”
En esta nota veremos cómo configurar un servidor web en modo seguro con HTTPS, y que nos servirá para futuras demostraciones y pruebas
Para que un sitio web seguro (HTTPS) sea confiable para cualquier cliente que se conecte, el certificado digital del servidor debe ser otorgado por una Autoridad Certificadora que el cliente considere confiable.
Y ya que tenemos de las notas anteriores, una Autoridad Certificadora de tipo Raíz, que emula ser de tipo comercial, vamos a mostrar el procedimiento, tanto de obtener los certificados de la Autoridad Certificadora, como uno para el servidor y que será asociado al sitio web
Para este desarrollo necesitaremos: la máquina que hemos configurado anteriormente: server.isp.com; y agregaré otro servidor, que contendrá al sitio web seguro que he llamado “ServerWWW”, en grupo de trabajo, y con dirección IP 131.107.0.2/16 tomada desde el DHCP
Por supuesto, si deseamos probarlo, necesitaremos una tercera máquina para que se conecte al sitio web seguro
Suponiendo que este servidor web seguro se llame “ServerWWW”, y que pertenece a un dominio de Internet llamado empresa.com comenzaré creando la zona y los registros necesarios de DNS en server.isp.com
No detallo los pasos de cómo crear la zona empresa.com ya que entiendo que el que esté leyendo esto lo sabe de memoria, es simplemente una zona primaria que no permite actualizaciones dinámicas, llamada justamente empresa.com
Debemos crear el registro Host (A) correspondiente al servidor, así que en la consola DNS de server.isp.com, con botón derecho sobre empresa.com elijo crear el registro como muestran las siguientes capturas
Aunque en realidad no es necesario, sólo lo dicta la costumbre que para acceder a un sitio web se usa “www. …” crearé un Alias (CNAME) llamado “www” y que apunte a ServerWWW.empresa.com
Debería quedar así
Ahora seguiré en el otro equipo (ServerWWW) donde he instalado, y con todos los valores por omisión la funcionalidad “Web Server”. No muestro las capturas, es lo mismo de siempre para agregar componentes
Lo que sí haré, en este servidor, es desactivar el modo protegido de Internet Explorer para los administradores ya que de otra forma no podremos acceder a la página web de la Autoridad Certificadora
Debemos obtener un certificado digital para el sitio web, pero para eso primero debemos obtener el certificado de la Autoridad Certificadora, y ponerlo como Autoridad Certificadora de confianza
Así que debemos ingresar a: http://server.isp.com/CertSrv y seleccionar “Download a CA certificate, certificate chain or CRL”
Seleccionamos “Download CA certificate”
Nos preguntará si queremos guardarlo (“Save”) lo aceptamos, y lo guardamos en cualquier lugar que queramos. Sólo que después lo encontremos 🙂
Una vez descargado, lo buscamos, y con botón derecho elegimos “Install Certificate”
Seguridad …
Recordemos que lo debemos instalar en la parte de máquina, no de usuario
Y muy importante, que lo instalemos en “Trusted Root Certification Authorities” de la cuenta de máquina
No he capturado la pantalla, pero luego de unos segundos aparece un cuadro indicando que se ha importado exitosamente
Si creamos una consola de certificados, como ya hemos hecho, enfocada en la máquina local veremos que tenemos el correspondiente certificado de la Autoridad Certificadora en “Certificates (Local computer) \ Trusted Root Certification Authorities \ Certificates”
Teniendo ya el certificado de la Autoridad Certificadora, ahora vamos a solicitar un certificado para nuestro servidor, así que volvemos a ingresar a pero esta vez con seguridad HTTPS https://server.isp.com/CertSrv y esta vez elegimos: “Request a certificate”
Seguimos el procedimiento análogamente a como lo hicimos en la nota anterior para solicitar un certificado de máquina
Atención al completar el formulario, es muy importante poner como nombre exactamente el que usarán los clientes para conectarse al servidor. No importa si el servidor realmente se llama diferente. Si lo van acceder como www.empresa.com entonces el certificado debe pedirse con ese nombre
También he resaltado en rojo los otros campos importantes a configurar: que sea un certificado para autenticación de servidor y que las claves sean exportables
Al final de la página pulsamos “Submit” para enviar el pedido a la Autoridad Certificadora
Este pedido quedará pendiente hasta que sea otorgado. Es interesante leer y comprender lo que muestra la pantalla 🙂
Vamos ahora a la máquina que tiene la Autoridad Certificadora (server.isp.com) y en la consola “Certification Authority” otorgamos el certificado solicitado
Volvemos a ServerWWW y vamos a recoger e instalar el certificado otorgado, para lo cual ingresamos a https://server.isp.com/CertSrv y elegimos esta vez “View the status of a pending certificate request”
Haciendo click procederemos a instalarlo
Seguridad …
Ya está
Pero como hemos visto ya anteriormente, en lugar de dejar el certificado en la parte de máquina, lo ha dejado en la parte de usuario. Si usamos la consola de certificados cargando la parte de máquina y además la de usuario lo podemos ver
Así, que como lo hemos hecho anteriormente debemos exportarlo de la parte de usuario, e importarlo en la parte de máquina, siguiendo los asistentes correspondientes
Importante: exportar también la clave privada
Como se exporta la clave privada debemos proteger su futura importación con contraseña
Guardarlo con un nombre y en una ubicación que podamos recordar 🙂
Y ahora procederemos a importarlo en la parte de máquina
Debemos cambiar el tipo de extensión a visualizar si usamos el botón “Browse”
Escribimos la contraseña que habíamos puesto para proteger la información
¡Al fin! 🙂
¿Está? … Está
Si no lo hicieron, instalen WebServer y siempre en ServerWWW ahora vamos a crear un sitio web seguro (HTTPS) con el certificado de máquina. Para eso ingresamos a la consola de administración de IIS, seleccionamos el “Default Web Site”, y seleccionamos “Bindings …”
Vemos que por omisión está el sitio no seguro. Aunque en condiciones normales debería quitarlo, y que no se pueda acceder por HTTP, en este caso como es una demostración lo dejaré, quizás sirva si hay que hacer “troubleshooting”. Comienzo con el botón “Add”
De la primera lista desplegable elijo HTTPS, y de la de certificados el obtenido recientemente
Cerramos con “Close”, y ya tenemos todo listo
Si ahora desde la máquina cliente con Windows 8.1, o el que sea, que utilizamos en la nota anterior, y que ya tenía el certificado de la Autoridad Certificadora instalado, ingresamos a https://www.empresa.com veremos que considera seguro al sitio web
Observen qué sucede si en lugar de usar el URL anterior, ponemos uno que aunque resuelve al mismo lugar usa un nombre diferente https://ServerWWW.empresa.com
Y si ingresamos igual aunque nos advierta, podremos ver cuál es el problema (“Mismatched Address")
Esto sucede porque el certificado está a nombre de www.empresa.com y lo estamos accediendo con ServerWWW.empresa.com, los nombres no coinciden
Hemos demostrado en forma sencilla la configuración básica de un servidor web seguro con HTTPS. En las próximas notas, usaremos la infraestructura creada, para comenzar a armar una infraestructura de clave pública (PKI = "Public Key Infrastructure") en un ambiente de Active Directory
La próxima nota será sobre cómo crear una Autoridad Certificadora Subordinada de tipo Enterprise, esto es, integrada con Active Directory