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

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 Click Para Twittear

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 cerca de 500.000 certificados, 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 y activa 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.

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 Click Para Twittear

Nota: veo que Dreamhost también ofrece Let’s Encrypt, hay que pedirlo a soporte pero te lo instalan y asesoran. Si alguien lo ha probado que lo cuente.

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

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.

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 Click Para Twittear

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

¡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

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.

 

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.

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 vemos otro día, 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 (28 votos, promedio: 4,89 de 5)
Loading...

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
  • Este post es un magnifico aporte, gracias por el tiempo de redactarlo, compartirlo y divulgarlo.

    • A mandar, de eso se trata, de compartir lo poco que se 🙂

      • Custser

        Hola fernando, hay cosas que no me han quedado clara, ¿si tengo un server con 50 Vhost como podría hacer un certificado para cada vhost? Habrá tambien unos 120 subdominios.

        Entiendo que habría que hacer “Una instalación” Por cada dominio y subdominio y al hacerlo indicarle que dominio le pertenece ese certificado. ¿es así?

        • Si tu hosting lo tiene puedes crear un certificado (de hecho debes) para cada dominio y subdominio

  • Fernando Puente

    Interesante iniciativa para llevar SSL al común de los mortales, por una web más segura.
    Muy útil que toda la administración la tengamos bajo HTTPS sobre todo si utilizamos mucha red pública en nuestro día a día.
    Por mi parte recomiendo solicitar el certificado con el www por delante, por elegancia, y que todo el mundo entre por https://www.tudominio.com
    Asegúrate además, tras el cambio, de que todas las apps que consuman contenido de tu site (clientes externos, API´s, etc…) lo hagan vía HTTPS para no llenar de redirecciones continuas el servidor.

    Aviso para navegantes: lo primero que notareis es una pequeña caída en la velocidad del site al pasar a HTTPS, debido a que se transmite más información, pero es casi inapreciable, y además Google os va a mirar con mejor cara.
    Y una nota: si trabajas con subdominios, te aconsejo pedir un certificado por cada uno y gestionarlos de manera separada, normalmente son instalaciones distintas.

    Como bien dices al final del post, este es un paso previo, y necesario, al HTTP/2 que va a mejorar nuestro rendimiento, esperamos impacientes…
    Saludos

    • Buenos apuntes como siempre Fernando (Puente) 🙂

      Lo de los subdominios es muy importante, y como en esto son gratis pues genial, no hay dolor.

      Ahora bien, lo del www, en mi humilde opinión es una pijada amigo, por una vez no estoy de acuerdo contigo. Vale que es un asunto cosmético para gente viejuna, pero ya XDDD

      • Fernando Puente

        Asumo lo de “viejuna”, que remedio.

        • Lo dejamos en “vintage” 😀

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

  • Llevo utilizando Let’s Encrypt prácticamente desde el día que lo lanzaron públicamente el pasado Diciembre de 2015 y debo decir que SiteGround no es el único que implementa un sistema para instalar un certificado SSL de Let’s Encrypt de forma rápida y sencilla; aunque cPanel es el panel de control por excelencia su principal competencia, Parallels Plesk, trae consigo la posibilidad de instalar una extensión oficial con la cual instalar un certificado SSL es tan fácil como introducir una dirección de correo electrónico para la renovación y pulsar en activar o renovar en el caso que ya esté activado (aunque se renueva automáticamente).

    Yo trabajo con servidores dedicados, pero para quien le interese, los hostings más populares que yo conozco con Parallels Plesk (opcional, claro) son GoDaddy, 1&1 y Host Gator, a parte de SiteGround por supuesto que desconozco que panel de control utiliza – seguramente sea cPanel, una apuesta segura y confiable, aunque en lo personal Plesk me tiene enamorado por el soporte que ofrece para WordPress – pero que también permite la implementación como bien nos has explicado.

    ¡Saludos!

    • cPanel, en la captura del icono se ve 😉

      Gracias por tus aportaciones Javier, fantásticas como siempre 🙂

  • Pingback: Let’s Encrypt, certificados SSL libres y gratis para asegurar tu web con HTTPS | Ayuda WordPress | Cardenas Networks – Pago de servicios electrónicos()

  • Football

    Gracias por la información, es de verdad útil. Justo estoy pensando en empezar un proyecto que implica tener acceso a las cámaras de dispositivos móviles desde la web del proyecto y me voy enterando que para que las API’s que existen para acceso a cámaras funcionen correctamente, necesitas accederlas desde un sitio con https.

  • Reafirmo lo que dice Javier Ocampos funciona con Plesk eso si la 12.5 como mínimo, con solo un click tienes el certificado Lets en cualquier dominio o subdominio que quieras.

    Respecto a la velocidad no se nota nada

    Y por último una gran felicitación a Fernando por su gran post

    • Jose

      No se si has visto el mensaje que puse arriba pero en Plesk instale la extensión para el certificado y lo instale en uno de mis dominios (no tengo wordpress en ese dominio) cuando añade el dominio a google me envió el mensaje que te comento de certificado no valido etc. me puedes decir si te ha pasado algo así a ti por favor o si tienes algún tipo de información sobre esto? Gracias

  • Pingback: SSL y HTTPS en WooCommerce | Ayuda WordPress()

  • Hola Fernando, …he estado leyendo esta entrada y esta genial, pero me acabo de comunicar por telefono con siteground y me dicen que ellos oferecen https apartir de unos de los pack – growbig – y es gratis el primer año. No sé si en este post hablas igual en estos terminos. Aclararme la duda, por favor.

    • Eso es para los certificados SSL “normales”. Te aseguro que Let’s Encrypt está disponible en todos los planes gratis para siempre desde el cPanel y, como indico en el post, no sale en el cPanel en los dedicados pero lo pides y te lo ponen.

      • Gracias por responder. He vuelto a llamar y me han comentado que te activan uno por cada c-panel, el dominio incluido con el pack. Para poder tenerlo activado en mas de una web, tienes que contratar un hosting cloud. O un pack para cada web.

        • Mira que me extraña, yo tengo varios dominios y subdominios por pack y he podido activarlo para todos los dominios y subdominios sin problema

  • Hola Fernando, gracias a tu ayuda he vuelto a mejorar nuestra web, mi proveedor (axarnet) nos ofrece Plesk, donde también hay una utilidad para añadir complementos e incluyen lets encrypt

    ¡Mas fácil imposible! Todo instalado en 5 minutos desde mi ipad. 😉

    Si no fuera por tu artículo hubiera pasado por caja.

    ¡Gracias!

    • Vaya, me alegro, eso hay que mojarlo 🙂

    • Maximo

      Hola. Donde esta la utilidad para añadir complementos en axarnet. Gracias

      • Hola Fernando, en plesk tengo un menú que se llama Extensiones y dentro pone Catálogo de extensiones. Desde aquí puedo seleccionar e instalar extensiones adicionales, algunas son de pago pero hay muchas gratuitas como esta. Si quieres te envío un pantallazo desde un enlace, no se si aquí me dejará insertarlo. Saludos

  • Jose Luis Manrique Morales

    Alguien sabe como instalarlo desde Cpanel. En Nixiweb no veo como ?

    • Si no aparece es que aún no lo habrán instalado. Pídeselo 😉

  • César Gabriel Guaimás Rosado

    Mil gracias por esto! voy a donar al proyecto para que crezca!

  • Jose

    Google no lo ve con buenos ojos estos certificados….

    • Google es uno de los impulsores de estos certificados

  • Jose

    Google ha detectado que el certificado SSL/TLS que se usa es un certificado con firma automática, lo que significa que lo ha emitido el servidor en lugar de una entidad emisora de certificados. Como solo estas entidades se consideran fuentes de confianza para los certificados SSL/TLS, la mayoría de navegadores no pueden confiar en tu certificado. Además, si tienes un certificado con firma automática significa que el contenido no está autenticado, que se puede modificar y que un tercero puede interceptar los datos o el comportamiento de navegación de tus usuarios. Por lo tanto, es posible que muchos navegadores bloqueen el acceso de los usuarios mediante un mensaje con una advertencia de seguridad cuando intenten acceder a él. Se hace para evitar que un tercero intercepte el comportamiento de navegación de los usuarios, lo que se puede producir en sitios web que no son seguros.

  • Jose

    Que opináis sobre eso? Gracias

    • En ningún caso de los que he instalado, y son ya unos cuantos, me ha dado ese tipo de error, ni de lejos.

      • Acabo de instalarlo en mi servidor para ofrecerlo a mis clientes, probé con varios dominios y super sencillo. El certificado funciona bastante bien y todo navegador reconoce la conexión segura. Fernando a veces te pasas con los buenos articulos !! 😀

        • Tendré que contenerme 😀

        • jose

          Quizá haya hecho yo algo mal, pero, simplemente lo instale y luego añade ni sitio a google, inmediatamente me llego ese email que he puesto diciendo que no se reconocía como un certificado expedido por una CA etc… Lo expuse aquí para ver si alguien tenia alguna información sobre ello, me parece raro que solo me haya pasado a mi, a no ser como te digo que haya cometido algún error o algo

  • jose

    A mi me ha extrañado… pero si lo dice google… no se, yo lo he instalado en un vps con Plesk, no sé si tendrá algo que ver, y no es un wordpress el dominio que he utilizado, puede alguien dar mas información por favor, gracias

  • Pingback: HTTP/2 y WordPress – El futuro de la Web | Ayuda WordPress()

  • Excelente nota, y sobre dreamhost, ya lo tienen activo para cualquier dominio alojado en las cuentas, solo basta con ir a “Secure Hosting”, dar click en “add secure hosting” y seleccionar el dominio que queremos habilitar con SSL y aceptar el uso de “Signed Certificate” que es la opción para un Let’s Encrypt Verified SSL.

    • Genial, parece que se van subiendo al carro cada vez más hostings. Buena noticia 🙂

  • Pingback: Ve el Webinar Las 10 preguntas top sobre WordPress con Fernando Tellado()

  • Buen post Fernando, desconocía bastante de este tema… pero me quedan algunas dudas, ¿Es recomendable aplicarlo en todos los sitios que uno tiene? ¿Aunque no se transmitan datos que puedan considerarse “críticos?
    Por último, ¿Por qué no lo tenés aplicado en este blog (lo del redireccionamiento a https)?

    • A lo primero sí, por SEO porque Google está premiando las web seguras y además es la base para poder pasar a HTTP/2 y ganar velocidad.

      A lo segundo es que aún no he tenido tiempo, mi blog siempre para el final 😀

  • Pingback: 5 claves para crear una tienda online en WordPress | Ayuda WordPress()

  • Buenas,

    Tengo una duda. En vez de Lets Encrypt tengo el certificado comodo disponible en mi hosting. La configuración en los ficheros de wordpress y nginx seria exactamente la misma? Entiendo que esa configuración sirven para todos los SSL.

    Gracias anticipas y espero vuestra respuesta.
    Un saludo.

  • Venga! pués parece fácil. Lo pongo en mí lista de hacer. Gracias por este pedazo de post. Está muy completo!

    • A por ello, que está chupado

  • kiolos

    Really Simple SSL ahora ha hecho de pago la opcion de HTTP Strict Transport Security

  • Cesar Reyes

    Alguien sabe si de casualidad se puede con Godaddy?

  • Hola Fernando, excelente artículo, me has sido de gran ayuda. Me cambié a siteground siguiendo tus consejos y estoy encantado. Tengo varios proyectos funcionando sin problemas pero me queda una duda.
    ¿Es posible usar let´s encrypt en un multisite para varios dominios mapeados? ¿Habría que modificar el código del .htaccess?.
    He hecho un par de pruebas y no he conseguido hacerlo funcionar.
    Muchas gracias.

Pin It on Pinterest

¿Te gustó?

¡Compártelo!