在 Azure 资源管理器中迁移到 TLS 1.2
传输层安全性 (TLS) 是通过计算机网络建立加密通道的安全协议。 TLS 1.2 是当前的行业标准,受 Azure 资源管理器支持。 为能够后向兼容,Azure 资源管理器也支持早期版本(例如 TLS 1.0 和 1.1),但这种支持即将终结。
为了确保 Azure 符合法规要求,并为我们的客户提供改进的安全性,Azure 资源管理器将停止支持 2024 年 9 月 30 日 TLS 1.2 之前的协议。
本文提供了有关删除早期安全协议的依赖项的指导。
为何迁移到 TLS 1.2
TLS 对通过 Internet 发送的数据进行加密,以防止恶意用户访问私人敏感信息。 客户端和服务器执行 TLS 握手以验证彼此的身份,并确定双方要怎样通信。 在握手期间,每一方会识别各自使用的 TLS 版本。 如果客户端和服务器都支持某个通用版本,则可以相互通信。
TLS 1.2 比其前身更安全且更快。
Azure 资源管理器是 Azure 的部署和管理服务。 使用 Azure 资源管理器可以在 Azure 帐户中创建、更新和删除资源。 为了增强安全性并缓解将来可能遭受的任何协议降级攻击,Azure 资源管理器将不再支持 TLS 1.1 或更低版本。 若要继续使用 Azure 资源管理器,请确保调用 Azure 的所有客户端都使用 TLS 1.2 或更高版本。
准备迁移到 TLS 1.2
我们建议在准备将客户端迁移到 TLS 1.2 时执行以下步骤:
将操作系统更新到最新版本。
将开发库和框架更新到最新版本。 例如,Python 3.8 支持 TLS 1.2。
修复版本低于 TLS 1.2 的安全协议的硬编码实例。
向客户和合作伙伴通知你的产品或服务将迁移到 TLS 1.2。
如需更详细的指导,请查看环境中有关弃用早期 TLS 版本的清单。
快速提示
Windows 8+ 中默认已启用 TLS 1.2。
Windows Server 2016+ 中默认已启用 TLS 1.2。
如果可能,请避免对协议版本进行硬编码。 应该将应用程序配置为始终遵循操作系统的默认 TLS 版本。
例如,可以在 .NET Framework 应用程序中启用
SystemDefaultTLSVersion
标志以遵循操作系统的默认版本。 这样,应用程序便可以利用将来的 TLS 版本。如果无法避免硬编码,请指定 TLS 1.2。
升级面向 .NET Framework 4.5 或更低版本的应用程序。 请改用 .NET Framework 4.7 或更高版本,因为这些版本支持 TLS 1.2。
例如,Visual Studio 2013 不支持 TLS 1.2。 至少应使用 Visual Studio 2017 最新发行版。
可以使用 Qualys SSL Labs 来识别连接到应用程序的客户端所请求的 TLS 版本。
可以使用 Fiddler 来识别当你发出 HTTPS 请求时客户端使用的 TLS 版本。
后续步骤
- 解决 TLS 1.0 问题,第 2 版 - 深入了解如何迁移到 TLS 1.2。
- 如何在客户端上启用 TLS 1.2 - 适用于 Microsoft Configuration Manager。
- 为客户端应用程序配置传输层安全性 (TLS) - 包含有关在 PowerShell 中更新 TLS 版本的说明
- 在环境中为 Microsoft Entra TLS 1.1 和 1.0 启用 TLS 1.2 支持的设置已弃用 � 包含有关为 WinHTTP 更新 TLS 版本的信息。
- .NET Framework 中的传输层安全性 (TLS) 最佳做法 - 为面向 .NET Framework 的应用程序配置安全协议时的最佳做法。
- .NET Framework 中的 TLS 最佳做法 - 在 GitHub 上提出有关 .NET Framework 中的最佳做法的问题。
- 排查 TLS 1.2 与 PowerShell 的兼容性问题 - 执行探测以检查 TLS 1.2 兼容性,并识别与 PowerShell 不兼容时的问题。