12.4. 컨트롤 플레인의 TLS 보안 프로필 구성
컨트롤 플레인에 대한 TLS 보안 프로필을 구성하려면 APIServer
CR(사용자 정의 리소스)을 편집하여 사전 정의된 또는 사용자 지정 TLS 보안 프로필을 지정합니다. APIServer
CR에서 TLS 보안 프로필을 설정하면 다음 컨트롤 플레인 구성 요소로 설정이 전파됩니다.
- Kubernetes API 서버
- Kubernetes 컨트롤러 관리자
- Kubernetes 스케줄러
- OpenShift API 서버
- OpenShift OAuth API 서버
- OpenShift OAuth 서버
- etcd
- Machine Config Operator
- 머신 구성 서버
TLS 보안 프로필이 구성되지 않은 경우 기본 TLS 보안 프로필은 Intermediate
입니다.
Ingress 컨트롤러의 기본 TLS 보안 프로필은 API 서버에 설정된 TLS 보안 프로필을 기반으로 합니다.
Old
TLS 보안 프로파일을 구성하는 샘플 APIServer
CR
apiVersion: config.openshift.io/v1 kind: APIServer ... spec: tlsSecurityProfile: old: {} type: Old ...
TLS 보안 프로필은 컨트롤 플레인 구성 요소와 통신하는 데 필요한 최소 TLS 버전 및 TLS 암호를 정의합니다.
Spec.Tls Security Profile
의 APIServer
CR(사용자 정의 리소스)에서 구성된 TLS 보안 프로필을 확인할 수 있습니다. Custom
TLS 보안 프로필의 경우 특정 암호 및 최소 TLS 버전이 나열됩니다.
컨트롤 플레인은 TLS 1.3
을 최소 TLS 버전으로 지원하지 않습니다. TLS 1.3
이 필요하므로 Modern
프로파일은 지원되지 않습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
기본
APIServer
CR을 편집하여 TLS 보안 프로필을 구성합니다.$ oc edit APIServer cluster
spec.tlsSecurityProfile
필드를 추가합니다.Custom
프로파일의APIServer
CR 샘플apiVersion: config.openshift.io/v1 kind: APIServer metadata: name: cluster spec: tlsSecurityProfile: type: Custom 1 custom: 2 ciphers: 3 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11
- 파일을 저장하여 변경 사항을 적용합니다.
검증
TLS 보안 프로필이
APIServer
CR에 설정되어 있는지 확인합니다.$ oc describe apiserver cluster
출력 예
Name: cluster Namespace: ... API Version: config.openshift.io/v1 Kind: APIServer ... Spec: Audit: Profile: Default Tls Security Profile: Custom: Ciphers: ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 Min TLS Version: VersionTLS11 Type: Custom ...
TLS 보안 프로필이
etcd
CR에 설정되어 있는지 확인합니다.$ oc describe etcd cluster
출력 예
Name: cluster Namespace: ... API Version: operator.openshift.io/v1 Kind: Etcd ... Spec: Log Level: Normal Management State: Managed Observed Config: Serving Info: Cipher Suites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 Min TLS Version: VersionTLS12 ...
TLS 보안 프로필이 Machine Config Server Pod에 설정되어 있는지 확인합니다.
$ oc logs machine-config-server-5msdv -n openshift-machine-config-operator
출력 예
# ... I0905 13:48:36.968688 1 start.go:51] Launching server with tls min version: VersionTLS12 & cipher suites [TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256] # ...