Autoridad Certificadora – Crear un Sitio Web Seguro (HTTPS)

Aprovechando la infraestructura que hemos creado en las notas anteriores:

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

Post a comment or leave a trackback: Trackback URL.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *