
En este tutorial, aprenderá el procedimiento de TLS/SSL instalación de certificado en Apache Servidor web. Una vez que haya terminado, todo el tráfico entre el servidor y el cliente se cifrará. Esta es una práctica estándar para asegurar sitios web de comercio electrónico y otros servicios financieros en línea. Vamos a cifrar es el pionero en la implementación de SSL gratuito y se utilizará como proveedor de certificados en este caso.
¡Importante! CentOS Linux 8 alcanzó su fin de vida útil (EOL) el 2021-12-31. Si bien CentOS Linux 7 todavía es compatible, llegará a EOL el 2024-06-30. Recomendamos tener eso en cuenta al elegir este sistema operativo. Puedes leer más sobre esto en su sitio web oficial.
Lo que necesitarás
Antes de comenzar esta guía, necesitará lo siguiente:
- Acceso raíz SSH a CentOS 7 VPS
- El servidor web Apache con dominio y vhost correctamente configurados
Paso 1:Instalación de módulos dependientes
Para instalar certbot tendrás que instalar EPEL repositorio ya que no está disponible por defecto, mod_ssl también es necesario para que Apache reconozca el cifrado.
Para instalar estas dos dependencias, ejecute este comando:
yum install epel-release mod_ssl
Ahora debería estar listo para continuar e instalar el certbot.
Paso 2:descargar el cliente de Let's Encrypt
A continuación, instalará el cliente de certbot desde el repositorio de EPEL:
yum install python-certbot-apache
El certbot ahora debería estar instalado y disponible para su uso real.
Paso 3:Configuración del certificado SSL
Certbot manejará la gestión de certificados SSL con bastante facilidad, generará un nuevo certificado para el dominio proporcionado como parámetro.
En este caso, se utilizará ejemplo.com como dominio para el que se emitirá el certificado:
certbot --apache -d example.com
Si desea generar SSL para varios dominios o subdominios, ejecute este comando:
certbot --apache -d example.com -d www.example.com
¡Importante! El primer dominio debe ser su dominio base, en este ejemplo es example.com
Mientras instala el certificado, se le presentará una guía paso a paso que le permitirá personalizar los detalles del certificado. Podrá elegir entre forzar HTTPS o dejar HTTP como el protocolo predeterminado; también se requerirá una dirección de correo electrónico por motivos de seguridad.
Una vez que se complete la instalación, debería aparecer un mensaje similar:
IMPORTANT NOTES: - If you lose your account credentials, you can recover through e-mails sent to [email protected]. - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will expire on 2016-04-21. To obtain a new version of the certificate in the future, simply run Let's Encrypt again. - Your account credentials have been saved in your Let's Encrypt configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Let's Encrypt so making regular backups of this folder is ideal. - If you like Let's Encrypt, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Paso 4:configurar la renovación automática del certificado
Los certificados de Let's Encrypt son válidos por 90 días, pero todos los profesionales web le recomendarán que los renueve dentro de los 60 días para evitar problemas. Para lograr esto, el certbot nos ayudará con su renew
dominio. Verificará si el certificado está a menos de 30 días de su vencimiento.
Ejecute este comando para continuar:
certbot renew
Si el certificado instalado es reciente, el certbot solo verificará su fecha de vencimiento:
Processing /etc/letsencrypt/renewal/example.com.conf The following certs are not due for renewal yet: /etc/letsencrypt/live/example.com/fullchain.pem (skipped) No renewals were attempted.
Para automatizar este proceso de renovación, puede configurar un trabajo cron. En primer lugar, abra el crontab:
crontab -e
Este trabajo se puede programar de forma segura para que se ejecute todos los lunes a la medianoche:
0 0 * * 1 /usr/bin/certbot renew >> /var/log/sslrenew.log
La salida del script se canalizará a /var/log/sslrenew.log
archivo.
Conclusión
Acaba de proteger su servidor web Apache implementando la función de seguridad más esperada:¡un certificado SSL gratuito! De ahora en adelante, todo el tráfico entre el servidor y el cliente está encriptado, puede estar seguro de que nadie podría interceptar la comunicación y alterar o robar información crucial.