Asegurar su servidor web es siempre uno de los factores clave que debe considerar antes de lanzar su sitio web. Un certificado de seguridad es fundamental para proteger el tráfico enviado desde los navegadores web a los servidores web y, al hacerlo, inspirará a los usuarios a intercambiar datos con su sitio web sabiendo que el tráfico enviado está protegido.
En la mayoría de los casos, los certificados de seguridad se pagan y se renuevan anualmente. Vamos a cifrar El certificado es una autoridad de certificación gratuita, abierta y automatizada que puede usar para cifrar su sitio. El certificado caduca cada 90 días y se renueva automáticamente sin costo alguno.
Lectura recomendada :Cómo asegurar Nginx con Let's Encrypt en CentOS 8
En este artículo, le mostraremos cómo puede instalar el Certificado Let's Encrypt con Certbot para el Apache servidor web y posterior, configure el certificado para que se renueve automáticamente en CentOS 8 .
Requisitos
Antes de comenzar, asegúrese de contar con lo siguiente:
$ sudo dnf install httpd $ sudo systemctl status httpd
linuxtechwhiz.info
apuntando a la IP del servidor 34.67.63.136
.
Paso 1. Instalar Certbot en CentOS 8
Certbot es un cliente que automatiza la instalación del certificado de seguridad. Obtiene el certificado de Autoridad de cifrado y lo implementa en su servidor web sin mucha molestia.
Certbot es totalmente gratuito y le permitirá instalar el certificado de forma interactiva generando instrucciones basadas en la configuración de su servidor web.
Antes de descargar el certbot , primero, instale los paquetes necesarios para la configuración de una conexión cifrada.
Comenzaremos instalando el EPEL repositorio que proporciona paquetes adicionales de alta calidad para sistemas basados en RHEL:
$ sudo dnf install epel-release
A continuación, instale el mod_ssl y openssl paquetes.
$ sudo dnf install mod_ssl openssl
Una vez que se hayan instalado todas las dependencias, instale Certbot y el Apache módulo para Certbot.
$ sudo dnf install certbot python3-certbot-apache
El comando instala Certbot , el módulo de Apache para Certbot y otras dependencias.
Paso 2:Cree un host virtual de Apache
El siguiente paso será crear un archivo de host virtual para nuestro dominio:linuxtechwhiz.info
. Comience por crear primero la raíz del documento donde colocará sus archivos HTML.
$ sudo mkdir /var/www/linuxtechwhiz.info.conf
Crea una prueba index.html
archivo como se muestra.
$ sudo echo “<h1>Welcome to Apache HTTP server</h1>” > /var/www/linuxtechwhiz.info/index.html
A continuación, cree un archivo de host virtual como se muestra.
$ sudo vim /etc/httpd/conf.d/linuxtechwhiz.info
Agregue la configuración a continuación.
<VirtualHost *:443> ServerName linuxtechwhiz.info ServerAlias www.linuxtechwhiz.info DocumentRoot /var/www/linuxtechwhiz.info/ <Directory /var/www/linuxtechwhiz.info/> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined </VirtualHost>
Guardar y salir.
Asigne los permisos a la raíz del documento como se muestra.
$ sudo chown -R apache:apache /var/www/linuxtechwhiz.info
Para que los cambios surtan efecto, reinicie el servicio Apache.
$ sudo systemctl restart httpd
Paso 3:Instale el certificado Let's Encrypt SSL en CentOS 8
Ahora ejecuta certbot como se muestra para comenzar la instalación del certificado Let's Encrypt .
$ sudo certbot --apache -d domain.com
En nuestro caso, será:
$ sudo certbot --apache -d linuxtechwhiz.info
El comando lo guiará a través de una serie de indicaciones que le permitirán configurar Lets Encrypt para su dominio. Asegúrese de proporcionar su dirección de correo electrónico, acepte los Términos de servicio y especifique los nombres de dominio que desea utilizar en el protocolo HTTPS, que es la versión cifrada de HTTP.
Si todo salió bien, debería recibir un mensaje de felicitación al final informándole que su sitio ha sido protegido con certificado Let's Encrypt . También se mostrará la validez de su certificado, que suele ser después de 90 días después del despliegue.
Ahora regrese a su archivo de host virtual y agregue las siguientes líneas de configuración.
SSLEngine On SSLCertificateFile /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem
Guardar y salir.
La configuración final del host virtual de Apache se verá así:
<VirtualHost *:443> ServerName linuxtechwhiz.info ServerAlias www.linuxtechwhiz.info DocumentRoot /var/www/linuxtechwhiz.info/ <Directory /var/www/linuxtechwhiz.info/> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem </VirtualHost>
Una vez más, reinicie Apache.
$ sudo systemctl restart httpd
Paso 4:Verificación del certificado SSL de Let's Encrypt
Para verificar que todo funciona, inicie su navegador y visite la dirección IP de su servidor. Ahora debería ver un símbolo de candado al principio de la URL.
Para obtener más detalles, haga clic en el candado símbolo y haga clic en el 'Certificado ' en el menú desplegable que aparece.
Los detalles del certificado se mostrarán en la siguiente ventana emergente.
Además, puede probar su servidor en https://www.ssllabs.com/ssltest/
y su sitio debería obtener una ‘A’
calificar como se muestra.
Paso 5:Renovación automática del certificado Let's Encrypt SSL
Vamos a cifrar solo es válido para 90 días solamente. Normalmente, el proceso de renovación lo lleva a cabo el certbot paquete que agrega un script de renovación a /etc/cron.d directorio. El script se ejecuta dos veces al día y renovará automáticamente cualquier certificado dentro de 30 días de caducidad.
Para probar el proceso de renovación automática, realice una prueba de ejecución con certbot .
$ sudo /usr/local/bin/certbot-auto renew --dry-run
Si no se encontraron errores, significa que está listo para continuar.
Esto nos lleva al final de esta guía. En esta guía, demostramos cómo puede usar certbot para instalar y configurar el certificado Let's Encrypt en el servidor web Apache que se ejecuta en un CentOS 8 sistema.