Saltar al contenido
solo software libre

Asegure Apache con Let’s Encrypt SSL en Debian 9 (2020)

Asegure-Apache-con-Lets-Encrypt-SSL-en-Debian-9

indice

Como instalar Let’s Encrypt en Debian 9

Al usar Let’s Encrypt, puede obtener un certificado SSL válido gratuito. Let’s Encrypt es la Autoridad de certificación (CA) que proporciona un certificado SSL gratuito. Para obtener el certificado SSL, se utiliza el cliente Certbot que busca e implementa el certificado SSL en su servidor. En este tutorial, aprenderá cómo instalar Let’s Encrypt SSL en Debian 9.

Antes de comenzar

El certificado Let’s Encrypt solo se puede solicitar al servidor al que apunta el dominio. Encriptemos verifica si el dominio apunta al servidor actual y si tiene éxito, emite el certificado.

Prerrequisitos

1. Antes de comenzar a instalar Let’s Encrypt SSL en Debian 9 usando el cliente Certbot. Debe tener una cuenta de usuario no root en su servidor con privilegios de sudo.

2. Asegúrese de que su dominio esté apuntando al servidor actual.

1. Instalar el cliente Certbot

Para instalar el cliente Certbot, debe agregar PPA en el servidor y luego deberá actualizar el índice del administrador de paquetes. Después de eso, instalará el cliente Certbot.

Agregue PPA escribiendo siguiente en la terminal

sudo add-apt-repository ppa:certbot/certbot

Actualice el índice del administrador de paquetes escribiendo lo siguiente

sudo apt update

Ahora instale el cliente Certbot ejecutando el siguiente comando

sudo apt install certbot

Confirme la instalación escribiendo

certbot --version

2. Configuración del cortafuegos

Si ha habilitado el firewall UFW, debe ajustar la configuración para permitir el tráfico HTTPS.

Para verificar el estado actual, escriba el siguiente comando

sudo ufw status
Salida
Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
WWW                        ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
WWW (v6)                   ALLOW       Anywhere (v6)

Ahora para obtener tráfico HTTPS, debe agregar la regla ‘WWW completa’ y eliminar la regla ‘WWW’, que será redundante.

sudo ufw allow 'WWW Full'
sudo ufw delete allow 'WWW'

Ahora el estado debería ser:

Salida
Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
WWW Full                   ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
WWW Full (v6)              ALLOW       Anywhere (v6)

3. Configurando Let’s Encrypt SSL en Apache

Para configurar Apache, necesitamos instalar el complemento Certbot para Apache, lo que facilita mucho este proceso.

sudo apt install python-certbot-apache

Vamos a cifrar hacer una validación de dominio fuerte para la propiedad del dominio. Después de una verificación exitosa, emite el certificado. En el siguiente comando, reemplace el ejemplo con su nombre de dominio

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

Si es la primera vez que instala el certificado, Certbot le pedirá que ingrese su ID de correo electrónico y acepte los términos y condiciones.

Después del paso anterior, Certbot le pedirá que configure los ajustes HTTPS.

Salida
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Seleccione su elección y continúe con el siguiente paso.

4. Renovación automática para certificados SSL

Todos estos certificados Let’s Encrypt son de corta duración y caducan después de 90 días. Por lo tanto, deberá actualizar estos certificados antes de que caduquen ejecutando el siguiente comando.

sudo certbot renew

Puede automatizar este proceso agregando un cronjob. Ingrese el siguiente comando para abrir crontab

sudo crontab -e

Agregue las siguientes líneas al final del archivo. Ejecutará el comando dos veces al día y se renovará si el certificado está a punto de caducar.

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew

5. Instalación de los certificados de comodín Let’s Encrypt

Let’s Encrypt ahora admite certificados comodín utilizando el nuevo protocolo ACME2. Al usar comodines certificados \ *. Example.com como este, puede usar un certificado para múltiples subdominios como sitio1.example.com, sitio2.example.com, sitio3.example.com etc. Para instalar el tipo de certificado comodín siguiente mando.

sudo certbot certonly --manual -d *.example.com --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns-01 --server httpss://acme-v02.api.letsencrypt.org/directory

NOTA: Ahora verá el mensaje en el centro en la salida para agregar el registro TXT. Por lo tanto, realice cambios de DNS en su dominio y agregue un registro TXT específico con el valor dado dentro de la salida del comando anterior

Conclusión

Ha aprendido cómo instalar Let’s Encrypt SSL en Debian 9 usando Certbot. Si tiene alguna pregunta al respecto, no olvide comentar a continuación.

Gracias un saludo.

PASS:)

1041