HTTPS: Certificado auto-firmado en CentOS 6

Https seguidad

En el siguiente tutorial, vamos a generar un certificado para poder navegar de forma segura por HTTPS, sin embargo, existen ciertas limitaciones debido a que será auto-firmado. Cuando queremos navegar de forma cifrada se produce la siguiente estructura de comunicación:

1- Un servidor tiene una clave privada.

2- Le envía la clave pública al cliente, dentro de un certificado (esta clave la usaremos para enviar una clave simétrica que creará el cliente).

3- El cliente se tiene que asegurar que este certificado (clave pública, nombre y demás información) es quien realmente dice ser, por ello una organización certificadora (CA) la tiene que firmar.

4- Hasta aquí todo bien, ¿pero quien asegura que esta CA es quien dice ser? De nuevo, la CA debe estar firmado por otra CA.

5- Finalmente lo que queremos es llegar a una CA la cual nuestro navegador se fíe y nos permita navegar sin mensajes de advertencia.

6- Los navegadores incluyen certificados auto-instalados, estas empresas de navegadores (Mozilla, Microsoft, etc) cobran de las CA para tener los certificados instalados por defecto, por ello, en nuestro caso, al ser auto-firmado, no viene por defecto en el navegador, y debemos aceptar la advertencia e instalar-lo manualmente.

7- Si deseamos evitar este mensaje y que nuestros clientes pierdan la confianza al ver la advertencia del navegador, deberemos pagar a una entidad certificadora.

A continuación, veremos los pasos para crear un certificado auto-firmado totalmente gratuito en un Sistema Operativo CentOS.

Instalamos los paquetes necesarios:

1-yum install

2-yum install

Una vez instalado, y antes de proceder a crear las claves y certificado, debemos asegurarnos que estos ficheros iran a un lugar seguro donde solo tiene acceso el usuario root y el usuario de apache. Normalmente dentro de los directorios ‘/etc/httpd/’ encontramos estos requisitos cumplidos.

Procedemos a introducir los comandos:

Paso 1: Crear una clave privada y cifrada de 2048 bits:

3- cert1

Paso 2: Creamos una solicitud de firma para el certificado (.csr) En este paso nos pedirá información sobre la empresa, nombre, localidad, etc.

4- cert2

Paso 3: En este paso estamos generando el certificado auto-firmado con una validez de 1 año.

5- cert3

Una vez hecho esto debemos introducir ciertos datos dentro del archivo /etc/httpd/conf.d/ssl.conf

6-conf

Reiniciamos el servicio Apache y probamos a entrar en nuestra web con: ‘https://dominioweb’ y nos debería saltar un aviso en el navegador, añadimos nuestro sitio web a lugares de confianza (en opciones avanzadas) y ya estaremos navegando de forma seguro y cifrada.

Cabe recordar que para un mejor funcionamiento y confianza con nuestros clientes, es muy recomendable obtener un certificado de una entidad certificadora, puesto que el certificado auto-firmado puede generar desconfianza al usuario final, puesto que el navegador avisará que nuestro sitio web no es fiable.

Share