¿Cómo instalar un certificado SSL gratuito?

Juan Carlos G 2020-01-03
¿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, 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. 🤘

 

📌 Suscríbete a mi canal y activa la campanita para que no te pierdas ningún video 🤘

 

¿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 titulo 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, mas adelante veremos el ¿Por qué?.

 

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

 

 

¿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 abarcaremos 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, ademas, 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 dejare 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 mas 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 mas 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)

 

2. Ahora debemos agregar el repositorio nuestro Cerbot PPA y lo haremos con las siguientes instrucciones

 

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository universe
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update

 

3. Listo, ahora debemos instalar Cerbot

$ sudo apt-get install certbot python-certbot-nginx

 

4. 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 aun.

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

 

Y para obtener los certificados sin instalarlos debe ser con lo siguiente, en esta opción tu debes actualizar tu 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.

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 ultima 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 mas información como el nombre y dirección del propietario.
  • Validación extendida (EV), es uno de los mas 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 cetificados SSL?

Principalmente en un sitio web ya que al memento que tus usuarios entran a tu página mostrará la leyenda de sitio seguro, ademas, 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.

 

 


EWebik.com

Juan Carlos G

Electrónica y diseño web


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.

@Puedes seguirme en mis redes

📌 Suscríbete 🤘