Let’s Encrypt certificados SSL libres y gratis

Hasta ahora, para instalar un certificado SSL había que pasar por caja, a unos precios anuales que no son precisamente baratos, dependiendo del tipo de certificado, pero con Let’s Encrypt se acabo esos precios abusivos.

¿Qué es SSL y HTTPS?

SSL es un protocolo por el cual garantizas a tus visitantes que tu web es realmente la que desean visitar, y que todos los datos y transacciones realizadas en la misma viajan por la red encriptados.

Huelga decir que es imprescindible para una tienda online, pero también para cualquier web en la que quieras que tus visitantes se sientan seguros al compartir su información, contraseñas o lo que sea que interactúen en tu sitio.

Identificas fácilmente una web segura con SSL porque en la barra de direcciones del navegador verás un icono de un candado al lado de la URL, y en navegadores como Chrome, haciendo clic en el susodicho candado, se mostrará el certificado, su nivel de seguridad y la certificación que lo ampara.

El protocolo HTTP se ha usado durante décadas, con relativo éxito, pero básicamente con HTTP estamos ofreciendo una navegación insegura, susceptible de inyecciones y robo de identidades, datos de usuario, etc.
El problema con la implantación masiva de HTTPS no ha sido por ninguna dificultad técnica sino, como suele pasar, por mera burocracia y los costes de los mismos certificados SSL.

A eso hay que sumarle que, hasta ahora, instalar un certificado SSL podría llevar a un desarrollador entre 1 o 3 horas tenerlo activo. Con Let’s Encrypt, además de eliminar la burocracia y los costes, instalar y activar un certificado puede ser cosa de unos minutos.

En definitiva, son una pieza esencial en la seguridad de una web, con la que garantizas a tus visitantes/usuarios/clientes que sus datos estarán cifrados y, en consecuencia, mucho más seguros que sin SSL.

¿Qué es Let’s Encrypt?

Let’s Encrypt es un esfuerzo, impulsado por la Fundación Linux, para crear una entidad certificadora que ofrezca certificados SSL abiertos, libres, gratuitos y automáticos.

Esto significa, para que nos entendamos, que ya no habrá que pasar por caja y pagar a una empresa certificadora para tener un certificado SSL seguro, sino que podemos usar esta entidad de certificación, avalada por los grandes de Internet, que no cobra. Let’s Encrypt ya ha emitido más de 24 millones certificados en el primer año, y la cifra aumenta a diario.

Algunas características de Let’s Encrypt que te encantarán son las siguientes:

  • Totalmente gratuitos
  • Fácil instalación
  • No hace falta ningún email de confirmación
  • No hace falta tener IP dedicadas, que también supondrían un coste adicional
  • Todos los principales navegadores los reconocen
  • Se renuevan automáticamente, gratis, salvo que decidas revocarlos

¿Quién está detrás de Let’s Encrypt?

Una enorme garantía de que esto no es flor de un día es que detrás de Let’s Encrypt están la mayoría de los grandes de Internet, y me refiero a Facebook, Google, Automattic, Cisco, Akamai, Sucuri, KeyCDN o SiteGround.

Cualquier empresa, o tu mismo, puede patrocinar el proyecto, ya sea pagando una suculenta suma para garantizar la supervivencia de la entidad, como han hecho los grandes de la industria, o mediante pequeñas donaciones por Paypal.

Quien está detrás de Let’s Encrypt

En cualquier caso, vista la apuesta de las principales empresas, Let’s Encrypt tiene un gran futuro, ya presente.

¿Cómo se instala y activa Let’s Encrypt?

Hasta ahora el modo de instalar y activar un certificado SSL de Let’s Encrypt pasa por el siguiente procedimiento:

Si el sistema operativo de tu servidor ya incluye un paquete de letsencrypt simplemente instálalo usando el comando letsencrypt.

Tienes la documentación en su web https://letsencrypt.org/docs/

¿Caducan los certificados SSL de Let’s Encrypt?

No te asustes si ves que al crear un certificado SSL de Let’s Encrypt pone que dura hasta dentro de 3 meses, es así por defecto pero se renuevan automáticamente salvo que no decidas en algún momento revocarlos. Son para siempre.

Usar certificado SSL y HTTPS por defecto en WordPress

Aunque el certificado ya esté instalado, y puedes acceder a la versión https de tu dominio aún falta un paso, para que forzar a que siempre se visite tu web mediante HTTPS, de manera segura, da igual si has usado la instalación manual o la automática de SiteGround…

Los pasos, manuales, serían los siguientes:

Añadir estas líneas al archivo .htaccess:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tusitio.com/$1 [R=301,L]

Añadir estas líneas al archivo wp-config.php:

define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

Cambiar en Ajustes -> Generales las URLs de WordPress y el sitio de http a https

SSL, HTTPS y el SEO

Ahora quedan un par de cosas que hacer antes de dar por terminada la tarea de ofrecer navegación segura por nuestra web.

No sé si habrás caído pero resulta que Google tiene identificada nuestra web como http://loquesea.es pero ahora se llega por https://loquesea.es, y es absolutamente imprescindible decirle lo que ha pasado, que nuestra web ya es segura y se llega por HTTPS.

Ten en cuenta algo vital: todas las URLs de tu sitio han cambiado, y si no haces nada podrías arruinar el SEO de tu sitio.

Para ello debemos ir a la Search Console de Google, antes conocida como Herramientas para Webmasters, y añadir la propiedad, poniendo nuestro dominio como https.

Si ya teníamos configurado nuestro sitio con el código de verificación no hará falta hacerlo de nuevo pues nos ofrece el mismo. Solo quedaría decirle dónde tenemos el sitemap, como con cualquier otro dominio, fin.
También se podría hacer mediante la opción de la consola de cambio de dominio pero he comprobado que el resultado es el mismo, lo que prefieras.
Si, además, quieres seguir realizando seguimiento de tráfico y campañas mediante Google Analytics tendrás que pasarte por la administración del servicio y cambiar la dirección de la propiedad a https, sencillo desde el desplegable donde está el dominio.

Es probable que al ver los detalles de seguridad de tu sitio en la consola de Chrome u otros navegadores veas algo llamado Mixed content que impide que los analizadores de SSL certifiquen tu sitio como totalmente seguro.

Esto es debido a que en tu sitio tendrás muchos enlaces a páginas y contenido de tu sitio (imágenes, etc.) que apuntan a direcciones http en vez de https. Por ejemplo, en entradas, páginas o incluso widgets donde haya imágenes o urls apuntando a la versión http.

Un modo estupendo de comprobar el contenido mixto en tu sitio y tratar de solucionar los problemas encontrados en unos clics es usar el plugin SSL Insecure Content Fixer.

Una vez instalado y activo soluciona muchos de los problemas de contenido mixto. Para todo lo demás sigue leyendo …

La solución a los problemas de contenido mixto relacionados con URLs introducidas manualmente pasa por usar – como siempre – el maravilloso plugin Search & Replace y reemplazar cada cadena http://tusitio.es por https://tusitio.es

Primero ve a la pestaña Replace domain URL y pon la nueva dirección con https.

A continuación ya ve a la pestaña Search & Replace y haremos el cambio real en todas las tablas. Primero haremos una prueba dejando marcada la casilla Dry run.

Una vez vistos los cambios que se harán, desmarca la casilla Dry run y haz los cambios reales en la base de datos, marcando la casilla Save changes to Database

Cuando termines de hacer los cambios puedes desactivar el plugin Search & Replace.

El plugin hará una copia de seguridad automática de tu base de datos antes del cambio, para mayor seguridad antes pásate por la pestaña Backup database y exporta tu base de datos en un sitio seguro por si acaso.

A partir de ahora, cuando visitemos tu blog, web, tienda online o lo que sea, lo haremos de manera segura, con nuestros datos de usuario o cliente viajando cifrados por tu sitio.