Blog

Prepárese para la nueva configuración de cookies SameSite=None; Secure

Jueves, 16 de enero de 2020


Esta es una publicación cruzada del
Chromium developer blog
y es específica sobre cómo los cambios en Chrome pueden afectar el funcionamiento de su sitio web para sus usuarios en el futuro.

En mayo, Chrome anunció
un modelo seguro por defecto para las cookies, habilitado por un nuevo sistema de clasificación de cookies
(especificación). Esta
iniciativa
es parte de nuestro esfuerzo continuo para mejorar la privacidad y la seguridad en toda la web.

Chrome planea implementar el nuevo modelo con Chrome 80 en febrero de 2020. Mozilla y Microsoft también han indicado su intención de implementar el nuevo modelo en Firefox y Edge, según sus propios cronogramas. Aunque los cambios de Chrome aún faltan unos meses, es importante que los desarrolladores que administran cookies evalúen su preparación hoy. Esta publicación de blog describe conceptos de alto nivel; consulte
SameSite Cookies Explained en web.dev para obtener orientación para desarrolladores.

Los sitios web suelen integrar servicios externos para publicidad, recomendaciones de contenido, widgets de terceros, incrustaciones sociales y otras funciones. Mientras navega por la web, estos servicios externos pueden almacenar cookies en su navegador y posteriormente acceder a esas cookies para ofrecer experiencias personalizadas o medir la participación de la audiencia. Cada cookie tiene un dominio asociado. Si el dominio asociado con una cookie coincide con un servicio externo y no con el sitio web en la barra de direcciones del usuario, esto se considera un contexto entre sitios (o “de terceros”).

Los casos de uso entre sitios menos obvios incluyen situaciones en las que una entidad que posee varios sitios web utiliza una cookie en esas propiedades. Aunque la misma entidad posee la cookie y los sitios web, esto sigue contando como contexto entre sitios o “de terceros” cuando el dominio de la cookie no coincide con el/los sitio(s) desde el cual se accede a la cookie.

Site domain doesn't match the cookie domain


Cuando un recurso externo en una página web accede a una cookie que no coincide con el dominio del sitio, es un contexto entre sitios o “de terceros”.

Por el contrario, el acceso a cookies en un contexto
del mismo sitio (o “de origen”) ocurre cuando el dominio de una cookie coincide con el dominio del sitio web en la barra de direcciones del usuario. Las cookies del mismo sitio se utilizan comúnmente para mantener a las personas conectadas a sitios web individuales, recordar sus preferencias y respaldar el análisis del sitio.

Site domain matches the cookie domain


Cuando un recurso en una página web accede a una cookie que coincide con el sitio que el usuario está visitando, es un contexto del mismo sitio o “de origen”.

Hoy en día, si una cookie solo está destinada a ser accedida en un contexto de origen, el desarrollador tiene la opción de aplicar una de dos configuraciones (SameSite=Lax o
SameSite=Strict) para evitar el acceso externo. Sin embargo, muy pocos desarrolladores siguen esta práctica recomendada, dejando una gran cantidad de cookies del mismo sitio expuestas innecesariamente a amenazas como ataques de
Cross-Site Request Forgery
.

Para proteger más sitios web y a sus usuarios, el nuevo modelo seguro por defecto asume que todas las cookies deben estar protegidas contra el acceso externo a menos que se especifique lo contrario. Los desarrolladores deben usar una nueva configuración de cookies, SameSite=None, para designar cookies para acceso entre sitios. Cuando el atributo SameSite=None está presente, se debe usar un atributo Secure adicional para que las cookies entre sitios solo puedan ser accedidas a través de conexiones HTTPS. Esto no mitigará todos los riesgos asociados con el acceso entre sitios, pero proporcionará protección contra ataques de red.

Más allá de los beneficios de seguridad inmediatos, la declaración explícita de cookies entre sitios permite una mayor transparencia y elección del usuario. Por ejemplo, los navegadores podrían ofrecer a los usuarios controles detallados para administrar las cookies a las que solo accede un único sitio por separado de las cookies a las que se accede en varios sitios.

Cumplimiento de Chrome a partir de febrero de 2020

Con Chrome 80 en febrero, Chrome tratará las cookies que no tengan un valor SameSite declarado como cookies
SameSite=Lax . Solo las cookies con la configuración
SameSite=None; Secure estarán disponibles para acceso externo, siempre que se acceda a ellas desde conexiones seguras. Los rastreadores de estado de la plataforma Chrome para
SameSite=None
y
Secure
continuarán actualizándose con la información de lanzamiento más reciente.

Mozilla ha afirmado su apoyo al nuevo modelo de clasificación de cookies con su
intención de implementar
los requisitos de SameSite=None; Secure para cookies entre sitios en Firefox. Microsoft recientemente
anunció
planes para comenzar a implementar el modelo a partir de un experimento en Microsoft Edge 80.

Cómo prepararse; Complejidades conocidas

Si administra cookies entre sitios, deberá aplicar la configuración SameSite=None; Secure a esas cookies. La implementación debería ser sencilla para la mayoría de los desarrolladores, pero le recomendamos encarecidamente que comience a realizar pruebas ahora para identificar complejidades y casos especiales, como los siguientes:

  • No todos los lenguajes y bibliotecas admiten el valor None todavía, lo que requiere que los desarrolladores establezcan el encabezado de la cookie directamente. Este GitHub repository
    proporciona instrucciones para implementar SameSite=None; Secure en una variedad de lenguajes, bibliotecas y marcos.
  • Algunos navegadores, incluidas algunas versiones de Chrome, Safari y UC Browser, podrían manejar el valor
    None de formas no deseadas, lo que requiere que los desarrolladores codifiquen excepciones para esos clientes. Esto incluye Android WebViews impulsados por versiones anteriores de Chrome. Aquí hay una lista de
    clientes incompatibles.
  • conocidos. Se recomienda a los desarrolladores de aplicaciones que declaren la configuración de SameSite cookie
    apropiada para Android WebViews según las versiones de Chrome que sean compatibles con el valor None , tanto para cookies accedidas a través de encabezados HTTP(S) como a través de Android
    WebView‘s
    CookieManager API,
    aunque el nuevo modelo no se aplicará en Android WebView hasta más adelante.
  • Es posible que los administradores de TI de la empresa deban implementar políticas especiales
    para revertir temporalmente el navegador Chrome al comportamiento heredado si algunos servicios, como el inicio de sesión único o las aplicaciones internas, no están listos para el lanzamiento de febrero.
  • Si tiene cookies a las que accede tanto en un contexto de origen como de terceros, podría considerar
    usar cookies separadas para obtener los beneficios de seguridad de SameSite=Lax
    en el contexto de origen.

Explicación de las cookies SameSite
ofrece orientación específica para las situaciones anteriores y canales para plantear problemas y preguntas.

Para probar el efecto del nuevo comportamiento de Chrome en su sitio o en las cookies que administra, puede ir a
chrome://flags en Chrome 76+ y habilitar los experimentos
“SameSite by default cookies” y
“Cookies without SameSite must be secure“. Además,
estos experimentos se habilitarán automáticamente para un subconjunto de usuarios de Chrome 79 Beta. Algunos usuarios
Beta con los experimentos habilitados podrían experimentar problemas de incompatibilidad con servicios que
aún no admiten el nuevo modelo; los usuarios pueden optar por no participar en los experimentos Beta yendo a
chrome://flags y desactivándolos.

Si administra cookies a las que solo se accede en un contexto del mismo sitio (cookies del mismo sitio), no
es necesario que realice ninguna acción; Chrome evitará automáticamente que entidades externas accedan a esas cookies,
incluso si falta el atributo SameSite o no se establece ningún valor.
Sin embargo, recomendamos encarecidamente que aplique un valor SameSite adecuado (Lax o Strict) y no
confíe en el comportamiento predeterminado del navegador, ya que no todos los navegadores protegen las cookies del mismo sitio de forma predeterminada.

Finalmente, si le preocupa la preparación de los proveedores y otros terceros que brindan servicios a
su sitio web, puede buscar advertencias en la consola de Herramientas para desarrolladores en Chrome 77+ cuando una página
contenga cookies entre sitios a las que les falten las configuraciones requeridas:

A cookie associated with a cross-site resource at (cookie domain) was set without the 'SameSite' attribute

Algunos proveedores (incluidos algunos servicios de Google) implementarán los cambios necesarios en los
meses previos a Chrome 80 en febrero; es posible que desee comunicarse con sus socios para
confirmar su preparación.

Alien Road

Cómo lo aplicamos

Google announcements age. We keep this post here for the record, and we note for clients whether the behaviour it describes still applies today or has since been superseded.

Servicios relacionados

Compartir