KubernetesCIS1.34 ベンチマーク

インターネットセキュリティセンター( CIS CIS)は、様々な業界規制に見合った基準に基づき、より安全 Kubernetes に設定するための具体的な手順の枠組みとして、 CIS KubernetesCIS ベンチマークを公開しています。 この文書には、バージョン Kubernetes を実行するクラスタのバージョン KubernetesCIS1.51.34 ベンチマーク結果が含まれています。 詳細情報またはベンチマークの理解に関するサポートについては、 「ベンチマークの使用方法」 を参照してください。

1 マスター・ノードのセキュリティー構成

1.1 マスター・ノードの構成ファイル

セクション 1.1: マスター・ノード構成ファイルのベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
1.1.1 API サーバーのポッド指定ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.2 API サーバーのポッド指定ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.3 コントローラー・マネージャーのポッド指定ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.4 コントローラー・マネージャーのポッド指定ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.5 スケジューラーのポッド指定ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.6 スケジューラーのポッド指定ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.7 etcd のポッド指定ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.8 etcd のポッド指定ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.9 コンテナー・ネットワーク・インターフェース・ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象外 1 合格 IBM
1.1.10 コンテナー・ネットワーク・インターフェース・ファイルの所有権が root:root に設定されていることを確認します。 スコア対象外 1 合格 IBM
1.1.11 etcd データ・ディレクトリーのアクセス権が 700 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.12 etcd データ・ディレクトリーの所有権が etcd:etcd に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.13 admin.conf ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.14 admin.conf ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.15 scheduler.conf ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.16 scheduler.conf ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.17 controller-manager.conf ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.18 controller-manager.conf ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.19 Kubernetes PKI ディレクトリーおよびファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.20 Kubernetes PKI 証明書ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.1.21 Kubernetes PKI 鍵ファイルのアクセス権が 600 に設定されていることを確認します。 スコア対象 1 合格 IBM

1.2 API サーバー

セクション 1.2: API サーバーのベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
1.2.1 --anonymous-auth 引数が false に設定されていることを確認します。 スコア対象外 1 不合格 IBM
1.2.2 --basic-auth-file 引数が設定されていないことを確認します。 スコア対象 1 合格 IBM
1.2.3 --token-auth-file パラメーターが設定されていないことを確認します。 スコア対象 1 合格 IBM
1.2.4 --kubelet-https 引数が true に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.5 --kubelet-client-certificate 引数と --kubelet-client-key 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.6 --kubelet-certificate-authority 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.7 --authorization-mode 引数が AlwaysAllow に設定されていないことを確認します。 スコア対象 1 合格 IBM
1.2.8 引数 --authorization-mode に が含まれていることを確認 Node してください。 スコア対象 1 合格 IBM
1.2.9 引数 --authorization-mode にRBACが含まれていることを確認してください。 スコア対象 1 合格 IBM
1.2.10 アドミッション制御プラグインが EventRateLimit に設定されていることを確認します。 スコア対象外 1 不合格 IBM
1.2.11 アドミッション制御プラグインが AlwaysAdmit に設定されていないことを確認します。 スコア対象 1 合格 IBM
1.2.12 アドミッション制御プラグインが AlwaysPullImages に設定されていることを確認します。 スコア対象外 1 不合格 IBM
1.2.13 SecurityContextDeny が使用されていない場合は、アドミッション制御プラグイン PodSecurityPolicy が設定されていることを確認します。 スコア対象外 1 成功 IBM
1.2.14 アドミッション制御プラグインが ServiceAccount に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.15 アドミッション制御プラグインが NamespaceLifecycle に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.16 アドミッション制御プラグインが PodSecurityPolicy に設定されていることを確認します。 スコア対象 1 成功 IBM
1.2.17 アドミッション制御プラグインが NodeRestriction に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.18 --insecure-bind-address 引数が設定されていないことを確認します。 スコア対象 1 合格 IBM
1.2.19 --insecure-port 引数が 0 に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.20 --secure-port 引数が 0 に設定されていないことを確認します。 スコア対象 1 合格 IBM
1.2.21 --profiling 引数が false に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.22 --audit-log-path 引数が設定されていることを確認します。 スコア対象 1 不合格 共有
1.2.23 --audit-log-maxage 引数が 30 または適切な値に設定されていることを確認します。 スコア対象 1 不合格 共有
1.2.24 --audit-log-maxbackup 引数が 10 または適切な値に設定されていることを確認します。 スコア対象 1 不合格 共有
1.2.25 --audit-log-maxsize 引数が 100 または適切な値に設定されていることを確認します。 スコア対象 1 不合格 共有
1.2.26 --request-timeout 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.27 --service-account-lookup 引数が true に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.28 --service-account-key-file 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.29 --etcd-certfile 引数と --etcd-keyfile 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.30 --tls-cert-file 引数と --tls-private-key-file 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.31 --client-ca-file 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.32 --etcd-cafile 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.2.33 --encryption-provider-config 引数が適切な値に設定されていることを確認します。 スコア対象 1 不合格 共有
1.2.34 暗号化プロバイダーが適切に構成されていることを確認します。 スコア対象 1 不合格 共有
1.2.35 API サーバーで強力な暗号方式のみが使用されていることを確認します。 スコア対象外 1 合格 IBM

1.3 コントローラー・マネージャー

セクション 1.3: コントローラー・マネージャーのベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
1.3.1 --terminated-pod-gc-threshold 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.3.2 --profiling 引数が false に設定されていることを確認します。 スコア対象 1 合格 IBM
1.3.3 --use-service-account-credentials 引数が true に設定されていることを確認します。 スコア対象 1 合格 IBM
1.3.4 --service-account-private-key-file 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.3.5 --root-ca-file 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
1.3.6 RotateKubeletServerCertificate 引数が true に設定されていることを確認します。 スコア対象 2 不合格 IBM
1.3.7 --bind-address 引数が 127.0.0.1 に設定されていることを確認します。 スコア対象 1 不合格 IBM

1.4 スケジューラー

セクション 1.4: スケジューラーのベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
1.4.1 --profiling 引数が false に設定されていることを確認します。 スコア対象 1 合格 IBM
1.4.2 --bind-address 引数が 127.0.0.1 に設定されていることを確認します。 スコア対象 1 不合格 IBM

2 Etcd ノードの構成

セクション 2 etcd ノード構成のベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
2.1 --cert-file 引数と --key-file 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
2.2 --client-cert-auth 引数が true に設定されていることを確認します。 スコア対象 1 合格 IBM
2.3 --auto-tls 引数が true に設定されていないことを確認します。 スコア対象 1 合格 IBM
2.4 --peer-cert-file 引数と --peer-key-file 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
2.5 --peer-client-cert-auth 引数が true に設定されていることを確認します。 スコア対象 1 合格 IBM
2.6 --peer-auto-tls 引数が true に設定されていないことを確認します。 スコア対象 1 合格 IBM
2.7 etcd に対して固有の認証局が使用されていることを確認します。 スコア対象外 2 合格 IBM

3 コントロール・プレーンの構成

3.1 認証および許可

セクション 3.1: 認証と許可のベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
3.1.1 クライアント証明書認証をユーザーに使用してはいけません。 スコア対象外 2 合格 共有

3.2 ロギング

セクション 3.2: ロギングのベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
3.2.1 最小限の監査ポリシーが作成されていることを確認します。 スコア対象 1 不合格 共有
3.2.2 監査ポリシーが主要なセキュリティー上の問題をカバーしていることを確認します。 スコア対象外 2 不合格 共有

4 ワーカー・ノードのセキュリティー構成

4.1 ワーカー・ノードの構成ファイル

セクション 4.1: ワーカー・ノード構成ファイルのベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
4.1.1 kubelet サービス・ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
4.1.2 kubelet サービス・ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
4.1.3 プロキシーの kubeconfig ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
4.1.4 プロキシーの kubeconfig ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
4.1.5 kubelet.conf ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
4.1.6 kubelet.conf ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
4.1.7 認証局ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
4.1.8 クライアント認証局ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM
4.1.9 kubelet 構成ファイルのアクセス権が 644 またはこれより制限が厳しい値に設定されていることを確認します。 スコア対象 1 合格 IBM
4.1.10 kubelet 構成ファイルの所有権が root:root に設定されていることを確認します。 スコア対象 1 合格 IBM

4.2 Kubelet

セクション 4.2: Kubelet のベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
4.2.1 --anonymous-auth 引数が false に設定されていることを確認します。 スコア対象 1 合格 IBM
4.2.2 --authorization-mode 引数が AlwaysAllow に設定されていないことを確認します。 スコア対象 1 合格 IBM
4.2.3 --client-ca-file 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
4.2.4 --read-only-port 引数が 0 に設定されていることを確認します。 スコア対象 1 合格 IBM
4.2.5 --streaming-connection-idle-timeout 引数が 0 に設定されていないことを確認します。 スコア対象 1 合格 IBM
4.2.6 --protect-kernel-defaults 引数が true に設定されていることを確認します。 スコア対象 1 不合格 IBM
4.2.7 --make-iptables-util-chains 引数が true に設定されていることを確認します。 スコア対象 1 合格 IBM
4.2.8 --hostname-override 引数が設定されていないことを確認します。 スコア対象外 1 不合格 IBM
4.2.9 --event-qps0 に設定されているか、適切なイベント・キャプチャーが実現されるレベルに設定されていることを確認します。 スコア対象外 2 合格 IBM
4.2.10 --tls-cert-file 引数と --tls-private-key-file 引数が適切な値に設定されていることを確認します。 スコア対象 1 合格 IBM
4.2.11 --rotate-certificates 引数が false に設定されていないことを確認します。 スコア対象 1 成功 IBM
4.2.12 RotateKubeletServerCertificate 引数が true に設定されていることを確認します。 スコア対象 1 不合格 IBM
4.2.13 Kubelet で強力な暗号方式のみが使用されていることを確認します。 スコア対象外 1 合格 IBM

5 Kubernetes ポリシー

5.1 RBAC およびサービス・アカウント

セクション 5.1: RBAC およびサービス・アカウントのベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
5.1.1 クラスタ管理者ロールは必要な場合にのみ使用されることを確認してください。 スコア対象外 1 合格 共有
5.1.2 シークレットへのアクセスを最小限に抑えます。 スコア対象外 1 不合格 共有
5.1.3 Roles および ClusterRoles でワイルドカードの使用を最小限に抑えます。 スコア対象外 1 不合格 共有
5.1.4 ポッドを作成するためのアクセスを最小限に抑えます。 スコア対象外 1 合格 共有
5.1.5 デフォルトのサービス・アカウントが積極的に使用されないようにします。 スコア対象 1 不合格 共有
5.1.6 サービス・アカウント・トークンが必要な場所のみにマウントされていることを確認します。 スコア対象外 1 不合格 共有

5.2 ポッド・セキュリティー・ポリシー

セクション 5.2: ポッド・セキュリティー・ポリシーのベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
5.2.1 特権コンテナーのアドミッションを最小限に抑えます。 スコア対象外 1 成功 共有
5.2.2 ホスト・プロセス ID の名前空間を共有することを希望しているコンテナーのアドミッションを最小限に抑えます。 スコア対象 1 成功 共有
5.2.3 ホスト IPC の名前空間を共有することを希望しているコンテナーのアドミッションを最小限に抑えます。 スコア対象 1 成功 共有
5.2.4 ホスト・ネットワークの名前空間を共有することを希望しているコンテナーのアドミッションを最小限に抑えます。 スコア対象 1 成功 共有
5.2.5 allowPrivilegeEscalation が設定されたコンテナーのアドミッションを最小限に抑えます。 スコア対象 1 成功 共有
5.2.6 ルート・コンテナーのアドミッションを最小限に抑えます。 スコア対象外 2 成功 共有
5.2.7 NET_RAW機能を持つコンテナの受け入れを最小限に抑える。 スコア対象外 1 成功 共有
5.2.8 追加機能を持つコンテナーのアドミッションを最小限に抑えます。 スコア対象外 1 成功 共有
5.2.9 機能が割り当てられたコンテナーのアドミッションを最小限に抑えます。 スコア対象外 2 成功 共有

5.3 ネットワーク・ポリシーおよび CNI

セクション 5.3: ネットワーク・ポリシーと CNI のベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
5.3.1 使用中の CNI がネットワーク・ポリシーをサポートしていることを確認します。 スコア対象外 1 合格 IBM
5.3.2 すべての名前空間にネットワーク・ポリシーが設定されていることを確認します。 スコア対象 2 不合格 共有

5.4 シークレット管理

セクション 5.4: シークレット管理のベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
5.4.1 シークレットを環境変数として使用する代わりに、シークレットをファイルとして使用します。 スコア対象外 1 合格 共有
5.4.2 外部シークレット・ストレージを検討します。 スコア対象外 2 不合格 共有

5.5 拡張可能アドミッション制御

セクション 5.5: 拡張可能なアドミッション制御のベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
5.5.1 ImagePolicyWebhook アドミッション・コントローラーを使用して Image Provenance を構成します。 スコア対象外 2 不合格 共有

5.7 一般方針

セクション 5.7 一般方針のベンチマーク結果
セクション 推奨 得点した? レベル 結果 責任
5.7.1 名前空間を使用してリソース間の管理境界を作成します。 スコア対象外 1 合格 共有
5.7.2 ポッド定義において、プロファイル seccompdocker/default に設定されていることを確認してください。 スコア対象外 2 不合格 共有
5.7.3 ポッドとコンテナーにセキュリティー・コンテキストを適用します。 スコア対象外 2 不合格 共有
5.7.4 デフォルトの名前空間は使用しないでください。 スコア対象 2 不合格 共有

IBM 修正処置と説明

セクションの IBM 修正と説明のベンチマーク結果
セクション 是正と説明
1.2.1 IBM クラスタ保護にRBACを利用するが、匿名での検出を許可しており、これは ベンチマーク CISKubernetes に基づき妥当と見なされる。
1.2.10 IBM これはアルファ Kubernetes 機能であるため、 EventRateLimit アドミッションコントローラーを有効化しません。
1.2.12 IBM コンテナの を上書きするため、 imagePullPolicy パフォーマンスに影響を与える可能性があるため、 AlwaysPullImages アドミッションコントローラーを有効化しません。
1.2.13 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
1.2.16 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
1.2.22 IBM APIサーバーの監査を Kubernetes オプションで有効にできます。
1.2.23 IBM APIサーバーの監査を Kubernetes オプションで有効にできます。
1.2.24 IBM APIサーバーの監査を Kubernetes オプションで有効にできます。
1.2.25 IBM APIサーバーの監査を Kubernetes オプションで有効にできます。
1.2.33 IBM オプションで キー管理サービス(KMS Kubernetes )プロバイダーを有効化 できます。
1.2.34 IBM オプションで キー管理サービス(KMS Kubernetes )プロバイダーを有効化 できます。
1.3.6 IBM 各ワーカーノードの再読み込みまたは更新時に証明書をローテーションする。
1.3.7 コントローラ管理者のIPアドレスは. 127.0.0.1 に制限できません。 この IBM 構成は、ヘルスチェックを実行するために必要です。 それは顧客に対して公的にも私的にも開示されません。
1.4.2 スケジューラのIPアドレスは. 127.0.0.1 に制限できません。 この IBM 構成は、ヘルスチェックを実行するために必要です。 それは顧客に対して公的にも私的にも開示されません。
3.2.1 IBM APIサーバーの監査を Kubernetes オプションで有効にできます。
3.2.2 IBM APIサーバーの監査を Kubernetes オプションで有効にできます。
4.2.6 IBM カーネルのデフォルト設定を保護せず、顧客 がカーネルパラメータを調整 できるようにする。
4.2.8 IBM ホスト名がインフラストラクチャによって発行された名前と一致することを保証します。
4.2.11 IBM 各ワーカーノードの再読み込みまたは更新時に証明書をローテーションする。
4.2.12 IBM 各ワーカーノードの再読み込みまたは更新時に証明書をローテーションする。
5.1.2 IBM 一部のシステムコンポーネントを展開しますが、それらの Kubernetes シークレットアクセスはさらに制限される可能性があります。
5.1.3 IBM 一部のシステムコンポーネントを展開しますが、それらの Kubernetes リソースアクセスはさらに制限される可能性があります。
5.1.5 IBM 各デフォルトアカウントアカウントに対して automountServiceAccountToken: false 設定しません。
5.1.6 IBM 一部のシステムコンポーネントを展開し、設定する可能性があります automountServiceAccountToken: false
5.2.1 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
5.2.2 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
5.2.3 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
5.2.4 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
5.2.5 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
5.2.6 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
5.2.7 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
5.2.8 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
5.2.9 IBM オプションで ポッドセキュリティアドミッション を設定できます。これはサポートされていない Kubernetes ポッドセキュリティポリシー に類似しています。
5.3.2 IBM デフォルトの Calico ポリシー Kubernetes とネットワーク ポリシーのセットが定義されており、 追加のネットワークポリシーは任意で追加できます
5.4.2 IBM サービスを Secrets Manager オプションで有効化できます。
5.5.1 IBM 画像セキュリティの強制を オプションで有効にできます。
5.7.2 IBM すべてのポッドに seccomp プロフィール.を付与しません。
5.7.3 IBM 一部のシステムコンポーネントを展開しますが、これらは. ポッドまたはコンテナ securityContextを設定しません。
5.7.4 IBM デフォルトの名称にリソースを展開 Kubernetes します。