HTTPS en todas partes: eliminar contenido mixto para mejorar el SEO

Introducción

En los últimos años, hemos visto que la Web y la variedad de industrias que la manejan (es decir, navegadores, motores de búsqueda, etc.) comienzan a tomar la seguridad del usuario más en serio. Chrome es ahora advertir a los usuarios contra los sitios web HTTP con más navegadores listos para seguir, mientras que la Búsqueda de Google ha confirmado que brindan mejoras en la clasificación de los motores de búsqueda HTTPS sitios web.

Desarrollos como estos han motivado a una parte importante de los propietarios de sitios web a trasladar sus servidores del HTTP antiguo e inseguro a la alternativa más segura HTTPS. (HTTPS se considera más seguro porque requiere que los servidores se autentiquen mediante certificados SSL como un medio para proteger a los usuarios de la mayoría de los tipos de ataques a la red).

Sin embargo, la mayoría de los sitios web solo han implementado HTTPS para sus componentes más críticos, como solicitudes de inicio de sesión o POST, pero aún pueden usar HTTP para otras funciones "no críticas".

Esto tenía sentido en los primeros días de HTTPS, ya que las conexiones encriptadas son más caras desde el punto de vista informático debido a que tienen que funcionar apretones de manos para cada nueva conexión. Además, en ese momento, muchas plataformas, bibliotecas y entornos de desarrollo web ampliamente utilizados no estaban preparados para HTTPS, un hecho que causaba a los administradores y desarrolladores interminables dolores de cabeza en forma de bloqueos nocturnos de aplicaciones o oscuros errores de tiempo de ejecución.

Por supuesto, esto ya no es cierto; de hecho, como argumentará este artículo, no usando HTTPS para todos Las conexiones de su sitio web son realmente malas para su negocio.

 

Contenido mixto

Los sitios web que no ofrecen todo su contenido a través de HTTPS se denominan contenido mixto sitios web Un académico publicado en 2015 encontró que más del 43% de su muestra de los 100,000 principales de Alexa sirvió al menos un tipo de contenido mixto.

Aunque esto no parece un gran problema, el contenido mixto puede ser bastante peligroso para los usuarios, pero también puede tener efectos negativos en los sitios web.

Las cuestiones de seguridad

La razón más importante para usar HTTPS para todo su sitio web es la seguridad. Todos los hackers necesitan una única conexión HTTP sin protección. Atacantes de hombre en el medio (MITM) puede reemplazar cualquier contenido HTTP en su página para robar credenciales y sesiones, adquirir datos confidenciales o iniciar exploits de navegador e instalar malware en las computadoras de sus visitantes.

Ser comprometido por su sitio web naturalmente hará que sus usuarios desconfíen y lo eviten en el futuro, dañando efectivamente su reputación en línea.

Tanto Firefox como Chrome ha empezado bloquear contenido mixto de forma predeterminada, lo que permite a los usuarios optar manualmente por cargar contenido a través de HTTP. No obstante, dado que el contenido mixto es un riesgo de seguridad, ambos navegadores muestran una advertencia de contenido mixto a los usuarios, lo que también puede afectar negativamente la reputación de su sitio web.

 

Advertencia de contenido mixto de Firefox

Problemas de desempeño

Además de la seguridad, la adopción cada vez mayor de HTTP / 2 La industria ha traído numerosas actualizaciones de rendimiento y seguridad a la Web.

Aunque el aumento en el rendimiento parece contrario a la intuición desde HTTP / 2 solo funciona sobre conexiones HTTPS cifradas, el protocolo permite a los navegadores usar una única conexión cifrada con un servidor web HTTPS para todas sus comunicaciones.

La reutilización de la misma conexión elimina la sobrecarga impuesta al establecer repetidamente nuevas (es decir, ese apretón de manos nuevamente). Esto significa que saltar de conexiones HTTPS encriptadas a HTTP sin encriptar en un sitio con contenido mixto es, de hecho, más lento y requiere más recursos que visitar un sitio completamente protegido usando una sola conexión HTTPS.

HTTP / 2 también implementa el 0-RTT modo de reanudación de sesión, que permite a los navegadores reanudar una sesión en pausa con un sitio web HTTPS que han visitado antes, utilizando solo una solicitud (en lugar de un apretón de manos completo). Esto hace que la reanudación de HTTP / 2 sea al menos tan rápida como una conexión HTTP sin cifrar, al tiempo que proporciona todos los beneficios de HTTPS. Servir contenido mixto significa que su sitio web no puede aprovechar al máximo esta o ninguna de las otras excelentes características de HTTP / 2.

En ambos casos, HTTP / 2 mejora la velocidad de la conexión de su visitante a su sitio, y la velocidad es importante. PRUEBAS han demostrado a lo largo de los años que la capacidad de respuesta y la velocidad de carga de la página son requisitos críticos de diseño de la interfaz de usuario. Cuanto más lento es el tiempo de respuesta de un sitio web, es menos probable que los usuarios se mantengan involucrados, y la participación del usuario afecta directamente la experiencia del usuario de su sitio web (y, en consecuencia, sus tasas de conversión).

El contenido mixto también puede afectar el rendimiento en el nivel de las tecnologías web subyacentes utilizadas en su sitio web. Navegadores ahora limitar las funciones de JavaScript tales como los trabajadores del Servicio y las notificaciones push solo para contextos seguros, porque los piratas informáticos podrían abusar de ellos de otro modo. Esto nuevamente significa que su sitio web no puede aprovechar ninguna de estas tecnologías cuando sirve contenido mixto.

Problemas de SEO

Optimización del Search Engine (SEO) es el pan de cada día de los vendedores de negocios en línea. SEO se refiere a la práctica de mejorar el ranking de un sitio web en un página de resultados del motor de búsqueda (SERP), que afecta directamente el volumen del tráfico del sitio web.

Google ha confirmado que su algoritmo de clasificación de resultados de búsqueda da un pequeño aumento de rango a los sitios web que se sirven a través de HTTPS. Dado que el impulso es en tiempo real y por URL, servir un sitio web en su totalidad a través de HTTPS dará como resultado un impulso de SEO para todo el sitio web (en lugar de solo aquellas URL que se sirven a través de HTTPS). Por supuesto, este aumento de la señal de clasificación es bastante liviano en comparación con otros, como el contenido de calidad o el tráfico de usuarios, aún recompensa su inversión en la eliminación de contenido mixto.

Google también ha recientemente anunció esa velocidad de carga de página y el rendimiento general del sitio web se tienen en cuenta (pesado) al decidir el ranking. Esto significa que las optimizaciones de rendimiento de HTTP / 2 y la eliminación de contenido mixto pueden funcionar juntas para aumentar la visibilidad de su sitio web en la web.

Finalmente, si desea aprovechar al máximo SSL en el SEO de su sitio web, puede considerar Certificados EV de SSL.com, que ofrecen las mayores garantías a sus visitantes a través de indicadores de seguridad (como la barra verde en el navegador) para mantenerlos seguros y comprometidos con su contenido, y las visitas más largas equivalen a clasificaciones más altas.

Advertencias de contenido mixto del navegador

Los visitantes de sitios protegidos por SSL esperan (y merecen) una protección perfecta. Cuando un sitio no protege completamente todo el contenido, un navegador mostrará una advertencia de "contenido mixto". Cuando sus clientes ven esta advertencia, pueden reaccionar de dos maneras. Si ellos no tomen en serio la seguridad, la ignorarán, harán clic y presumirán que todo estará bien (muy mal). Si ellos do tómese en serio la seguridad, le prestará atención, saldrá de su sitio y asumirá que Usted no se tome la seguridad en serio (peor aún).

Además, todos los navegadores modernos bloquearán los tipos más maliciosos de contenido mixto y, al hacerlo, pueden dañar su sitio.

La mejor solución, por supuesto, es asegurarse de que estas advertencias y / o bloqueos no ocurran en primer lugar configurando correctamente su sitio para ofrecer solo contenido seguro.

¿Por qué estoy viendo esta advertencia?

Una advertencia de contenido mixto significa que los elementos seguros y no seguros se están sirviendo en una página que debe estar completamente encriptada. Cualquier página que use una dirección HTTPS debe tener todo el contenido proveniente de una fuente segura. Cualquier página que se vincule a un recurso HTTP se considera insegura y su navegador la marca como un riesgo de seguridad.

Las advertencias de contenido mixto se dividen en dos categorías: contenido pasivo mixto y contenido activo mixto.

Contenido pasivo mixto

El contenido pasivo se refiere a elementos que se pueden reemplazar o modificar, pero que no pueden cambiar otras partes de la página, por ejemplo, un gráfico o una fotografía. Probablemente, la causa más común de todas las advertencias de contenido mixto es cuando un sitio (teóricamente) seguro está configurado para extraer imágenes de una fuente no segura.

Las solicitudes HTTP pasivas se sirven a través de estas etiquetas:<audio>(src atributo)
<img> (src atributo)
<video> (src atributo)
<object> subrecursos (cuando un <object> realiza solicitudes HTTP)

Contenido activo mixto

El contenido activo puede alterar la propia página web. Un ataque man-in-the-middle podría permitir que una solicitud de contenido HTTP en cualquier página HTTPS sea interceptada y / o reescrita. Esto hace que el contenido activo malicioso sea muy peligroso: las credenciales de usuario y los datos confidenciales pueden ser robados o se puede instalar malware en el sistema del usuario. Por ejemplo, un poco de JavaScript en una página de creación de cuentas diseñada para ayudar a los usuarios a generar una contraseña aleatoria podría reemplazarse por un código que proporcione una de apariencia aleatoria pero pregenerada en su lugar, o para entregar una contraseña segura en secreto a un tercero. .

El contenido mixto activo puede explotarse para comprometer datos privados confidenciales, pero incluso las páginas web que parecen inocuas pueden redirigir a los visitantes a sitios peligrosos, entregar contenido no deseado o robar cookies para su explotación.

Las solicitudes HTTP activas se sirven a través de:<script> (src atributo)
<link> (href atributo) (esto incluye hojas de estilo CSS)
XMLHttpRequest solicitudes de objeto
<iframe> (src atributos)
Todos los casos en CSS donde se usa un valor de URL (@font-face, cursor, background-image, Etc.)
<object> (data atributo)

Todos los navegadores modernos bloquearán el contenido mixto activo de forma predeterminada (que puede romper un sitio configurado incorrectamente)

Por qué y cómo solucionar advertencias de contenido mixto

Asegurar su sitio web permite a sus visitantes confiar en usted, lo cual es de vital importancia. Sin embargo, eliminar todo el contenido inseguro de su sitio tiene una ventaja aún mayor al eliminar las advertencias de falsos positivos: si su sitio correctamente configurado se ve comprometido, cualquier elemento inseguro que inserte un atacante activará la advertencia de contenido mixto, lo que le proporcionará un cable extra para detectar y abordar estos problemas.

Nuevamente, la mejor manera de evitar problemas de contenido mixto es servir todo el contenido a través de HTTPS en lugar de HTTP.

Para su propio dominio, proporcione todo el contenido como HTTPS y corrija sus enlaces. A menudo, la versión HTTPS del contenido ya existe y esto solo requiere agregar una "s" a los enlaces: http:// a https://.

Para otros dominios, use la versión HTTPS del sitio si está disponible. Si HTTPS no está disponible, puede intentar comunicarse con el dominio y preguntarles si pueden hacer que el contenido esté disponible a través de HTTPS.

Alternativamente, el uso de "URL relativas" permite que el navegador elija automáticamente HTTP o HTTPS, según el protocolo que utilice el usuario. Por ejemplo, en lugar de vincular a una imagen mediante un vínculo con la "ruta absoluta" de:


El sitio puede usar una ruta relativa:


Esto permite que el navegador agregue automáticamente http: or https: al inicio de la URL según sea necesario. (Tenga en cuenta que el sitio vinculado tendrá que ofrecer el recurso a través de HTTP y HTTPS para que funcionen las URL relativas).

Siga estos enlaces para obtener más información específica del navegador sobre advertencias de contenido mixto:
Chrome
Firefox
Internet Explorer
Excelentes herramientas para ayudar a rastrear enlaces que no son SSL en su código fuente son las herramientas de desarrollo integradas en el Firefox y Chrome navegadores. La información sobre cómo forzar a un servidor Apache a manejar solo HTTPS se puede encuentran aquí.

El primer problema de solicitud

Esperamos que hasta este punto, este artículo haya presentado algunos buenos argumentos contra el contenido mixto, aunque incluso si decide migrar su sitio web completamente a HTTPS, todavía puede hacer algunas mejoras.

Cuando los usuarios escriben la URL de su sitio web en un navegador, normalmente nunca escriben completamente el nombre del protocolo (es decir https://) Naturalmente, el navegador no sabe en qué protocolo se sirve su sitio web y por defecto es HTTP.

Si su sitio web está configurado correctamente, redirigirá (a través de respuestas HTTP 301/302) el navegador a su instancia HTTPS; aunque esto significa que los navegadores deben realizar dos solicitudes en lugar de una sola solicitud HTTPS cuando visitan su sitio web por primera vez.

Esto puede ser problemático porque los usuarios pueden percibir el retraso, obteniendo una mala primera impresión del sitio. Como tal, será menos probable que se queden, lo que finalmente puede conducir a una disminución del tráfico de visitantes.

Además, los hackers pueden interceptar esa primera solicitud HTTP para leerla o modificarla antes de llegar al servidor. Una ocurrencia común para este tipo de casos es realizar un ataque a la red llamado Eliminación de SSL que permite al atacante reemplazar una conexión HTTPS con una conexión HTTP desprotegida.

Seguridad de transporte estricta de HTTP al rescate

Seguridad de transporte estricta de HTTP or HSTS Es un intento de resolver este problema. Implementado por Internet Engineering Task Force (IETF) en RFC 6797, HSTS es un encabezado HTTPS que los servidores web pueden incluir en sus respuestas. Este encabezado indica a los navegadores compatibles que siempre usen HTTPS cuando visiten un sitio web. HSTS se aplica a todas las solicitudes, incluidas imágenes, hojas de estilo CSS y cualquier otro recurso web.

Como te puedes imaginar, el navegador primero debe ver el encabezado HSTS para honrarlo, lo que significa que HSTS depende de que los atacantes no puedan interceptar esa primera solicitud HTTP. Como resultado, HSTS por sí solo no es una solución completa, sino más bien una solución simple para la eliminación de SSL.

Precarga HSTS

Afortunadamente, el proyecto Chromium ha presentado una solución que nombraron Precarga HSTS, que consiste en mantener una lista pública de sitios web que han solicitado la funcionalidad de precarga de HSTS. Al visitar un sitio web, los navegadores de Chromium consultarán con la lista y, si el sitio se encuentra allí, procederán a comunicarse con él a través de HTTPS (incluida esa primera solicitud) independientemente del historial anterior o la entrada del usuario.

Como consecuencia, la precarga puede mejorar el rendimiento y la seguridad de su sitio web al eliminar la solicitud HTTP inicial. Además, puede mejorar indirectamente el ranking SERP de su sitio y la experiencia del usuario.

Todos los principales navegadores (Google Chrome, IE / Edge de Microsoft, Safari de Apple, Firefox y Opera de Mozilla) también consultan con la lista de precarga de HSTS de Chromium, lo que significa que unirse a esta lista proporcionará los beneficios de precarga a sus visitantes, independientemente del navegador que estén utilizando.

Sin embargo, sería negligente si no mencionáramos que existen preocupaciones sobre la escalabilidad de la solución de lista de precarga de HSTS: no puede incluir todos los sitios web en Internet debido al tamaño práctico y las limitaciones de complejidad computacional y, en consecuencia, la entrada puede volverse cada vez más difícil a medida que pasa el tiempo y la precarga de HSTS se adopta más ampliamente.

¿Cómo me puedo unir?

Si está interesado en unirse a la lista de precarga de HSTS, tenga en cuenta que su sitio web debe seguir ciertas reglas. El proyecto Chromium ha publicado la lista de requisitos de presentación para los sitios web que desean unirse al sitio web de su proyecto. Los requisitos se incluyen textualmente en la siguiente lista, sin embargo, puede encontrar más detalles en HSTS RFC 6797.

Para ser aceptado en la lista de precarga de HSTS, su sitio web debe:

  1. Servir un certificado válido.
  2. Redireccionar de HTTP a HTTPS en el mismo host, si está escuchando en el puerto 80.
  3. Servir todos los subdominios a través de HTTPS. En particular, debe admitir HTTPS para www subdominio si existe un registro DNS para ese subdominio.
  4. Sirva un encabezado HSTS compatible con RFC 6797 en el dominio base para solicitudes HTTPS:
    • El max-age debe ser de al menos 31536000 segundos (1 año).
    • El includeSubDomains Se debe especificar la directiva.
    • El preload Se debe especificar la directiva.
  5. Si está sirviendo una redirección adicional desde su sitio HTTPS, esa redirección debe también tener un encabezado HSTS compatible (al igual que la página a la que redirige).

Aquí hay un ejemplo de un encabezado HSTS válido.

Seguridad de transporte estricta: max-age = 63072000; includeSubDomains; precargar

Puede probar la elegibilidad de su sitio web visitando el sitio web de la lista de precarga e ingresando su dominio en el cuadro de entrada. La aplicación web indicará qué problemas (si los hay) debe solucionar.

Herramienta de elegibilidad de precarga de HSTS

Desafortunadamente, la complejidad de los sitios web modernos no permite que uno presente una configuración de servidor única para la precarga de HSTS para incluir en este artículo. Puede haber problemas de tiempo de ejecución con componentes personalizados de terceros u otros que deben resolverse individualmente.

Aunque el proyecto Chromium ha incluido algunas recomendaciones de implementación en el sitio web de precarga, siempre nos complace ayudar a nuestros clientes a mejorar la seguridad de sus comunicaciones. Solo envíenos un correo electrónico a support@ssl.com y un experto estará encantado de discutir el mejor camino para sus necesidades de seguridad.

Conclusión

HTTPS se está convirtiendo en el protocolo de comunicaciones web predeterminado, y comprometerse completamente con él solo puede tener efectos positivos para los propietarios y visitantes del sitio. Recomendamos eliminar cualquier contenido mixto de sus sitios web para evitar problemas innecesarios (y usuarios descontentos).

Como siempre, gracias por elegir SSL.com, donde creemos que una Internet más segura es una Internet mejor.

Actualización (7 de octubre de 2019):  El 3 de octubre de 2019, el blog Chromium anunció que Chrome será bloqueo todo el contenido mixto, incluidas imágenes, audio y video, en una serie de pasos que comienzan con Chrome 79 (diciembre de 2019) y continúan hasta Chrome 81 a principios de 2020. Este movimiento de Google significa que es más importante que nunca eliminar el contenido mixto de su sitio web.

SSL.com's EV Firma de código Los certificados ayudan a proteger su código de manipulaciones no autorizadas y compromisos con el más alto nivel de validación, y están disponibles por tan solo $ 249 por año. También puedes use su certificado de firma de código EV a escala en la nube usando eSigner. Con su opción automatizada, eSigner es adecuado para la firma de códigos empresariales.

HAZ TU PEDIDO

Suscríbase al boletín de SSL.com

No te pierdas los nuevos artículos y actualizaciones de SSL.com

Manténgase informado y seguro

SSL.com es líder mundial en ciberseguridad, PKI y certificados digitales. Regístrese para recibir las últimas noticias, consejos y anuncios de productos de la industria de SSL.com.

Nos encantaría recibir tus comentarios

Responda nuestra encuesta y háganos saber lo que piensa sobre su compra reciente.