¿Cómo instalar un certificado SSL gratuito?

¿Cómo instalar un certificado SSL gratuito?

¿Mi página necesita un certificado SSL?

Viajero bienvenido a este nuevo POST donde te hablaré un poco de los certificados SSL (Secure Sockets Layer) y como es que puedes agregarlo a tu página, y respondiendo a si necesitas o no un certificado SSL, la respuesta es "Si", el tema de seguridad ha tomado mucha importancia a tal grado que es un factor de posicionamiento para que tu sitio web aparezca o no en los resultado de los buscadores como Google, así que te dejo esta guía y, si crees que te he ayudado, puedes suscribirte a mi canal de YouTube o compartir este POST en tus redes sociales.

¿Cómo instalar un certificado SSL gratuito?

by Juan Carlos García

30-En-2023

(5)


InicioservidoresCertificado SSL gratuito

¿Qué es un certificado SSL?

Tema interesante y lo primero que debes aprender es que es o que se refiere tener un certificado de seguridad en tu página, aquí una definición sencilla

Los certificados SSL (Secure Socket Layer) son una capa de conexión segura que forma parte de un estándar de seguridad mundial que le da a tu sitio web un título digital que autentifica su identidad y permite la transferencia cifrada entre el navegador y tu servidor web.

En resumen, cuando tu agregas un certificado de seguridad, la URL de tu sitio debe cambiar de HTTP a HTTPS (¿Qué es HTTP?) y aparecerá un icono de un candado que indica que "La conexión es segura" y como consejo si has migrado a HTTPS, no olvides que toda conexión que llegue por HTTP se redireccione a HTTPS, más adelante veremos el ¿Por qué?.

  • Al dar clic en el candado se debe ver algo así:
Certificado SSL en la URL

 

 

¿Cómo instalar un certificado SSL gratuito?

Bien, vayamos a lo bueno, como es que puedes dar seguridad a tu página instalando este tipo de aditamentos de una forma gratuita. Para esto vamos a utilizar dos herramientas muy buenas y que como desarrollador o webmaster debes conocer

  • Let's Encrypt
  • Cerbot

Estas dos herramientas son muy potentes una como proveedor y la otra para administrarlos de cierta manera y, para que quede mas claro hablemos un poco de estas dos herramientas

¿Qué es Let's Encrypt?

En los dos casos que abarcarémos utilizaremos Let's Encrypt y para los que no lo conocen

Let's Encrypt es un proveedor de certificados SSL gratuitos que puedes agregar a tu página, además, es multiplataforma, lo puedes utilizar con Apache, IIS o Nginx.

Muchos proveedores de hosting tienen la opción de agregar un certificado gratis y precisamente utilizan a Let's Encrypt como proveedor. Si ves esta opción en tu panel de control esta de lujo, ya que con unos cuantos clic tendrás en tu sitio el HTTPS y si no, pues te tocará seguir los pasos que te dejaré aquí.

¿Qué es Cerbot?

Cerbot es un software de código abierto o cliente ACME desarrollado por EFF (Electronic Frontier Foundation) y es el cliente oficial de Let's Encrypt para obtener certificados SSL/TLS.

Bien ahora que conoces lo indispensable, vamos a ir analizando parte por parte algunas opciones que tienen estas herramientas y aprenderás a utilizar Cerbot de una manera muy sencilla, no olvides compartir en tus redes sociales para que podamos ayudar a más colegas.

Consideraciones antes de la instalación

Antes de comenzar debes asegurarte que tu dominio ya esta apuntando a tu servidor y nos vamos a centrar en los siguientes software:

  • Nginx
  • Apache

Los cuales suelen ser los servidores web más populares

Instalar certificado SSL Let's Encrypt desde la Shell

Para iniciar vamos a instalar nuestro SSL desde la Shell empezando por Nginx y Ubuntu 18

Lets's Encrypt con Nginx

1. Primero debes de acceder a tu consola a través de SSH y asegúrate de tener altos privilegios (SUDO), a continuación, actualiza el índice local de paquetes.

sudo apt-get update

2. Ahora tienes que validar que tienes instalado snapd y cuentas con la ultima versión.

sudo snap install core; sudo snap refresh core

3. Elimine certbot-auto y cualquier paquete de Certbot OS que hayas instalado previamente.

  • Si tiene algún paquete de Certbot instalado usando un administrador de paquetes, por ejemplo: apt, dnfo yum.
  • Debes eliminarlo antes de instalar el complemento Certbot para asegurarse de que cuando ejecuta el comando, certbot se utilice el nuevo complemento en lugar del que se ha instalado desde el administrador de paquetes.
  • La desinstalación depende de la forma en que lo hayas instalado, aquí algunos ejemplos:
sudo apt-get remove certbot
sudo dnf remove certbot
sudo yum remove certbot

4. Ahora debemos instalar cerbot

sudo snap install --classic certbot

5. Validación y preparación del comando cerbot

  • Ahora nos debemos asegurar que el comando cerbot puede ser ejecutado sin problema.
sudo ln -s /snap/bin/certbot /usr/bin/certbot

6. Obtención del certificado, en este punto contamos con dos opciones

  • Podemos obtener los certificados e instalarlos
  • Solo obtener los archivos del certificado

Ok, para obtener los certificado e instalarlos lo tenemos que hacer con la siguiente instrucción y si estas haciendo la acción mientras lees mi POST "Espera" no lo ejecutes aún.

1. Este comando edita en automático tu archivo nginx.conf y te mostrara una serie de opciones que deberás ir introduciendo

$ sudo certbot --nginx

2. Ahora, para obtener los certificados sin instalarlos, debe ser con el siguiente comando, pero, en esta opción tu debes actualizar el archivo nginx.conf manualmente

$ sudo certbot certonly --nginx
  • Bien, ahora si vamos a ejecutar los comandos, yo te recomiendo que utilices la primera opción si no tienes mucho conocimiento de Nginx ya que la herramienta hará el trabajo por ti, pero también te invito a que experimentes ya que es la mejor manera de aprender.
  • Entonces utilizando la primera opción quedaría algo así la creación de nuestro certificado
$sudo certbot --nginx -d ewebik.com -d www.ewebik.com -d subdominio.ewebik.com

El comando anterior indica que el certificado debe instalarse y debe cubrir el dominio y los subdominios indicados, recuerda que el dominio debe ya resolver en el servidor donde estas corriendo Cerbot. Excelente si has seguido los pasos correctamente ya tienes SSL en tu sitio web.

Renovación automática del certificado gratuito

Pero estos certificados solo son validos por 90 días, por lo tanto vamos a crear una tarea que se ejecute todos los días por ejemplo y revise si hay algún dominio que debe renovarse y esto se hace con los siguientes comandos.

Ejecuta  --dry-run para realizar una prueba y verificar que todo esta bien antes de proceder con la renovación

$ sudo certbot renew --dry-run

Si todo ha salido correctamente, puedes ejecutar el comando quitando --dry-run para actualizar tus certificado, puedes hacer esto en un cron para que del diario revise que tus certificados deben actualizarse.

$ sudo certbot renew

Puedes agregar esto en alguna de las siguientes ubicaciones para que se cree la tarea

/etc/crontab/
/etc/cron.*/*
systemctl list-timers

Actualizando Cerbot

Si ya tienes instalado tu SSL y al actualizar te ha botado un error, revisa que tengas la última versión de Cerbot ya que muchas veces la renovación no se lleva a cabo precisamente por que no tienes instalada la ultima versión, para ello vamos a utilizar los siguientes comandos.

$ certbot --version
$ sudo apt-get update
$ sudo apt-get install --only-upgrade certbot
  • Con el primer comando revisamos que versión tenemos instalada
  • Con la segunda actualizamos nuestro sistema
  • Y con el tercer comando ejecutamos la actualización de nuestro Cerbot
  • Ahora vuelve a ejecutar la actualización de tus certificados y en la mayoría de los casos ya no te debería mostrar error.

¿Por que redireccionar de HTTP a HTTPS?

Si has seguido los pasos correctamente ya habrás notado que durante la instalación te brinda la opción de redireccionar todas las solicitudes a HTTPS, espero que hayas activado esta opción ya que te evita problemas como

  • Sitio duplicado, si tus usuarios pueden acceder a una versión HTTP y HTTPS de tu sitio, ante los buscadores tu sitio esta duplicado ya que en dos diferentes URL se muestra el mismo contenido y esto afecta tu posicionamiento
  • Desconfianza, los usuarios que acceden a un sitio HTTP puede que les muestre que el sitio no es seguro y esto no da confianza para realizar transacciones en un sitio
  • Exponer los datos de tus usuarios, si tu sitio esta cifrado toda la información que fluye del navegador a tu servidor esta cifrada y no cualquiera la puede leer.

Tipos de certificados

Para complementar este tema, te dejo algunos tipos de certificados SSL con los que te encontrarás y es importante que los conozcas para que le puedas brindar a tus clientes una mejor solución.

  • Único, este tipo da seguridad a un solo dominio o subdominio.
  • Comodín, proporciona seguridad a un dominio y subdominios ilimitados.
  • Multidominio, da seguridad a varios dominios.

Validación de dominios

Dentro de los tipos también podemos encontrar aquellos que dependen de validación, por ejemplo:

  • Validación de dominios, esta opción es de las más baratas ofrece un cifrado básico y la verificación del dueño o titular del dominio.
  • Validación de organización, proporciona lo mismo que la validación básica y autentifica más información como el nombre y dirección del propietario.
  • Validación extendida (EV), es uno de los más completos, se entrega después de una investigación exhaustiva para su creación, se esta opción se analiza por ejemplo, que el propietario sea una entidad legal, física y operativa.

¿En donde se utilizan los certificados SSL?

Principalmente en un sitio web ya que al momento que tus usuarios entran a tu página mostrará la leyenda de sitio seguro, además de ser un punto importante para la mejora de tu SEO. De igual forma puedes aplicar un certificado si expones una API o servicio web al cual deben apuntar en cada request.

¿Dónde obtener un certificado SSL?

Bueno ya has visto los tipos de certificados, puedes adquirir uno gratuito, pero también puedes comprar uno en sitios como Goddady entre otros.

Excelente, hemos llegado al final de esta guía, se que es bastante técnico, pero si sigues los pasos tal como te los he dictado, no tendrás problemas, ya que es la forma en la que lo hago yo y, esta página es un ejemplo de ello, nos vemos vemos en el siguiente post.

Juan Carlos

Juan Carlos García

Desarrollador de software / SEO

Durante años he desarrollado plataformas dedicadas al rastreo satelital y varios sitios web que se encuentran en la primera página de Google, y hoy quiero compartir contigo lo que se en tecnologías como: Node JS, PHP, C# y Bases de datos.

Si quieres apoyarme sígueme en mis redes sociales y suscríbete a mi canal de YouTube.

EWebik

Diseño de páginas web y aplicaciones moviles.

© 2024 EWebik