GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo proteger Apache con el certificado Let's Encrypt SSL en CentOS 8

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:

1. Una instancia del servidor CentOS 8 con el servidor web Apache HTTP instalado y en ejecución. Puede confirmar que su servidor web apache está en funcionamiento.

$ sudo dnf install httpd
$ sudo systemctl status httpd

2. Un Nombre de dominio completamente calificado (FQDN ) apuntando a la dirección IP pública de su servidor web en su proveedor de alojamiento web DNS. Para esta guía, usaremos 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.


Cent OS
  1. Cómo instalar un certificado SSL en Apache para CentOS 7

  2. Asegure Apache con Lets Encrypt en CentOS 7

  3. ¿Cómo instalar Let's Encrypt (Certbot) en CentOS 8?

  4. Cómo instalar Let's Encrypt con Apache en CentOS 7

  5. Cómo instalar Let's Encrypt en CentOS 8 con Nginx

Cómo instalar Let's Encrypt SSL con Nginx en CentOS 7

Cómo instalar Let's Encrypt SSL con Apache en CentOS 7

Cómo instalar Let's Encrypt SSL con Lighttpd en CentOS 7

Cómo instalar Let's Encrypt SSL en Ubuntu con Apache

Asegure Apache con el certificado Let's Encrypt en Rocky Linux

Cómo proteger Apache con Let's Encrypt en CentOS 8