Instalar certificado SSL Let’s Encrypt en servidor apache

Este tutorial le mostrará cómo configurar un certificado TLS / SSL de Let´s Encrypt en un servidor Ubuntu 16.04 que ejecuta Apache como un servidor web.

Los certificados SSL se utilizan dentro de los servidores web para cifrar el tráfico entre el servidor y el cliente, proporcionando seguridad adicional para los usuarios que acceden a su aplicación. Let’s Encrypt proporciona una manera fácil de obtener e instalar certificados de confianza de forma gratuita.

Para completar esta guía, necesitarás:

Un servidor Ubuntu 16.04 con un usuario habilitado para sudo no root, que puede configurar siguiendo nuestra guía de configuración inicial del servidor
El servidor web Apache instalado con uno o más nombres de dominio correctamente configurados a través de hosts virtuales que especifican ServerName.
Cuando esté listo para continuar, inicie sesión en su servidor con su cuenta habilitada para sudo.

Instalar el cliente de Let’s Encrypt

Los certificados de Let’s Encrypt se obtienen a través del software cliente que se ejecuta en su servidor. El cliente oficial se llama Certbot, y sus desarrolladores mantienen su propio repositorio de software de Ubuntu con versiones actualizadas. Debido a que Certbot se encuentra en un desarrollo tan activo, vale la pena usar este repositorio para instalar una versión más nueva que la que Ubuntu proporciona de forma predeterminada.

Primero, agregue el repositorio:

sudo add-apt-repository ppa:certbot


Tendrá que presionar ENTER para aceptar. Luego, actualice la lista de paquetes para recoger la información del paquete del nuevo repositorio:

sudo apt-get update

Y finalmente, instale Certbot desde el nuevo repositorio con apt-get:

sudo apt-get install python-certbot-apache

El cliente certbot Let’s Encrypt ya está listo para usar.

Configurar el certificado SSL

Generar el certificado SSL para Apache usando Certbot es bastante sencillo. El cliente obtendrá e instalará automáticamente un nuevo certificado SSL que es válido para los dominios proporcionados como parámetros.

Para ejecutar la instalación interactiva y obtener un certificado que cubra solo un dominio, ejecute el comando certbot así, donde example.com es su dominio:

sudo certbot -d example.com

Si desea instalar un único certificado que sea válido para varios dominios o subdominios, puede pasarlos como parámetros adicionales al comando. El primer nombre de dominio en la lista de parámetros será el dominio base utilizado por Let’s Encrypt para crear el certificado, y por esa razón le recomendamos que pase el nombre de dominio de primer nivel como el primero en la lista, seguido de cualquier subdominio adicional o alias:

sudo certbot -d example.com -d www.example.com

Para este ejemplo, el dominio base será example.com.

Si tiene varios hosts virtuales, debe ejecutar certbot una vez para cada uno para generar un nuevo certificado para cada uno. Puede distribuir múltiples dominios y subdominios en sus hosts virtuales de cualquier manera.

Después de instalar las dependencias, se le presentará una guía paso a paso para personalizar sus opciones de certificado. Se le pedirá que proporcione una dirección de correo electrónico para la recuperación de claves perdidas y avisos, y podrá elegir entre habilitar el acceso a http y https o forzar que todas las solicitudes redirijan a https.

Por lo general, lo más seguro es requerir https, a menos que tenga una necesidad específica de tráfico http sin cifrar.

Cuando finalice la instalación, debería poder encontrar los archivos de certificado generados en /etc/letsencrypt/live . Puede verificar el estado de su certificado SSL con el siguiente enlace (no olvide reemplazar example.com con su dominio base):

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
Ahora debería poder acceder a su sitio web utilizando un prefijo https.

Verificando la auto-renovación de Certbot

Los certificados de Encrypt solo duran 90 días. Sin embargo, el paquete certbot que instalamos se encarga de esto ejecutando certbot renew dos veces al día a través de un temporizador systemd. En distribuciones que no son systemd, esta funcionalidad es proporcionada por un script cron ubicado en /etc/cron.d. La tarea se ejecuta dos veces al día y renovará cualquier certificado que esté dentro de los treinta días de vencimiento.

Para probar el proceso de renovación, puede hacer un ensayo en seco con certbot:

sudo certbot renew –dry-run

Si no ves errores, estás listo. Cuando sea necesario, Certbot renovará sus certificados y recargará Apache para recoger los cambios. Si el proceso de renovación automatizado falla, Let’s Encrypt enviará un mensaje al correo electrónico que especificó y le avisará cuando su certificado esté a punto de caducar.

Let’s Encrypt para apache

En esta guía, vimos cómo instalar un certificado SSL gratuito de Let´s Encrypt para asegurar un sitio web alojado con Apache. Le recomendamos que revise el blog oficial de Let’s Encrypt para obtener actualizaciones importantes de vez en cuando y que lea la documentación de Certbot para obtener más detalles sobre el cliente de Certbot.

Dejar un comentario

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

Esta web utiliza cookies . Si continúa navegando aceptas esas cookies y la política de cookies, más info aquí.plugin cookies

ACEPTAR
Aviso de cookies