Cómo configurar un certificado SSL gratuito para Apache en Debian 10


Ante la creciente cara de los ciberataques y las infracciones, la seguridad de su sitio web es una de las principales prioridades para protegerse a sí mismo y a los visitantes de su sitio de los piratas informáticos. En este tutorial, exploramos cómo puede configurar un certificado SSL gratuito usando Let's Encrypt SSL para Apache en Debian 10.

Let's Encrypt es un certificado SSL gratuito escrito por la autoridad de Let's Encrypt que es válido solo por 90 días, pero se puede renovar en cualquier momento.

Antes de continuar, ¿qué es un certificado SSL? Un certificado SSL es un certificado digital que cifra la comunicación entre un navegador y un servidor web. Este cifrado garantiza que cualquier información enviada al servidor web es privada y confidencial. Los certificados SSL se utilizan comúnmente en sitios web de comercio electrónico, sitios web bancarios y plataformas de envío/remesas de dinero como PayPal, Payoneer y Skrill.

Los sitios web que están protegidos por SSL tienen un símbolo de candado en la barra de URL seguido del acrónimo https (Protocolo de transferencia de hipertexto seguro) como se muestra en la siguiente captura de pantalla.

Si un sitio no está protegido con un certificado SSL, Google mostrará una advertencia "No seguro" antes de la dirección del sitio web en la URL.

Antes de comenzar, asegúrese de que se hayan cumplido los siguientes requisitos:

  1. A running instance of Debian 10 Minimal Server.
  2. A running instance of Apache Web Server with Domain Setup on Debian 10.
  3. A registered Fully Qualified Domain Name (FQDN) with the A record pointing to the IP address of the Debian 10 Linux system on your Domain Provider.

Para este tutorial, tenemos tecmint.com apuntado a la dirección IP 192.168.0.104.

Paso 1: Instale Certbot en Debian 10

Para empezar, necesitamos instalar Certbot en nuestra instancia de Debian 10. Certbot es un software de cliente de EFF (Electronic Frontier Foundation) que obtiene Let's Encrypt SSL y lo configura en un servidor web.

Para lograr esto, primero actualice los repositorios del sistema.

$ sudo apt update

A continuación, agregue el repositorio en su sistema Debian usando el siguiente comando.

$ sudo apt install python-certbot-apache -t buster-backports

Paso 2: obtenga un certificado SSL para el dominio

Después de instalar correctamente el cliente certbot, procedamos e instalemos el certificado Let's Encrypt usando el siguiente comando.

$ sudo certbot --apache -d your_domain -d www.your_domain

Esto solicitará inmediatamente su dirección de correo electrónico como se muestra a continuación.

A continuación, se le pedirá que acepte los Términos de servicio. Escriba A y presione Enter.

Además, se le preguntará si estaría dispuesto a compartir su dirección de correo electrónico con la fundación EFF y recibir actualizaciones periódicas sobre su trabajo. Escriba Y y presione Enter.

Posteriormente, certbot se pondrá en contacto con los servidores de cifremos y verificaremos si el dominio que está solicitando es un dominio registrado y válido.

Luego, se le preguntará si desea redirigir todas las solicitudes a HTTPS. Debido a que buscamos cifrar el acceso HTTP, escriba 2 para la redirección y presione ENTER.

Y finalmente, si todo salió bien, recibirá la notificación a continuación de que ha habilitado con éxito el protocolo HTTPS en su servidor web y la fecha de vencimiento de su certificado SSL.

Paso 3: Permitir el protocolo HTTPS en el firewall

Si el firewall UFW está habilitado, como siempre se recomienda por razones de seguridad, debe permitir el tráfico HTTPS a través de él; de lo contrario, no podremos acceder a nuestro sitio en un navegador web.

Dado que HTTPS se ejecuta en el puerto 443, abra el puerto ejecutando.

$ sudo ufw allow 443/tcp

A continuación, vuelva a cargar el firewall para efectuar los cambios.

$ sudo ufw reload

Para verificar si los cambios han surtido efecto, ejecute el siguiente comando para verificar el estado del firewall.

$ sudo ufw status

Como puede ver en la salida anterior, el puerto 443 se ha abierto.

Paso 4: verificar HTTPS en el sitio web

Con todas las configuraciones hechas y desempolvadas, es hora de verificar y ver si nuestro servidor web usa el protocolo https. Vaya a su navegador web y escriba el nombre de dominio de su sitio web en la barra de URL seguido del acrónimo https.

Si tiene un poco de curiosidad y desea consultar más información sobre el certificado SSL, haga clic en el símbolo del candado como se muestra.

En el menú desplegable, la opción "Certificado" se indica como "Válido".

Para explorar más información, haga clic en esa opción. Aparece una ventana emergente con todos los detalles, incluido el emisor del certificado (cifremos la autoridad), la fecha de emisión y la fecha de vencimiento.

También puede probar el certificado SSL de su sitio en https://www.ssllabs.com/ssltest/.

Paso 5: Verificación del certificado SSL Certbot de renovación automática

Certbot renueva automáticamente el certificado SSL 30 días antes de su vencimiento. Para verificar el proceso de renovación, ejecute el siguiente comando.

$ sudo certbot renew --dry-run

El resultado a continuación confirma que todo está bien y que el certificado SSL se renovará automáticamente antes del período de vencimiento de 90 días.

Finalmente hemos llegado al final de este tutorial. En este tutorial, aprendió cómo proteger el servidor web Apache con Let's Encrypt free SSL. Si tiene algún comentario o consulta, póngase en contacto con nosotros.