El protocolo HTTPS es fundamental para garantizar que la conexión efectuada entre tu dispositivo y la web que quieres visitar sea segura. En términos más técnicos, implica que el flujo de datos intercambiados entre tu navegador y la página visitada viaja a través de una capa segura de cifrado que impide que terceras partes puedan leerlo, por mucho que logren interceptar la comunicación.

Para comprobar si una web tiene activado este protocolo de conexión segura, es suficiente visitarla anteponiendo 'https://' al nombre del dominio (por ejemplo https://es.wikipedia.org en lugar de es.wikipedia.org). El resultado que obtendremos puede variar en función de si la web cuenta o no con un certificado válido.

Lamentablemente todavía, muchas webs oficiales carecen de HTTPS, o tienen una configuración incorrecta. Puedes comprobar tú mismo el resultado al visitarlas intentando conectar a ellas de forma segura. Para ello, los enlaces que hemos insertado intentan conectar usando el protocolo cifrado en lugar de HTTP.

¿Cómo funciona?

El funcionamiento del Protocolo HTTPS se basa en la creación de un certificado por parte del servidor donde está alojada la web, que tiene que ser aceptado por el navegador. La legitimidad de estos certificados está en manos de las agencias certificadoras, que a cambio de una tarifa anual garantizan que los navegadores los reconozcan como válidos. El hecho de que esta mejora de seguridad implicara un coste, había frenado su generalización hasta la llegada de "Let's Encrypt", una autoridad certificadora abierta que proporciona de forma automática y gratuita certificados para el cifrado de Seguridad de Nivel de Transporte (TLS).

A continuación analizamos algunos ejemplos significativos de webs del listado anterior, que no han configurado correctamente su certificado o que directamente carecen del mismo.

Ausencia de certificado

Si anteponemos https:// al nombre de dominio de una web que no tenga activado el protocolo HTTPS, podemos encontrarnos con una pantalla blanca o un mensaje de error, como en el caso de https://www.lamoncloa.gob.es/, o bien ser redirigidos al protocolo no cifrado HTTP, como es el caso del Registro Mercantil Central, https://www.rmc.es.

En ambos casos será imposible acceder al contenido de forma cifrada y segura, ya que los administradores del sitio no han habilitado esta opción.

Certificados inválidos, mal configurados o caducados

Si visitamos https://www.agenciatributaria.es o https://www.madrid.es, nos encontramos con una página de alerta en nuestro navegador, que nos avisa de que esta página no es segura hasta que no aceptemos sus certificados.

 

certificado TLS inválido

 

Ambas páginas utilizan un certificado que nuestro navegador no reconoce como legítimo (es válido para a248.e.akamai.net, pero no para su propio dominio), lo que comporta que nuestros navegadores no tengan garantías sobre la identidad de la página.

La opción que se nos presenta en estos casos es la de aceptar el certificado de forma manual, asumiendo el riesgo potencial de estar siendo víctimas de un ataque.

Asimismo, los certificados tienen también una fecha de caducidad. Si no se renuevan a tiempo, nos podemos encontrar en la situación de no poder acceder a los contenidos a través de una conexión segura con HTTPS.

Candado amarillo: Contenido inseguro

Cuando se establece una conexión mediante HTTPS, aparece un pequeño candado en la barra de direcciones. Si este candado es de color amarillo, puede significar que el sitio web está incluyendo conexiones no cifradas en su contenido (pueden ser imágenes o contenido remoto, como scripts, que se cargan utilizando enlaces inseguros HTTP), o bien que anteriormente habíamos aceptado el certificado de forma manual, como en el ejemplo anterior.

 

HTTPS candado amarillo

 

Candado verde: Certificado válido

Esta es la situación ideal, y la única que deberíamos aceptar como sinónimo de segura. El candado verde garantiza que toda la información se transmite de manera cifrada, y que el sitio es realmente el que hemos solicitado.

 

HTTPS candado verde

 

¿Por qué es importante que la conexión sea segura y verificada?

El protocolo HTTPS surge porque su predecesor es sumamente vulnerable, puesto que los datos transferidos entre la página web y la persona que la visita viajan en texto plano, haciéndolos visibles a cualquiera que esté observando el tráfico de nuestra red (sin ir más lejos, alguien que esté conectado a nuestro router WiFi).

Lamentablemente, efectuar este tipo de ataque ("sniffing") no requiere grandes conocimientos técnicos, además de que se ha descubierto una vulnerabilidad en las redes WiFi de los routers que lo hace aún más fácil de llevar a cabo.

La falta de HTTPS es particularmente peligrosa si estamos insertando datos en el formulario de una web (información como contraseñas, número de tarjeta, datos personales...) y somos víctimas de este ataque, ya que nuestros datos, que circulan en texto plano, se verán rápidamente comprometidos.

Otra amenaza son los ataques del tipo man-in-the-middle ("Ataque de intermediario"), en los que el atacante actúa como un intruso entre las partes que se están comunicando. Siguiendo el ejemplo anterior, podría darse el caso de que estuvieras insertando las credenciales de tu tarjeta en una web que parece idéntica a la que estás visitando, pero que en realidad no es más que un clon de la misma. Los certificados no válidos y aceptados manualmente no nos protegen de esta amenaza.

¿Cómo protegernos?

Para navegar podemos instalar el complemento “HTTPS Everywhere” en nuestro navegador habitual. Esta extensión, desarrollada por la Electronic Frontier Foundation, obliga a todos los sitios web que visitemos a ofrecernos siempre su versión segura, cifrada mediante HTTPS, siempre que tengan habilitado este protocolo (aunque, como hemos visto, no siempre sea el caso, desafortunadamente).

Como administradores web, entra dentro de nuestra responsabilidad directa habilitar conexiones seguras. Si en nuestra página hay formularios que requieran información personal por parte de los usuarios o formularios de acceso con contraseñas, esta responsabilidad se convierte en una obligación.

No solicito datos personales, ¿necesito activar HTTPS?

Aunque tu web no requiera que se inserten datos personales en formularios, quizás tu mismo, para poderla gestionar, tienes que acceder al panel de administración insertando un nombre de usuario y una contraseña.

Tu acceso a WordPress, Joomla, Drupal o cualquier otra aplicación web no es segura si te autentificas en ella sin HTTPS: alguien podría estar viendo cual es la contraseña de administrador.

Además, buscadores como Google empezaron desde 2014 y de manera progresiva, a penalizar los sitios sin certificado, bajando su ranking en los resultados de búsqueda. Esto implica que nuestra web tenga menos visibilidad.

Puedes utilizar esta herramienta para medir el nivel de seguridad y la configuración de tu conexión HTTPS:

https://www.ssllabs.com/ssltest/

El cifrado en las comunicaciones no debe ser una opción, sino un requisito indispensable. Por ello, hemos incorporado la activación del protocolo HTTPS por defecto y de manera automatizada, utilizando certificados verificados por Let's Encrypt, sin que el usuario tenga que preocuparse por su configuración.

Contacta

Ponte en contacto escribiendo un correo a: contact [at] maadix [dot] net

Clave PGP: 0xE5BB2110.asc

Huella: EF80 C4FB CC27 7A3E 8D0B 0DD9 B48B 2A9B E5BB 2110