Cómo instalar certificados SSL de Let’s Encrypt en Nginx

Dificultad: Fácil
<b>Tiempo de Lectura:</b> 3 minutos

¿Conoces Let’s Encrypt? Se trata de una entidad certificadora (CA) gratuita, automatizada y abierta, para el beneficio de todo el público. Es un servicio creado por el Internet Security Research Group (ISRG). Vamos a ver un poco más sobre los certificados SSL de Let’s Encrypt.

Las principales características de Let’s Encrypt son:

  • Gratuito: cualquiera que posea un dominio propio puede utilizar Let’s Encrypt para obtener un certificado de confianza sin costo alguno.
  • Automático: el software que corre en nuestro servidor interactua con Let’s Encrypt para obtener un certificado en forma rápida y sencilla, incluso puede ser renovado automáticamente.
  • Seguridad: los navegadores más populares reconocen los certificados de Let’s Encrypt como seguros y de confianza, así que no tendrás que preocuparte por recibir alertas al navegar en tu sitio web.
  • Transparencia: todos los certificados generados o rechazados estarán disponibles a disposición del público para ser inspeccionados.
  • Abierto: el proceso automático y el protocolo de renovación serán publicados como un estándar abierto que otros podrán adoptar.
  • Cooperativo: al igual que gran parte de Internet, Let’s Encrypt es el resultado del esfuerzo en conjunto de muchas compañías y empresas, con el objetivo de ayudar al público a obtener su propio certificado gratuito y seguro. Y eso no es todo, ya que está más allá del control de una sola organización.
  • Expertos: entre muchos de los expertos detrás de Let’s Encrypt encontramos nombres muy conocidos en el ámbito de Internet, como por ejemplo Rich Salz (Akamai), Joe Hildebrand (Cisco), Jacob Hoffman-Andrews (Electronic Frontier Foundation), J.C. Jones (Mozilla), entre otros.

certificados SSL de Let's Encrypt

Su propósito es, básicamente, brindar certificados SSL gratuitos y fáciles de configurar. Los certificados SSL de Let’s Encrypt son compatibles con múltiples servidores web, y en esta oportunidad veremos cómo llevar a cabo su implementación en Nginx.

 Cómo instalar certificados SSL de Let’s Encrypt

Primero que nada debemos ingresar como root al servidor donde instalaremos esta herramienta. Una vez dentro corremos los siguientes comandos:

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help

 Generar un certificado

Previo a este paso debemos asegurarnos de que nuestro servidor web no esté corriendo, debido a que Let’s Encrypt necesitará el puerto 80 libre en forma temporal para generar el certificado. Así que detenemos Nginx (no te preocupes, todo el proceso tomará solo unos minutos):

service nginx stop

El comando es el siguiente:

./letsencrypt-auto certonly --standalone --email tu@tudominio.com -d tudominio.com

Este comando se utiliza para generar un certificado estándar. En este caso se ha especificado «tu@tudominio.com» como casilla de correo y «tudominio.com» como el dominio que usará el certificado. Si deseas agregar más dominios basta con añadirlos con -d al final de la sintaxis anterior, ejemplo:

-d tusegundodominio.com -d blog.otrodominio.com

Los archivos del certificado se habrán generado en la siguiente carpeta:

/etc/letsencrypt/live/tudominio.com/

 Cómo añadir la configuración a Nginx

Ahora edita el archivo de configuración de Nginx correspondiente a tu dominio y agrega lo siguiente:

listen 443 ssl;
server_name mydomain.com;
ssl_certificate /etc/letsencrypt/live/tudominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tudominio.com/privkey.pem;

Vamos a verificar que Nginx tome correctamente los cambios:

nginx -t

Si todo está ok entonces procedemos a iniciar el servicio:

service nginx start

Ahora ingresa a tu sitio (si ya lo tienes apuntado a tu servidor) y deberías ver el certificado activo: https://tudominio.com

Obviamente en todas las instancias debes reemplazar los nombres de dominio de ejemplo por tus nombres de dominio reales.

Importante: a tener en cuenta

  1. Let’s Encrypt es un proyecto relativamente nuevo, por lo tanto los certificados generados tienen una duración de tres meses. Por supuesto llegado ese período puedes generar otro certificado gratuito para reemplazar el que tienes activo.
  2. Al ser un proyecto que brinda certificados SSL gratis, no ha generado confianza en muchas personas y organizaciones.
  3. No te dan ninguna garantía y soporte técnico en caso de que tengas algún problema con el certificado SSL.
  4. Si necesitas un SSL para encriptar tiendas online o información de empresas que tienen datos de clientes, no es el más adecuado, instala un certificado SSL permanente y seguro de empresas confiables. Infranetworking ofrece certificados SSL garantizados por GeoTrust, una de las mayores emisoras de SSL del mundo que te garantiza que no vas a tener problema ninguno.

 


Conclusión

Como hemos visto el proceso de implementar certificados SSL de Let’s Encrypt en Nginx es super sencillo y rápido. Solo hay que instalar la herramienta, generar el certificado y agregarlo a la configuración de nuestro servidor web. Con esto ya contaremos con un certificado SSL gratuito y reconocido como seguro por los navegadores más populares. Eso si, recordar que si tienes un sitio serio y con información de tus clientes, lo mejor será usar un certificado SSL de una empresa seria que no tenga vencimientos tan cortos y donde te garanticen que funcionará siempre.


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