Creación de un certificado SSL Raspberry Pi gratis con Let's Encrypt

Publicado por Loli Diéguez en

Una conexión a través de SSL / TLS protege el tráfico de datos mediante el envío de paquetes cifrados. Para poder establecer dicha conexión, necesitas un certificado de un proveedor confiable, que generalmente tienen un coste, pero gracias a la iniciativa Let's Encrypt, estos certificados SSL ahora están disponibles para todos, de forma gratuita. La gran ventaja es que el certificador está clasificado como confiable en los navegadores comunes.

 

Preparación

Para poder utilizar un certificado SSL / TLS se puede instalar un servidor web o una aplicación en la Raspberry Pi 3 con la cual haremos la conexión usando estos certificados para encriptar la conexión.

 

Creación de un certificado SSL Let's Encrypt

Usamos Git para descargar la herramienta de creación de certificados. Esto ya está incluido en las versiones más recientes de Raspbian. Si por un casual no está en tu sistema operativo, simplemente puedes instalarlo:

sudo apt-get install git

Ahora cargamos los archivos en nuestro directorio de inicio y vamos a esta carpeta:

cd ~
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

A continuación necesitas todos los dominios a los que debe aplicarse este certificado. Si tienes, por ejemplo, subdominios o si tu dominio se llama con y sin "www", puedes especificarlos todos de inmediato.

En este ejemplo, solo quiero crear el certificado SSL para el dominio principal. Si hay varios dominios, primero debes ingresar el dominio principal.

El comando para crear el certificado Let's Encrypt es el siguiente (reemplazar dominios y correo):

./letsencrypt-auto -d PRIMER_DOMINIO -d SEGUNDO_DOMINIO --redirect -m TU_EMAIL

El parámetro  --redirect especifica que las conexiones HTTP normales se reenvían automáticamente a HTTPS. La dirección de correo electrónico es necesaria para contactarnos o por si el certificado tendría que ser restaurado algún día.

Sugerencia: Si estás ejecutando un servidor Apache, también puedes permitir que la herramienta realice todas las demás configuraciones agregando el parámetro --apache.

Ahora te pedirá que leas y aceptes los términos de uso.

Con la  opción certonly también puedes especificar que solo se deben crear los certificados. En la carpeta “/ etc / letsencrypt / live /” veras una nueva carpeta con el nombre del dominio principal.

Por cierto, si necesitas ayuda o deseas ver todos los demás parámetros de la herramienta, puedes hacerlo fácilmente con ./letsencrypt-auto --help all

 

Renovación del certificado SSL

Todos los certificados Let's Encrypt tienen un tiempo de ejecución de 3 meses. Pasado ese plazo expiran y deben renovarse. 

Renovar el certificado SSL Raspberry Pi es muy fácil (no olvides ajustar tus parametros):

./letsencrypt-auto -d PRIMER_DOMINIO -d SEGUNDO_DOMINIO --redirect -m TU_MAIL --agree-tos --renew-by-default

Aquí el parámetro  --renew-by-default es el factor decisivo. Los otros parámetros (adicionales) son idénticos a los que especificamos al crearlos.

Sin embargo, se da el caso de que en funcionamiento continuo no necesariamente tienes que pensar en actualizar el certificado cada 3 meses.

Por lo tanto, hay un pequeño truco: si la Raspberry Pi está (casi) siempre en funcionamiento de todos modos, podemos actualizar el certificado antes, por ejemplo, cada mes. Para ejecutar esto automáticamente, usamos Cron :

sudo crontab -e

Al final de este archivo agregamos la siguiente línea (adaptada como arriba):

 

 

Esto iniciará la herramienta el día 1 de cada mes a las 02:00 y renovará nuestro certificado SSL Raspberry Pi.

 

Prueba del certificado SSL de Raspberry Pi

Si  tu servidor web está ejecutándose ( sudo /etc/init.d/apache2 start), ahora puedes probar en el navegador si tu certificado ha sido reconocido. Para hacer esto, simplemente abre el dominio con https: // al principio. Con apache2 en particular, es importante que el archivo  /etc/apache2/ports.conf tenga solo una entrada que use el puerto 443 (comente todas las demás):

<IfModule mod_ssl.c>
      Escuchar 443
</IfModule>

El certificado debería aparecer ahora en el navegador, fijate que antes de la url aparezca un candado indicando que se están encriptando las comunicaciones:

 

También puedes encontrar muchos más detalles en la documentación oficial de Let's Encrypt.

 

AQUÍ TIENES OTROS ARTÍCULOS INTERESANTES


Compartir esta publicación



← Publicación más antigua Publicación más reciente →