你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于容器的应用程序网关 TLS 策略概述
可以使用适用于容器的 Azure 应用程序网关来控制 TLS 密码,以满足组织的合规性和安全目标。
TLS 策略包括 TLS 协议版本、密码套件以及 TLS 握手期间首选密码顺序的定义。 适用于容器的应用程序网关目前提供两个预定义策略可供选择。
用法和版本详细信息
- 自定义 TLS 策略允许为网关配置最低协议版本、密码和椭圆曲线。
- 如果未定义 TLS 策略,则使用默认 TLS 策略。
- 用于连接的 TLS 密码套件也基于所使用的证书类型。 客户端和适用于容器的应用程序网关之间协商的密码套件基于 YAML 中定义的网关侦听器配置。 在适用于容器的应用程序网关和后端目标之间建立连接时使用的密码套件基于后端目标提供的服务器证书的类型。
预定义 TLS 策略
适用于容器的应用程序网关提供两个预定义的安全策略。 可以选择其中任一策略来实现适当的安全级别。 策略名称按引入的年份和月份 (YYYY-MM) 定义。 此外,-S 变体可能存在,以表示可能协商的更严格的密码变体。 每个策略提供不同的 TLS 协议版本和密码套件。 这些预定义策略是在考虑 Microsoft 安全团队提供的最佳做法和建议的基础上配置的。 建议使用最新的 TLS 策略来确保最佳的 TLS 安全性。
下表列出了每个预定义策略支持的密码套件和最低协议版本。 密码套件的顺序决定了 TLS 协商期间的优先级顺序。 了解这些预定义策略的密码套件的确切顺序。
预定义的策略名称 | 2023-06 | 2023-06-S |
---|---|---|
最低协议版本 | TLS 1.2 | TLS 1.2 |
启用的协议版本 | TLS 1.2 | TLS 1.2 |
TLS_AES_256_GCM_SHA384 | ✓ | ✓ |
TLS_AES_128_GCM_SHA256 | ✓ | ✓ |
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | ✓ | ✓ |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | ✓ | ✓ |
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | ✓ | ✓ |
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | ✓ | ✓ |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 | ✓ | ✗ |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | ✓ | ✗ |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 | ✓ | ✗ |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 | ✓ | ✗ |
椭圆曲线 | ||
P-384 | ✓ | ✓ |
P-256 | ✓ | ✓ |
上表中未指定的协议版本、密码和椭圆曲线不受支持,也不会进行协商。
默认 TLS 策略
在 Kubernetes 配置中未指定 TLS 策略时,将应用预定义的策略 2023-06。
如何配置 TLS 策略
可以在 FrontendTLSPolicy 资源中定义 TLS 策略,该资源针对已定义的网关侦听器。 指定 predefined
类型的 policyType,并使用预定义的策略名称:2023-06
或 2023-06-S
使用预定的义 TLS 策略 2023-06-S 创建新的 FrontendTLSPolicy 资源的示例命令。
kubectl apply -f - <<EOF
apiVersion: alb.networking.azure.io/v1
kind: FrontendTLSPolicy
metadata:
name: policy-default
namespace: test-infra
spec:
targetRef:
kind: Gateway
name: target-01
namespace: test-infra
sectionNames:
- https-listener
group : gateway.networking.k8s.io
default:
policyType:
type: predefined
name: 2023-06-S
EOF