注释
以前,本文引用了 Google Chrome Beta 版本 79。 Google 计划在 Chrome Stable 版本 80 中发布 Cookie 行为。 Chrome 已更新其 推出时间线 ,表明从 2 月 17 日所在周开始,此更改将在 Chrome 80 中推出。 Chrome 80 将于 2 月 4 日交付,默认情况下禁用此功能。 该功能将从2月17日开始按阶段性计划启用。
概要
2020 年 2 月 4 日发布的 Google Chrome Web 浏览器稳定版(版本 80)将从 2 月 17 日那一周开始改变默认 Cookie 行为。 尽管此更改旨在阻止恶意 Cookie 跟踪和保护 Web 应用程序,但它也有望影响许多基于开放标准的应用程序和服务。 这包括Microsoft云服务。
鼓励企业客户确保他们已准备好进行更改,并准备好通过测试其应用程序(无论是自定义开发还是购买)来实现缓解措施。 有关详细信息,请参阅“建议”部分。
Microsoft承诺在 Chrome 80 发布日期之前解决其产品和服务中的这种行为更改。 本文讨论了Microsoft和 Google 关于安装产品和库所需的各种更新的指南,以及测试和准备指南。 但是,同样重要的是,根据 Chrome 行为中的此更改测试自己的应用程序,并根据需要准备自己的网站和 Web 应用程序。
对客户应用程序的影响
注释
如果尝试激活 Microsoft Learn 沙盒时无法查看权限,请通过导航到chrome://settings/clearBrowserData清除浏览数据。
所有Microsoft云服务都会更新,以符合 Chrome 提出的新要求,但其他一些应用程序仍可能会受到影响。 查看某些需要客户更新的服务器产品的“建议”部分。
应使用 Chrome Beta 版本 80 彻底测试所有应用程序,以验证此更改的效果。 我们预计,与本文介绍的问题类似的问题会影响应用程序。 对于使用依赖于跨域 Cookie 共享的任何 Web 平台或技术(例如嵌入在其他应用中的应用)的应用程序尤其如此。
Chrome 版本 78 和 79 测试版进行了一个改进,将 SameSite:Lax 属性的强制执行延迟了两分钟。 但是,使用这些版本进行测试可能会掩盖其他问题。 因此,我们建议使用 Chrome 版本 80 进行测试,方法是启用特定的标志。 这样做至少有助于发现效果,以便确定最佳计划。 有关详细信息,请参阅“测试指南”部分。
Chromium 上的 Microsoft Edge 浏览器(版本 80)不会受到这些 SameSite 更改的影响。 可以 阅读 Edge 文档 ,查看用于调整此更改的当前计划。
建议
Microsoft使用 Active Directory 联合身份验证服务(AD FS)或 Web 应用程序代理的客户必须部署以下 Windows Server 更新之一:
| 产品 | 知识库文章 | 发布日期 |
|---|---|---|
| Windows Server 2019 | KB 4534273 | 2020 年 1 月 14 日 |
| Windows Server 2016 | KB 4534271 | 2020 年 1 月 14 日 |
| Windows Server 2012 R2 | KB 4534309 | 2020 年 1 月 14 日 |
还必须更新以下Microsoft服务器或客户端产品。 更新将在可用时添加到本文中。 建议定期重新访问本文以获取最新更新。
| 产品 | 知识库文章 | 发布日期 |
|---|---|---|
| Exchange Server 2019 | KB 4537677 | 2020 年 3 月 17 日 |
| Exchange Server 2016 | KB 4537678 | 2020 年 3 月 17 日 |
| Project Server 2013 | KB 4484360 | 2020 年 5 月 12 日 |
| Project Server 2010 | KB 4484388 | 2020 年 5 月 12 日 |
| SharePoint Foundation 2013 |
KB 4484364 (累积更新: KB 4484358)1 |
2020 年 5 月 12 日 |
| SharePoint Foundation 2010 | KB 4484386 | 2020 年 4 月 27 日 |
| SharePoint Server 2019 | KB 4484259 | 2020 年 2 月 11 日 |
| SharePoint Server 2016 | KB 4484272 | 2020 年 3 月 10 日 |
| SharePoint Server 2013 | KB 4484362 | 2020 年 5 月 12 日 |
| SharePoint Server 2010 | KB 4484389 | 2020 年 5 月 12 日 |
| Skype for Business Server 2019 |
KB 4549672 (累积更新: KB 4582629)1 |
2020 年 9 月累积更新 (CU 4) |
| Skype for Business Server 2015 |
KB 4549672 (累积更新: KB 4558387)1 |
2020 年 5 月累积更新 (CU 11) |
注释
1 此累积更新包含 SameSite Cookie 问题的修补程序,以及与 SameSite Cookie 问题无关的其他修补程序。 Microsoft建议安装累积更新,而不是单个更新,以确保您的环境在累积更新发布时具备所有可用的修补程序。
必须针对以下所有方案测试应用程序,并根据测试结果确定相应的计划:
- 应用程序不受 SameSite 更改影响。 在这种情况下,无需执行任何操作。
- 应用程序受到影响,但软件开发人员可以及时进行更改以使用 SameSite:None Cookie 设置。 在这种情况下,应按照“测试指南”部分中的开发人员指南更改应用程序。
- 应用程序受到影响,但无法及时更改。 对于内部站点,应用程序可以通过使用 LegacySameSiteCookieBehaviorEnabledForDomainList 设置,使其不受 Chrome 的 SameSite 政策强制行为的影响。
如果企业客户了解到大部分应用受到影响,或者他们没有足够的时间在 2 月 18 日开始发布该功能之前测试其应用,则鼓励他们在所管理的计算机中禁用 SameSite 行为。 他们可以使用组策略、System Center Configuration Manager 或 Microsoft Intune(或任何移动设备管理软件)执行此作,直到他们可以验证新行为不会破坏其应用中的基本方案。
Google 发布了以下 企业控件 ,这些控件可以设置为在 Chrome 中禁用 SameSite 强制行为:
- LegacySameSiteCookieBehaviorEnabled,用于启用或禁用此更改。
- LegacySameSiteCookieBehaviorEnabledForDomainList,允许 Chrome 在特定域上禁用此策略。
对于在 .NET Framework 上开发应用程序的企业客户,我们建议他们更新库并有意设置 SameSite 行为,以避免 Cookie 行为更改导致的不可预测的结果。 为此,请参阅以下Microsoft ASP.NET 博客文章中的指南:
ASP.NET 和 ASP.NET Core 中即将发生的 SameSite Cookie 更改
另请参阅以下 Google Chromium 博客文章,获取有关此问题的开发人员指南:
开发人员:为新的 SameSite=None 做准备;安全 Cookie 设置
对于那些受影响的网站且用户不在其企业政策涵盖范围内的客户,必须让这些用户使用不同的浏览器(如 Edge、Firefox、Internet Explorer),或者指导这些用户如何在修复应用程序期间禁用 Chrome 中的设置(如下一部分所示)。
测试指南
Google 已发布 本指南 ,供开发人员准备 SameSite 更改。 此外,建议使用以下方法测试网站和应用。
使用 Chrome Beta 版本 80 测试方案:
下载 Chrome Beta 版本 80:
- 对于 Windows 64 位: 适用于 Windows 的 Beta 通道(64 位)
- 对于 Windows 32 位: 适用于 Windows 的 Beta 通道(32 位)
使用以下附加命令行标志启动 Chrome:
--enable-features=SameSiteDefaultChecksMethodRigorously启用 SameSite 标志。 为此,请在地址栏中键入 chrome://flags ,搜索 SameSite,然后选择 “已启用 ”以获取以下选项。
详细信息
Web 社区正在研究一种解决方案,以解决滥用跟踪 Cookie 和跨站请求伪造问题,该方案通过一种称为 SameSite 的标准来实现。
Chrome 团队已宣布计划从 2019 年 10 月 18 日发布的 Chrome 版本 78 Beta 开始推出 SameSite 功能 的默认行为更改 。 此更新将于 2020 年 2 月 4 日迁移到 Chrome 80 版本。 此更改有助于提高 Web 安全性。 但是,它还会中断基于 OpenID Connect 标准的身份验证流。 因此,建立良好的身份验证模式将不起作用。
检查 Chrome 版本
如果你怀疑用户使用的是启用了 SameSite 的 Chrome 版本 76 或更高版本,可以通过导航到chrome://settings/help或选择 Chrome 设置图标,然后选择“有关 Google Chrome 的帮助>”来检查版本号。
对于 77-79 版本的 Chrome,请导航到 chrome://flags 查看它们是否已启用标志。 默认设置将在 Chrome 版本 80 中以分批发布的方式开始更改。
第三方信息免责声明
本文讨论的第三方产品由独立于微软的公司制造。 Microsoft对这些产品的性能或可靠性不作任何明示或暗示的保证。
第三方联系人免责声明
Microsoft 会提供第三方联系信息来帮助你查找技术支持。 该联系信息可能会在不通知的情况下更改。 Microsoft 不保证此第三方联系信息的准确性。