Schemeful SameSite

La definición de "mismo sitio" está evolucionando para incluir el esquema de URL, de modo que los vínculos entre las versiones HTTP y HTTPS de un sitio ahora cuentan como solicitudes entre sitios. Actualiza a HTTPS de forma predeterminada para evitar problemas siempre que sea posible, o bien sigue leyendo para conocer los detalles sobre los valores de atributos de SameSite que se necesitan.

Steven Bingler
Steven Bingler

Esquema SameSite modifica la definición de un sitio (web) del dominio registrable al esquema + dominio registrable. Puedes encontrar más detalles y ejemplos en Acerca de "same-site" y “same-origin”.

La buena noticia es que, si tu sitio web ya está completamente actualizado a HTTPS, no necesitan preocuparse por nada. Nada cambiará para ti.

Si aún no actualizaste por completo tu sitio web, esta debería ser la prioridad. Sin embargo, si hay casos en los que los visitantes de su sitio irán entre HTTP y HTTPS, entonces, algunas de esas situaciones comunes y la cookie SameSite asociada del modelo de AA se describen a continuación.

Puedes habilitar estos cambios para realizar pruebas en Chrome y Firefox.

  • En Chrome 86, habilita about://flags/#schemeful-same-site. Progreso de la pista en la pestaña Estado de Chrome .
  • En Firefox 79, establece network.cookie.sameSite.schemeful en true mediante about:config Monitorea el progreso a través de la Bugzilla. problema.

Una de las razones principales para cambiar a SameSite=Lax como la opción predeterminada para cookies fue para protegerlos contra la falsificación de solicitudes entre sitios (CSRF). Sin embargo, el tráfico HTTP no seguro aún presenta una oportunidad para que los atacantes de red manipular cookies que luego se usarán en la versión HTTPS segura de la . Crear este límite adicional entre sitios una mayor defensa contra estos ataques.

Situaciones comunes de esquema cruzado

Navegar entre las versiones de un sitio web en diferentes esquemas (por ejemplo, vincular desde http://site.example a https://site.example) anteriormente permitirían SameSite=Strict cookies por enviar. Ahora se trata como un tráfico entre sitios navegación, lo que significa que se bloquearán las cookies de SameSite=Strict.

Una navegación entre esquemas activada por medio de un vínculo en la versión HTTP insegura de un sitio que dirige a la versión HTTPS segura. SameSite=Cookies estrictas bloqueadas, SameSite=Lax y SameSite=None Se permiten las cookies seguras.
Navegación entre esquemas de HTTP a HTTPS
HTTP → HTTPS HTTPS → HTTP
SameSite=Strict ⛔ Bloqueado ⛔ Bloqueado
SameSite=Lax ✓ Se permite ✓ Se permite
SameSite=None;Secure ✓ Se permite ⛔ Bloqueado

Cargando subrecursos

Cualquier cambio que realices aquí debe considerarse como solución temporal mientras trabajar para actualizar a HTTPS completo.

Algunos ejemplos de subrecursos incluyen las imágenes, los iframes y las solicitudes de red realizadas con XHR o Fetch.

Antes, cargar un subrecurso de esquema cruzado en una página permitía SameSite=Strict o SameSite=Lax cookies que se enviarán o configurarán. Ahora, esto es de la misma manera que a cualquier otro subrecurso externo o entre sitios que significa que se bloquearán las cookies de SameSite=Strict o SameSite=Lax.

Además, aunque el navegador permita que los recursos de esquemas no seguros se carguen en una página segura, se bloquearán todas las cookies en estas solicitudes ya que las cookies de terceros o entre sitios requieren Secure.

Un subrecurso de esquema cruzado que resulta de un recurso de la versión HTTPS segura del sitio que se incluye en la versión HTTP no segura. SameSite=Strict y SameSite=Lax cookies blocked, y SameSite=None; Se permiten las cookies seguras.
Una página HTTP que incluye un subrecurso de esquema cruzado a través de HTTPS.
HTTP → HTTPS HTTPS → HTTP
SameSite=Strict ⛔ Bloqueado ⛔ Bloqueado
SameSite=Lax ⛔ Bloqueado ⛔ Bloqueado
SameSite=None;Secure ✓ Se permite ⛔ Bloqueado

PUBLICAR un formulario

Antes, publicar contenido entre las versiones de varios esquemas de un sitio web permitía cookies configuradas con SameSite=Lax o SameSite=Strict que deben enviarse. Ahora, esto es Se tratan como solicitudes POST entre sitios: solo se pueden enviar cookies de SameSite=None. Puedes se encuentran con este caso en sitios que presentan la versión no segura de forma predeterminada pero actualizar a los usuarios a la versión segura cuando se envía la información de acceso formulario de pago.

Al igual que con los subrecursos, si la solicitud proviene de un recurso seguro, p.ej., HTTPS a un inseguro, por ejemplo, HTTP, el contexto, se bloquearán todas las cookies en estas solicitudes ya que las cookies de terceros o entre sitios requieren Secure.

El envío de un formulario de esquema cruzado que se genera a partir de un formulario en la versión HTTP no segura del sitio que se envía a la versión HTTPS segura. SameSite=Strict y SameSite=Lax cookies blocked, y SameSite=None; Se permiten las cookies seguras.
Envío de formularios de esquema cruzado de HTTP a HTTPS.
HTTP → HTTPS HTTPS → HTTP
SameSite=Strict ⛔ Bloqueado ⛔ Bloqueado
SameSite=Lax ⛔ Bloqueado ⛔ Bloqueado
SameSite=None;Secure ✓ Se permite ⛔ Bloqueado

¿Cómo puedo probar mi sitio?

Las herramientas y los mensajes para desarrolladores están disponibles en Chrome y Firefox.

A partir de Chrome 86, la pestaña Problema en Las Herramientas para desarrolladores incluyen problemas de Schemeful Same-Site. Es posible que veas los siguientes problemas destacados para tu sitio.

Problemas de navegación:

  • "Migrar completamente a HTTPS para que se sigan enviando cookies en el mismo sitio" solicitudes": una advertencia de que la cookie se bloqueará en una versión futura de Chrome.
  • “Migrar íntegramente a HTTPS para que se envíen cookies en solicitudes del mismo sitio”: A advertir que se bloqueó la cookie;

Problemas con la carga de subrecursos:

  • "Migrar completamente a HTTPS para que las cookies se sigan enviando al mismo sitio" subrecursos" o "Migrar completamente a HTTPS para que se sigan permitiendo las cookies set by same-site subresources”: advertencias de que la cookie será en una versión futura de Chrome.
  • "Migrar completamente a HTTPS para que las cookies se envíen a subrecursos del mismo sitio" o "Migrar completamente a HTTPS para permitir que el mismo sitio establezca las cookies subresources": advertencias de que se bloqueó la cookie Esta última También puede aparecer una advertencia cuando se publica un formulario.

Obtén más información en el artículo Sugerencias para pruebas y depuración de Schemeful. SameSite

En Firefox 79, con network.cookie.sameSite.schemeful configurado como true mediante about:config, la consola mostrará un mensaje para los problemas de Schemeful Same-Site. Es posible que veas lo siguiente en tu sitio:

  • "La cookie cookie_name pronto se tratará como cookie entre sitios de http://site.example/ porque el esquema no coincide”.
  • "La cookie cookie_name se ha tratado como entre sitios contra http://site.example/ porque el esquema no coincide”.

Preguntas frecuentes

Mi sitio ya está completamente disponible en HTTPS. ¿Por qué veo problemas en las Herramientas para desarrolladores de mi navegador?

Es posible que algunos de tus vínculos y subrecursos de todos modos apunten a contenido inseguro URLs.

Una forma de solucionar este problema es usar HTTP Seguridad de transporte estricta (HSTS) y la directiva includeSubDomain. Con HSTS + includeSubDomain pares Si una de tus páginas incluye accidentalmente un vínculo no seguro, el navegador usa automáticamente la versión segura.

¿Qué sucede si no puedo actualizar a HTTPS?

Si bien te recomendamos que actualices todo el sitio a HTTPS, proteger a tus usuarios. Si no puedes hacerlo tú mismo, te sugerimos que hables con tu proveedor de hosting para ver si te puede ofrecer esa opción. Si eres autoorganizado, Let's Encrypt ofrece varias herramientas para instalar y configurar un certificado. También puedes investigar cómo trasladar tu sitio detrás de una CDN o de otro proxy que pueda proporcionar la conexión HTTPS.

Si aún no es posible, intenta relajar la protección de SameSite en cookies afectadas.

  • En los casos en que solo se bloquean las cookies de SameSite=Strict, puedes reducir la protección a Lax.
  • En los casos en que se bloqueen las cookies de Strict y Lax y su se envían (o se configuran desde) una URL segura en la que puedes reducir protecciones a None.
    • Esta solución alternativa fallará si la URL a la que envías las cookies (o configurarlos) no es seguro. Esto se debe a que SameSite=None requiere el elemento el atributo Secure en las cookies, lo que significa que es posible que esas cookies no se envíen o a través de una conexión no segura. En este caso, no podrás acceder esa cookie hasta que tu sitio se actualice a HTTPS.
    • Recuerda que esto es temporal ya que, con el tiempo, las cookies de terceros se eliminará por completo.

¿Cómo afecta esto a mis cookies si no especifico un atributo SameSite?

Las cookies sin un atributo SameSite se tratan como si se especificaran SameSite=Lax y el mismo comportamiento de esquema cruzado se aplica a estas cookies que en la nube. Ten en cuenta que aún se aplica la excepción temporal a los métodos no seguros, consulta la mitigación de Lax + POST en Chromium SameSite Preguntas frecuentes para obtener más información.

¿Cómo se ven afectados los WebSockets?

Las conexiones de WebSocket se seguirán considerando del mismo sitio si son iguales. seguridad como la página.

Mismo sitio:

  • Conexión de wss:// desde https://
  • Conexión de ws:// desde http://

Entre sitios:

  • Conexión de wss:// desde http://
  • Conexión de ws:// desde https://

Foto de Julissa Capdevilla activado Eliminar salpicadura