在 Batch 中将客户端代码迁移到 TLS 1.2

为支持安全最佳做法并保持符合行业标准,Azure Batch 将于 2023 年 3 月 31 日停用 Azure Batch 中的传输层安全性 (TLS) 1.0 和 TLS 1.1。 了解如何在 Batch 服务客户端代码中迁移到 TLS 1.2。

在 Batch 中终止对 TLS 1.0 和 TLS 1.1 的支持

已知 TLS 版本 1.0 和 TLS 1.1 很容易受到 BEAST 和 POODLE 攻击,并具有其他常见漏洞和披露 (CVE) 缺点。 TLS 1.0 和 TLS 1.1 不支持支付卡行业 (PCI) 合规性标准推荐的新式加密法和加密套件。 整个行业正趋向于专门使用 TLS 1.2 或更高版本,Azure 也正这样做。

如果你已迁移以在 Batch 客户端应用程序中使用 TLS 1.2,则此停用不适用于你。 只有通过数据平面 API(而非管理平面)直接进入 Batch 服务的 API 请求会受到影响。 管理平面层的 API 请求通过 ARM 进行路由,并受 ARM TLS 最低版本要求的约束。 建议尽可能在所有 Batch 数据平面或管理平面 API 调用上迁移到 TLS 1.2,以实现安全最佳做法。

替代选项:使用 TLS 1.2

为了避免 Batch 工作流中断,必须在 2023 年 3 月 31 日 Batch 中停用 TLS 1.0 和 TLS 1.1 之前将客户端代码更新为使用 TLS 1.2。

有关具体的开发用例,请参阅以下信息:

  • 如果对客户端应用程序代码使用本机 WinHTTP,请参阅对启用 TLS 1.1 和 TLS 1.2 作为默认安全协议的更新中的指南。

  • 如果对客户端应用程序代码使用 .NET Framework,请升级到 .NET 4.7 或更高版本。 从 .NET 4.7 开始,默认情况下会强制实施 TLS 1.2。

  • 如果使用 .NET Framework,并且无法升级到 .NET 4.7 或更高版本,请参阅用于网络编程的 TLS 中的指南以强制实施 TLS 1.2。

有关详细信息,请参阅 .NET Framework 的 TLS 最佳做法

常见问题解答

  • 为什么需要升级到 TLS 1.2?

    TLS 1.0 和 TLS 1.1 被认为是不安全的,并且存在 TLS 1.2 中已解决的安全问题。 TLS 1.2 自 2008 年起便可供使用。 TLS 1.2 被广泛用作使用 TLS 保护信道的最低版本。

  • 如果不升级,会发生什么情况?

    Azure Batch 中停用该功能后,你的客户端应用程序将无法与 Batch 数据平面 API 服务通信,除非你升级到 TLS 1.2。

  • 升级到 TLS 1.2 是否会影响应用程序的性能?

    升级到 TLS 1.2 通常不会影响应用程序的性能。

  • 如何知道我使用的是 TLS 1.0 还是 TLS 1.1?

    若要确定所使用的 TLS 版本,请检查客户端应用程序日志和 Batch 部署的审核日志。

后续步骤

有关详细信息,请参阅在客户端上启用 TLS 1.2