컨테이너용 Application Gateway TLS 정책 개요
컨테이너용 Azure Application Gateway를 사용하면 TLS 암호화를 제어하여 조직의 준수 및 보안 목표를 충족할 수 있습니다.
TLS 정책에는 TLS 프로토콜 버전, 암호화 그룹 및 TLS 핸드셰이크 중에 기본 설정되는 암호화 순서에 대한 정의가 포함됩니다. 컨테이너용 Application Gateway는 현재 선택할 수 있는 미리 정의된 두 가지 정책을 제공합니다.
사용량 및 버전 세부 정보
- 사용자 지정 TLS 정책을 사용하면 게이트웨이의 최소 프로토콜 버전, 암호 및 타원 곡선을 구성할 수 있습니다.
- TLS 정책이 정의되지 않은 경우 기본 TLS 정책이 사용됩니다.
- 연결에 사용되는 TLS 암호 그룹은 사용 중인 인증서의 형식에 따라 달라집니다. 클라이언트와 컨테이너용 Application Gateway 간에 협상된 암호 그룹은 YAML에 정의된 게이트웨이 수신기 구성을 기반으로 합니다. 컨테이너용 Azure Application Gateway와 백 엔드 대상 간의 연결을 설정하는 데 사용되는 암호화 그룹은 백 엔드 대상에서 제공하는 서버 인증서 형식을 기반으로 합니다.
미리 정의된 TLS 정책
컨테이너용 Azure Application Gateway는 미리 정의된 두 가지 보안 정책을 제공합니다. 적절한 보안 수준을 달성하기 위해 이러한 정책 중 하나를 선택할 수 있습니다. 정책 이름은 도입 연도 및 월(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 정책을 구성하는 방법
TLS 정책은 정의된 게이트웨이 수신기를 대상으로 하는 FrontendTLSPolicy 리소스에서 정의할 수 있습니다. predefinned
형식의 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