Let’s Encrypt, certificados SSL libres y gratis para asegurar tu web con HTTPS (actualizado)

La web está cambiando, y tengo que decir que a mejor. Uno de los síntomas de estos cambios es que ya no vamos a tener que pagar por un certificado SSL para ofrecer nuestra web a través de HTTPS pues ha nacido una entidad certificadora gratuita, avalada por los grandes de la industria, para que podamos ofrecer más seguridad en la navegación por nuestra web.

Hasta ahora, para instalar un certificado SSL había que pasar por caja, a unos precios anuales que van desde 85 euros hasta 450 euros, dependiendo del tipo de certificado, pero esto se acabó, te presento a Let’s Encrypt.

¿Qué es SSL y HTTPS?

http 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.

SSL es una pieza fundamental para ofrecer una web segura a tus visitantes/clientes Clic para tuitear

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, o incluso menos, lo veremos al final del artículo.

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?

certificados ssl libres gratis lets encrytp

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

En este vídeo hay una explicación muy sencilla (en inglés) de cómo funciona…

¿Quien 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.

sponsors lets encrypt

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, en esta página.

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

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

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

  1. Si el sistema operativo de tu servidor ya incluye un paquete de letsencrypt simplemente instálalo usando el comando letsencrypt. En caso contrario puedes usar el script letsencrypt-auto para obtener una copia desde el repositorio oficial en GitHub:
  2. Si usas Apache y ya tienes el paquete puedes instalar el certificado con el siguiente comando:El script te pedirá el email y, si no está especificado, también el dominio, como se ve en estas capturas de ejemplo:
  1. Si no usas Apache, por ejemplo Nginx, primero hay que obtener el certificado con el siguiente comando:
  2. A continuación tendrás que introducir el email y dominio, y el proceso te informa de que se instalan 2 archivos de certificación, /etc/letsencrypt/live/tusitio.com/ denominados fullchain.pem y privkey.pem.
  3. El siguiente paso es cambiar la configuración de Nginx para que use este certificado. Para ello edita tu archivo de configuración de misitio.com en /etc/nginx/sites-available/ (en algunas instalaciones también podría estar en /etc/nginx/conf.d):
  4. Y luego añadimos esto para forzar el uso de SSL:
  5. También tendremos que comprobar la configuración SSL en el archivo nginx.conf en /etc/nginx/nginx.conf, insertando estas líneas:
  6. Finalmente reiniciamos el servidor Nginx:

Lo siguiente, independientemente del servidor, es forzar a que WordPress use SSL en la pantalla de acceso y en toda la administración, para lo que añadiremos las siguientes líneas al archivo wp-config.php:

Y, para terminar, iremos a la pantalla de administración, a Ajustes -> Generales, y cambiaremos las direcciones URL del sitio y de WordPress, de http a https. WordPress fuerza la salida de administración y ya podemos entrar de nuevo con nuestro sitio en HTTPS con nuestro flamante certificado SSL gracias a Let’s Encrypt.

Aunque sea gratis y libre acojona un poco ¿no?…

Ahora en serio ¿cómo se instala y activa Let’s Encrypt pero de un modo sencillo, para humanos?

ssl

Vale, se puede hacer mucho más fácil, pero aquí dependemos de que nuestro proveedor de hosting nos facilite la tarea. Si tienes esa suerte, el proceso sería mucho más sencillo

¿He dicho mucho más sencillo?, mentía, en realidad sería SUPER SENCILLO.

Que yo sepa, de momento solo SiteGround ha implementado un sistema de este tipo para que cualquier usuario sin conocimientos avanzados pueda instalar fácilmente Let’s Encrypt y crear y activar certificados SSL gratuitos para sus web, a un clic (si hay alguno más me avisáis en los comentarios y lo añado), al menos la parte que a tu servidor le compete, aunque hay una cosilla más que tendrías que hacer, te lo explico luego.

Actualización: Cada día son más los proveedores de hosting que incorporan la instalación sencilla de Let’s Encrypt. Revisa los comentarios.

SiteGround ha creado una aplicación en su cPanel para que puedas instalar certificados SSL gratuitos con Let’s Encrypt.

La aplicación ya está totalmente operativa para todos los alojamientos compartidos en el cPanel, los que usamos el común de los mortales y quienes más agradeceremos esta facilidad, y si lo quieres en dedicados o cloud solo tienes que pedirles que te lo instalen mandando un ticket a soporte.

En @SiteGround_ES puedes instalar gratis certificados SSL a un clic Clic para tuitear

Cómo instalar y activar un certificado SSL Let’s Encrypt en SiteGround

Actualización: Desde primeros de 2017 SiteGround ya tiene certificados SSL gratuitos Let’s Encrypt pre-instalados en todos sus planes, siguiendo las recomendaciones de WordPress. No obstante, revisa todo el artículo para aprender cómo instalar nuevos certificados si añades más webs a tu plan o si ya estabas alojado en SiteGround previamente.

Primero, por supuesto, vas a SiteGround, entras en el cPanel de tu cuenta y localizas el icono de Let’s Encrypt y haces clic para abrirla:

letsencrypt siteground cpanel

Una vez dentro solo tienes que elegir el dominio y email asociado y darle al botón “Instalar“…

instalar certificado ssl letsencrypt siteground

El proceso de instalación se inicia automáticamente y en menos de un minuto ya lo tienes, pudiendo acceder a la versión https de tu web.

¿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

WordPress ssl https

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:

  1. Añadir estas líneas al archivo .htaccess:
  2. Añadir estas líneas al archivo wp-config.php:
  3. Cambiar en Ajustes -> Generales las URLs de WordPress y el sitio de http a https

Pero puedes hacer los 3 pasos de golpe y sin tocar ni una línea de código ni cambiar ajuste alguno, con un maravilloso plugin llamado Really Simple SSL, que realiza los 3 pasos por ti solo con activarlo.

Solo un consejo personal, pásate por la página de ajustes del plugin, en Ajustes -> SSL -> Settings y desactiva la casilla denominada Enable javascript redirection to ssl, pues no es necesaria salvo que el plugin no haya podido añadir las líneas de redirección a https en el archivo .htaccess.

really simple ssl wordpress

Deja el resto sin tocar. Sé que es tentador activar eso llamado Turn HTTP Strict Transport Security on, pero si luego decides echarte atrás tus visitantes seguirán siendo redirigidos a la versión HTTPS de tu web durante un año aunque luego lo desactives de nuevo, ahí es nada. No hace falta en realidad así que no lo actives, no marques la casilla.

SSL, HTTPS y el SEO

¿Hemos terminado? En realidad no, 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.

añadir propiedad https en google search console

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.

Tras instalar un certificado SSL debes modificar la URL a https en la Search Console #SEO Clic para tuitear

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.

SSL y Google Analytics

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.

cambiar http https en google analytics

Contenido mixto

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.

mixed-content-ssl-wordpress

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.

cambiar-url-dominio-wordpress-search-replace

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.

cambiar-https-base-de-datos-wordpress-ssl-search-replace

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

hacer-search-replace-base-de-datos-wordpress

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

Nota importante: 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.

¡Ya está!

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

certificado ssl letsencrypt

Extra: Comprobación de la seguridad del certificado SSL de Let’s Encrypt

Si tienes alguna duda de la validez y seguridad de tu certificado SSL de Let’s Encrypt puedes comprobarlo en alguna de las siguientes webs:

He probado todas las webs en las que ya he activado los certificados SSL de Let’s Encrypt y los resultados son 100% satisfactorios.

 

Extra: SSL y CloudFlare

Te sonará, y sino te lo digo yo, que a veces hay problemas cuando tienes activa la CDN de CloudFlare e instalas un certificado SSL, y es cierto.

Lo normal es que veas este feo error:

Error: The server experienced a TLS error during domain verification

No hay problema, simplemente pausa tu servicio de CloudFlare e instala/activa de nuevo Let’s Encrypt.

Extra: HTTPS y HTTP/2

http2

¿Te suena HTTP/2?

En breve te diré que es el nuevo protocolo que va a sustituir a HTTP/1.1, que ya lleva con nosotros demasiado tiempo.

Es importante la relación con los certificados SSL para ofrecer HTTPS, pues HTTP/2 requiere de HTTPS, necesita un certificado SSL, así que si instalas un certificado SSL ya estás preparado para la siguiente generación de la web, de Internet, pero esto del HTTP/2 ya lo vimos en otro artículo, que también es muy interesante.


¿Te quedan dudas? ¿Ya tienes SSL?

Si tienes alguna duda o quieres apuntar algo que se me haya pasado es tu turno, ahí tienes los comentarios para aprender todos juntos y mejorar la web que conocemos.

Valora este artículo para mejorar la calidad del blog ...

PobreRegularEstá bienMuy buenoExcelente (69 votos, promedio: 4,84 de 5)
Cargando…

Autor: Fernando

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran.Autor del libro WordPress - La tela de la araña. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

Comparte esta entrada en
468 ad

ESTA WEB UTILIZA COOKIES PARA OFRECER LA MEJOR EXPERIENCIA POSIBLE. SI SIGUES NAVEGANDO DAS TU CONSENTIMIENTO PARA LA ACEPTACIÓN DE COOKIES Y NUESTRA POLÍTICA DE PRIVACIDAD más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar