Creación de certificado Let´s Encrypt en Ubuntu 16.04

por | 6 Junio, 2017


En este tutorial vamos a ver como configurar un certificado TLS/SSL de Let´s Encrypt en un Ubuntu Server 16.04. También explicaré como configurar la autorenovación mediante una tarea cron.

Los certificados SSL se utilizan en servidores web para cifrar el tráfico entre servidor y cliente. De esta manera proporcionaremos una mayor seguridad a los usuarios que accedan a nuestro sitio web.

Mediante Let´s Encrypt podremos tener de una manera fácil un certificado de confianza y gratuito.

1-Instalar el cliente Let´s Encrypt

Los certificados los podremos obtener mediante un software que podremos ejecutar en nuestro servidor. Este cliente se llama Certbot y los desarrolladores mantienen su propio repositorio en Ubuntu con versiones actualizadas.

Primero deberemos añadir el repositorio:

sudo add-apt-repository ppa:certbot/certbot

Después realizaremos una actualización mediante:

sudo apt-get update

Por último instalaremos Certbot:

sudo apt-get install python-certbot-apache

2-Configuración del certificado SSL

Es bastante sencillo generar un certificado SSL para Apache utilizando Certbot ya que automatiza el proceso para obtener uno nuevo para nuestro dominio.

En este manual voy a explicar como obtenerlo para un dominio. Asique para iniciar el asistente de Certbot utilizaremos:

sudo certbot --apache -d midominio.com

Si queremos generarlo también para algúno de nuestros subdominios deberemos utilizar:

sudo certbot --apache -d midominio.com - www.midominio.com

Cuando se instalen las dependencias se nos mostrará una guía paso a paso para personalizar las opciones del certificado. Se le pedirá una dirección de correo para la recuperación de claves y recibir diferentes avisos. También le preguntará si quiere habilitar el acceso http y https o forzar las solicitudes para redirigir a https. Por lo general es más recomendable la segunda opción a no ser que necesite tráfico http no cifrado.
Una vez finalizada la instalación podremos encontrar los archivos de nuestro certificado:

/etc/letsencrypt/live

Para verificar el estado de su certificado SSL puede hacerlo a través de:

https://www.ssllabs.com/ssltest/analyze.html?d=midominio.com&latest

3-Configuración de la autorenovación

Los certificados de Let´s Encrypt solo serán válidos durante noventa días.
Para automatizarlo deberemos crear una tarea programada que compruebe si el certificado está expirado y, en caso de que lo esté, se renueve.
Para ello ejecutamos el siguiente comando:

sudo crontab -e

Tu editor de texto por defecto abrirá crontab y deberás pegar la siguiente línea al final del fichero:

15 3 * * * /usr/bin/certbot renew --quiet

La primera parte del comando (15 3 * * *) indica que se ejecutará el comando a las 3:15 todos los días.
El comando de renovación comprobará todos los certificados instalados y actualizará los que vayan a expirar en menos de treinta días.
–quiet le indica a Certbot que no envía información ni espere una entrada del usuario.
Cron ejecutará este comando diariamente. Debido a que instalamos nuestros certificados usando el complemento –apache.

 

Deja un comentario

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