¿Cómo instalar un Certificado SSL gratuito de «Let’ Encrypt» en Apache?
Hace ya algunos años atrás Google y otras grandes empresas que marcan tendencias en Internet han puesto en marcha la red segura. Para poder hacer realidad ese proyecto comenzaron a darle más relevancia en los resultados de búsquedas en la gran red a los sitios seguros. Pero esta implementación es demasiada costosa para personas individuales con un simple blog personal por lo que crearon Let’s Encrypt, un consorcio de empresas que brindan certificados SSL de modo gratuito para nuestros sitios. En este Apunte IT te muestro el modo de implementarlo en el VPS gratis que implementamos en Google Cloud Platform sobre el motor Apache.
Internet es una vasta red de un gran número de redes entrelazadas. Los servidores web alimentan diferentes sitios web para hacerlos accesibles a través de navegadores web.
Desafortunadamente, los sitios web y otras redes son propensos a sufrir ataques de piratas informáticos. En la era actual del comercio electrónico, los pagos en línea de bienes y servicios, los negocios en línea, la seguridad es vital.
Antes de arrojar luz sobre cómo puede evitar que tu sitio web sea pirateado o infectado por cualquier intrusión externa, echemos un vistazo a algunos temas importantes que cubriremos en esta publicación.
Índice de artículo
¿Qué es SSL?
SSL son las siglas de Secure Socket Layer. SSL crea una capa cifrada de transmisión de datos entre los dos sistemas.
Ya sea que se trate de comunicación de servidor a servidor o de servidor a navegador, SSL permite la transmisión de datos encriptados y evita su acceso a un extraño.
Para crear una conexión SSL, un servidor necesita un certificado SSL.
¿Cómo SSL hace que su sitio web sea seguro?
El cifrado de los datos transmitidos asegura que toda la información permanezca privada. Los piratas informáticos no pueden interpretar ni robar la información personal, como números de tarjetas de crédito, etc., transmitida bajo la capa segura.
Si un sitio web responde al servicio SSL y cuenta con un certificado válido, aparece un icono de candado en la barra de direcciones antes de la dirección web.
Si los datos se transmiten sin cifrado, los cyber delincuentes pueden robar la información personal, como ID de inicio de sesión, números de tarjetas de crédito, direcciones de correo electrónico, direcciones de correo postal, contraseñas, etc.
Los sitios web de renombre tienen habilitado el cifrado SSL en su sitio para proteger su propio negocio, a visitantes y a clientes. Si un sitio está cifrado con SSL pero no cuenta con un certificado firmado por una entidad reconocida, el usuario verá una advertencia de que «es posible que no sea seguro visitar el sitio web».
Cifrados SSL: ¿Cómo funcionan?
- Un navegador intenta establecer una conexión segura con un sitio web protegido por SSL después de obtener su dirección IP de un servidor DNS. La dirección web de un sitio seguro SSL comienza con «HTTPS» en lugar de «HTTP».
- El navegador inicia una solicitud de copia del certificado SSL del servidor.
- Después de recibir la copia del certificado SSL, se asegura de que el certificado no esté caducado, coincida con el nombre de dominio, confirma los estándares de seguridad, como la longitud de la clave, etc., asegura que esté firmado por una CA de confianza (Autoridad de certificación).
- Una vez que el certificado SSL parece confiable, el navegador crea una clave de sesión simétrica.
- Cifra la clave de sesión con la clave pública del certificado SSL del sitio web.
- El servidor descifra la clave de sesión simétrica enviada por el navegador.
- El servidor reconoce el cifrado.
- Toda la comunicación entre el servidor web y el navegador en cuestión ahora está encriptada.
Netscape desarrolló el protocolo SSL en la década de 1990. Había varias fallas en el Protocolo y su implementación que lo hacían vulnerable. Para hacer frente a estos problemas, se desarrolló el protocolo TLS.
¿Qué es TLS?
TLS es una evolución del SSL y es compatible con versiones anteriores. Se les conoce comúnmente como SSL / TLS.
SSL / TLS es el protocolo de seguridad más utilizado en la actualidad. Se compone de dos capas, TLS Record Protocol y TLS Handshake Protocol.
TLS Handshake Protocol establece las reglas para la negociación de los sistemas criptográficos para la comunicación.
Decide cómo un servidor y un navegador establecerán una conexión. También administra el intercambio de claves públicas y de sesión para la transmisión de los datos cifrados.
TLS Record Protocol establece las reglas para el intercambio de datos a través de SSL. Define las reglas de cifrado y descifrado de los datos transmitidos.
Todo el proceso de verificación de los certificados de seguridad permanece invisible para el usuario y se completa muy rápidamente.
Una vez que el servidor se autentica, aparece un icono de candado en la barra de direcciones y la URL cambia de HTTP a HTTPS.
Diferencia entre HTTP y HTTPS
HTTP significa «Protocolo de transferencia de hipertexto» y HTTPS significa «Protocolo seguro de transferencia de hipertexto».
El hipertexto es texto enriquecido, un texto que contiene enlaces, formatos y otros elementos. La transferencia de hipertexto a través de varios canales a través de la red necesita un conjunto particular de reglas o protocolo.
HTTP define las reglas para la transferencia de datos entre el navegador y el servidor. Cuando se implementa un protocolo de seguridad con HTTP, se convierte en HTTPS.
Los bancos financieros en línea, los sitios web de comercio electrónico, las plataformas de pagos y muchos otros sitios web que necesitan manejar información confidencial utilizan HTTPS para el cifrado.
HTTPS es necesario para salvaguardar los intereses de los clientes y las empresas. HTTP, por otro lado, se utiliza para la transmisión de datos entre el navegador y el servidor sin cifrado.
Para tener un nombre de dominio HTTPS, necesita un certificado SSL de una CA (Autoridad de certificación). Puede utilizar Let’s Encrypt para obtener un certificado SSL y hacer que su sitio web sea seguro de forma gratuita.
Let’s Encrypt
Let’s Encrypt es una CA (Autoridad de certificación) que otorga certificados gratuitos para el cifrado TLS mediante un procedimiento automatizado.
Muchas empresas como Google, Automattic, Mozilla se han unido para apoyar Let’s Encrypt para aumentar el nivel de seguridad general en Internet.
ISRG (Internet Security Research Group) lo mantiene. Su entorno de gestión automática de certificados (ACME) le permite instalar un certificado con solo unos pocos comandos.
Configurar Let’s Encrypt SSL
Usamos el certificado SSL para proteger el sitio web en el servidor web Apache. Certbot es la utilidad de línea de comandos para trabajar con certificados cifrados.
Para instalar Cerbot en nuestro VPS FREE primero debemos instalar el paquetes mostrado debajo que instalará todas las dependencias necesarias.
$ sudo apt install python3-certbot-apache
Una vez finalizado el proceso de instalación ya contamos con todo lo necesario para poder solicitar a Let’s Encrypt que nos entregue un certificado válido para nuestro dominio en internet.
Con el siguiente comando vamos a solicitar a la autoridad de certificación que emita un certificado para nuestro dominio apuntesit.ml. Puede agregar varios dominios o subdominios utilizando parámetros «-d» separados.
$ certbot -d apunteit.ml -d www.apuntesit.ml
El asistente le pedirá su dirección de correo electrónico para enviarle actualizaciones y notificaciones del vencimiento de certificados de ser necesario. Luego debe aceptar los Términos del Servicio para continuar.
A continuación se muestran los registros de comando completos:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for apuntesit.ml http-01 challenge for www.apuntesit.ml Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/apuntesit.ml-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/apuntesit.ml-le-ssl.conf Enabling available site: /etc/apache2/sites-available/apuntesit.ml-le-ssl.conf 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): 2 Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/apuntesit.ml.conf to ssl vhost in /etc/apache2/sites-available/apuntesit.ml-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://apuntesit.ml You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=apuntesit.ml https://www.ssllabs.com/ssltest/analyze.html?d=www.apuntesit.ml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/apuntesit.ml/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/apuntesit.ml/privkey.pem Your cert will expire on 2021-05-03. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot 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 Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Ha configurado correctamente su dominio con certificado SSL. Ahora, puede acceder a su dominio a través del protocolo https como se muestra en la captura de pantalla a continuación:
Let’s Encrypt en WordPress
Puede obtener un certificado SSL de Let’s Encrypt para su sitio web de WordPress de muchas formas diferentes.
Es aconsejable que su sitio web sea seguro con un certificado SSL, especialmente cuando ahora es gratuito.
Además de mejorar la seguridad de su sitio web, también ayuda a generar confianza entre sus lectores, clientes y clientes. También puede tener un impacto positivo en la clasificación de su motor de búsqueda.
En el siguiente video de nuestro canal de YouTube muestro como implementar el certificado SSL de Let-s Encrypt en el Web Hosting Gratis que instalamos en este apunte.
Para resumir
La instalación de un certificado SSL puede parecer un poco abrumador al principio, pero no es tan difícil hacer que tu sitio web sea seguro con un certificado SSL.
Debes mejorar la seguridad de tu sitio web con SSL, especialmente porque puedes instalarlo de forma gratuita utilizando Let’s Encrypt. Puede salvarlo de una gran cantidad de ataques de hackers y mantener protegida la información confidencial.
Además de mejorar la seguridad de su sitio web, un certificado SSL también genera confianza para su sitio y mejora el valor de su sitio para los motores de búsqueda.
Además del cifrado SSL, no olvides mantener tu sitio web completamente actualizado, proteger tu nombre de usuario y contraseña y realizar copias de seguridad periódicas.
Instalar un certificado SSL generado por Let’s Encrypt en tu sitio web de WordPress es muy fácil con los hosts que tienen el complemento Let’s Encrypt en su cPanel. Y mucho más sencillo en un VPS como lo mostramos en este artículo.
Solo necesitas cargar el certificado generado en su sitio web, actualizar algunas configuraciones y la seguridad de tu sitio mejorará.
No olvides compartir esta publicación con tus amigos que actualmente usan WordPress para sus blogs y sitios web. Sin duda, les ayudaría a mantener su sitio web seguro y protegido de cualquier intrusión no autorizada.
Trabajando desde el año 1990 en el mercado de la tecnología. Técnico en Electrónica. Administrador de Sistemas. Administrador de Redes. Técnico en telecomunicaciones. Técnico de plataforma satelital. Incursiono en el Software Libre desde mediados del 1997. Desde entonces utilicé varias distribuciones GNU/Linux comenzando con un RedHat 5.0
Formé parte del Core Team y miembro del grupo de desarrollo del Proyecto UTUTO.