使用 Azure Front Door 进行 TLS 加密

传输层安全性 (TLS) 以前称为安全套接字层 (SSL),是一种用于在 Web 服务器和客户端(如 Web 浏览器)之间建立加密链接的标准安全技术。 该链路确保服务器与客户端之间传输的所有数据保持私密和加密。

为了满足你的安全性或合规性要求,Azure Front Door 支持端到端 TLS 加密。 Front Door TLS/SSL 卸载会终止 TLS 连接,解密 Azure Front Door 的流量,并在将流量转发到源之前对其进行重新加密。 如果与源的连接使用源的公共 IP 地址,则在 Azure Front Door 上将 HTTPS 配置为转发协议是一种很好的安全做法。 通过使用 HTTPS 作为转发协议,可以在从客户端到源的整个请求处理过程中强制实施端到端 TLS 加密。 如果使用 专用链接 功能通过 Azure Front Door Premium 部署私有源,则还支持 TLS/SSL 卸载。

本文介绍 Azure Front Door 如何与 TLS 连接配合使用。 有关如何将 TLS 证书用于自己的自定义域的详细信息,请参阅 自定义域的 HTTPS。 要了解如何在自己的自定义域上配置 TLS 证书,请参阅使用 Azure 门户在 Azure Front Door 上配置自定义域

端到端 TLS 加密

端到端TLS加密在传输到源端时保护敏感数据,并使您能够享受Azure Front Door的全局负载均衡和缓存等功能。 某些功能还包括基于 URL 的路由、TCP 拆分、距离客户端最近边缘位置上的缓存及在边缘自定义 HTTP 请求。

Azure Front Door 会在边缘卸载 TLS 会话,并对客户端请求进行解密。 然后,它会应用配置的传递规则,以便将请求路由到源组中的相应源。 接着,Azure Front Door 会在请求传输到源之前重新开始与源的 TLS 连接,并使用源的证书对所有数据进行重新加密。 来自源的任何响应都会经历相同的加密过程返回最终用户。 你可以将 Azure Front Door 配置为使用 HTTPS 作为转发协议,以启用端到端 TLS。

支持的 TLS 版本

Azure Front Door 支持两个版本的 TLS 协议:TLS 版本 1.2 和 1.3。 2019 年 9 月之后创建的所有 Azure Front Door 配置文件都使用 TLS 1.2 作为启用 TLS 1.3 的默认最小值。 目前,Azure Front Door 不支持客户端/相互身份验证(mTLS)。

Important

不支持 TLS 1.0 和 1.1。

对于 Azure Front Door 标准版和高级版,您可以配置预定义的 TLS 策略,或根据贵组织的安全需求选择 TLS 密码套件。 有关详细信息,请参阅 Azure Front Door TLS 策略 并在 Front Door 自定义域上配置 TLS 策略

Note

  • 启用TLS 1.3的客户端必须支持Microsoft SDL兼容的EC曲线之一,包括Secp384r1、Secp256r1和Secp521,才能通过TLS 1.3成功通过Azure Front Door发送请求。
  • 在发起请求时,将这些曲线中的一种用作首选曲线,以避免因协商受支持的 EC 曲线而进行多次往返,从而增加 TLS 握手延迟。

支持的证书

创建 TLS/SSL 证书时,必须使用 Microsoft 受信任 CA 列表中允许的证书颁发机构 (CA) 创建完整的证书链。 如果你使用了不允许的CA,Azure Front Door会拒绝你的请求。

不允许来自内部 CA 的证书或自签名证书。

联机证书状态协议 (OCSP) 装订

Azure Front Door 默认支持 OCSP 装订,无需进行任何配置。

源 TLS 连接(Azure Front Door 到源)

对于 HTTPS 连接,Azure Front Door 期望你的 Origin 提供一份来自有效证书授权中心(CA)的证书,且主体名与 origin 主机名相符。 例如,如果你将源站主机名设置为 myapp-chinanorth2.contoso.net,但源站在 TLS 握手期间提供的证书的主题名称中不包含 myapp-chinanorth2.contoso.net*.contoso.net,Azure Front Door 会拒绝该连接,客户端会看到错误。

Note

证书必须包含完整的证书链,包括终端证书和中间证书。 根 CA 必须是 Microsoft 受信任的 CA 列表的一部分。 如果你提供一个没有完整链的证书,涉及该证书的请求可能无法按预期工作。

在某些用例中,比如测试,你可以禁用Azure Front Door的证书主体名称检查,作为解决HTTPS连接失败的变通方法。 源仍必须提供具有有效受信任链的证书,但不需要与源主机名匹配。

在 Azure Front Door 标准版和高级版中,可以配置源以禁用证书使用者名称检查。

Note

从安全角度看,不要禁用证书主体名称检查。

前端 TLS 连接(客户端到 Azure Front Door)

要启用 HTTPS 协议以安全传输内容,可以在 Azure Front Door 自定义域上使用,可以使用 Azure Front Door 管理的证书或您自己的证书。

有关详细信息,请参阅自定义域的 HTTPS