为 SameSite Cookie 设置做好充足准备
SameSiteCookie对网站的安全性非常重要。今年7月,我们重新调整了对SameSite的更改,今天,我们在Chrome 80以上的版本中达到了全部覆盖范围。
鉴于大多数开发人员尚未做出相应的调整,并在保护用户隐私的前提下,团队将改变内容和如何调整SameSiteCookie,让所有开发人员重新整合,希望引起开发者对用户隐私的关注,并开始做出改变,以减少潜在的安全风险。
恢复SameSiteCookie 7月份的变化
今年4月,为了确保该网站在回应新冠肺炎的重要初期阶段提供必要的服务,我们暂时推迟了SameSiteCookie标签的实施。我们已经发布了在夏季恢复部署的计划。
自4月以来,我们一直在监测整个生态系统的准备情况,并与网站和服务部门合作,确保它们为SameSite标签政策做好了准备。7月14日,我们恢复了启用Chrome 80+的SameSiteCookie实现,与Chrome 84的稳定版本保持一致。
准备新的SameSite=None;SecureCookie设置
去年5月,Chrome宣布推出Cookie的默认安全模式,推出了一个新的Cookie分类系统(规范)。这个程序是我们正在进行的改善网络隐私和安全性工作的一部分。请参阅web.dev上的SameSiteCookie说明,以获得开发人员的指导。
理解跨域和同域Cookie方案
网站通常集成了用于广告、内容推荐、第三方微件、社交媒体嵌入和其他功能的外部服务。当您浏览网页时,这些外部服务可能会将Cookie存储在浏览器中,然后访问Cookie,以提供个性化的访问体验或衡量观众的参与程度。每个Cookie都有一个相关的域。如果与Cookie相关的域与外部服务不匹配,并且不是用户地址栏中的网站,则被视为跨域(或"第三方")场景。
不太明显的跨站点用例包括有多个网站的实体在多个网站上使用Cookie。虽然这些Cookie和Web站点属于同一个实体,但当Cookie的域与访问Cookie的站点不匹配时,它仍然被视为跨域或"第三方"场景。
当网页上的外部资源访问与站点域不匹配的Cookie时,它是跨域或"第三方"方案。
相反,当Cookie域与用户地址栏中的站点域匹配时,Cookie访问将发生在相同的域中(或"第一方")场景中。相同的网站Cookie通常用于让用户登录网站,记住他们的喜好,并支持站点分析。
当网页上的资源访问与用户访问的站点匹配的Cookie时,它是相同的域或"第一方"场景
新的Cookie安全和透明模式
现在,如果Cookie仅在第一方场景中被访问,开发人员可以选择应用这两种设置中的一种(sameSite=Lax或sameSite=Strength)来阻止外部访问。然而,很少有开发人员采用这种推荐的方法,使得大量Cookie在同一域中暴露于跨站点请求伪造攻击等威胁。
为了保护更多的站点及其用户,新的默认安全模型假定所有Cookie都应该受到外部访问的保护(除非另有规定)。开发人员必须使用新的Cookie设置SameSite=None来指定Cookie可用于跨站点访问。当SameSite=None属性存在时,您必须使用附加的安全属性,以便只能通过HTTPS连接访问跨站Cookie。这不能减轻与跨站点访问相关的风险,但可以防止网络攻击。
除了即时安全的好处外,明确声明跨站点Cookie还可以提高透明度和用户选择。例如,浏览器可以为用户提供精细的粒度控制,以管理Cookie,Cookie只能由单个网站访问,而Cookie是跨多个网站访问的。