11.4. コントロールプレーンの TLS セキュリティープロファイルの設定
コントロールプレーンの TLS セキュリティープロファイルを設定するには、APIServer カスタムリソース (CR) を編集して、事前定義済みまたはカスタムの TLS セキュリティープロファイルを指定します。APIServer CR に TLS セキュリティープロファイルを設定すると、設定は以下のコントロールプレーンのコンポーネントに伝播されます。
- Kubernetes API サーバー
- Kubernetes コントローラーマネージャー
- Kubernetes スケジューラー
- OpenShift API サーバー
- OpenShift OAuth API サーバー
- OpenShift OAuth サーバー
- etcd
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 暗号を定義します。
設定した TLS セキュリティープロファイルは、Spec.Tls Security Profile の APIServer カスタムリソース (CR) で確認できます。Custom TLS セキュリティープロファイルの場合には、特定の暗号と最小 TLS バージョンが一覧表示されます。
コントロールプレーンは、最小 TLS バージョンとして TLS 1.3 をサポートしません。Modern プロファイルは TLS 1.3 を必要とするため、サポート対象外です。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
手順
デフォルトの
APIServerCR を編集して TLS セキュリティープロファイルを設定します。$ oc edit APIServer cluster
spec.tlsSecurityProfileフィールドを追加します。CustomプロファイルのAPIServerCR のサンプル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 セキュリティープロファイルが
APIServerCR に設定されていることを確認します。$ 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 セキュリティープロファイルが
etcdCR に設定されていることを確認します。$ 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 ...