Cómo instalar un certificado SSL en CentOS con Nginx

Dificultad: Fácil
Tiempo de Lectura: 2 minutos

Los certificados SSL (Secure Socket Layer – Capa de Conexión Segura) permiten encriptar los datos transferidos entre cliente y servidor garantizando así la privacidad.
Son imprescindibles en tiendas en línea para que los usuarios puedan ingresar sus números de tarjetas de crédito por ejemplo, con total seguridad. Todo sitio de comercio electrónico que se precie debe incluir navegación segura a través de SSL y HTTPS.

Un SSL con EV (Extended Validation), es el método de SSL más avanzado y permite, entre otras cosas, que el navegador muestre la información de tu empresa y de la empresa emisora del SSL en una barra verde que está a un lado de la barra de direcciones tradicional. Esta visualización adicional es controlada por el navegador y por la empresa emisora. Esto hace que sea más difícil una falsificación de la URL por quienes realizan prácticas de phishing, además de proporcionar una sensación de seguridad mayor a los usuarios, ya que podrán ver claramente (destacado en color verde) desde su barra de direcciones la empresa a cargo del sitio web.

Veamos como generar un SSL en un servidor CentOS. (usando el webserver nginx en este caso)

1.- Crearmos una casilla de correo asociada al dominio en el que queremos instalar un SSL: webmaster@eldominio.com
2.- Creamos los directorios parar key, csr y crt:

mkdir /etc/nginx/ssl.key/ /etc/nginx/ssl.csr/ /etc/nginx/ssl.crt/

3.- Procedemos con la generación del csr con openssl:

openssl req -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl.key/eldominio.com.key -out /etc/nginx/ssl.csr/eldominio.com.csr

Se solicitarán estos datos:

-País:
-Estado/provincia:
-Ciudad
-Empresa:
-División de la empresa:

4.- Copiamos el csr (solicitud de firma de certificado) que quedó almacenado en /etc/nginx/ssl.csr/ para enviarlo a la empresa que nos venderá el SSL, la cual nos enviará el crt a través de la casilla de correo previamente creada.

5.- Ahora copiamos el código crt y lo ponemos en /etc/nginx/ssl.crt/

6.- Debemos preparar el Virtual Host para operar con SSL, partiendo de que ya tenemos el Virtual Host operativo añadimos:

server {
        listen       443 ssl;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on;
	ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
        ssl_certificate /etc/nginx/ssl.crt/www.eldominio.com.crt;
        ssl_certificate_key /etc/nginx/ssl.key/www.eldominio.com.key;
    }

7.- Finalmente hacemos un reload de Nginx para tomar los cambios:

service nginx reload

Tenemos varias clases de certificados SSL en nuestra página web con diferentes niveles y precios:

ssl

Una vez que el certificado SSL se vence, deberán reemplazarlo por uno nuevo.

¿Te resultó útil el artículo? Compártelo con tus colegas: