CIS ベンチマーク

このドキュメントでは、CIS Kubernetes Benchmark の概要、ベンチマークで遵守状況を監査する方法、推奨事項を実装できない場合の GKE On-Prem の構成について説明します。

CIS ベンチマークの使用

Center for Internet Security(CIS)ではベスト プラクティスのセキュリティに関する推奨事項のベンチマークを公開しています。CIS Kubernetes Benchmark は、強固なセキュリティ状態を維持できるように Kubernetes を構成するための一連の推奨事項を提供します。ベンチマークは特定の Kubernetes リリースに関連付けられています。CIS Kubernetes Benchmark は、オープンソースの Kubernetes ディストリビューション用に記述されており、できる限り多くのディストリビューションに広く適用できるように構成されています。

バージョン

使用する 2 つのベンチマークのバージョン番号が同じとは限りませんので注意してください。

このドキュメントでは、次のバージョンを参照しています。

Anthos のバージョン Kubernetes のバージョン CIS Kubernetes Benchmark のバージョン
1.5.1 1.17.9 1.6

CIS Kubernetes Benchmark

ベンチマークへのアクセス

CIS Kubernetes Benchmark は CIS ウェブサイトで入手できます。

推奨レベル

CIS Kubernetes Benchmark では、

レベル 説明
レベル 1

推奨事項は以下を目的としています:

  • 実用的かつ慎重
  • セキュリティ上の明確なメリットの提供
  • 許容可能な範囲を超えて技術の有用性を阻害しないこと
  • レベル 2

    レベル 1 のプロファイルを拡張します。

    推奨事項には、次の 1 つ以上の特徴があります。

  • セキュリティが最も重要な環境やユースケースを対象としている。
  • 多層防御として機能する。または、
  • テクノロジーの実用性やパフォーマンスを阻害する可能性がある。
  • 評価ステータス

    評価ステータスはすべての推奨事項に含まれます。評価ステータスは、提案された最適化案の実装が自動化できるか、または手動で手順を進める必要があるかを示します。どちらのステータスも重要であり、次の定義のように決定、サポートされます。

    スコア付け 説明
    自動 技術制御の評価を完全に自動化でき、合否の状態を判定できる場合の推奨事項を表します。推奨事項には、自動化を実装するために必要な情報が含まれます。
    手動 技術制御の評価を完全に自動化できず、期待された構成状態になっていることを確認するために手動で全体または一部の手順を行う必要がある推奨事項を表します。期待される状態は環境によって異なります。

    GKE On-Prem での評価

    次の値を使用して、GKE On-Prem での Kubernetes 推奨事項のステータスを表します。

    ステータス 説明
    合格 ベンチマークの推奨事項に準拠している。
    不合格 ベンチマークの推奨事項に準拠していない。
    同等の統制 ベンチマークの推奨事項を完全には遵守していないが、同等のセキュリティ コントロールを実現できる別のメカニズムが GKE On-Prem に存在する。
    環境に依存 GKE On-Prem では、この推奨事項に関連する項目は構成されない。ユーザー側の構成により、環境がベンチマークの推奨事項を遵守しているかどうか決まる。

    GKE On-Prem アーキテクチャ

    GKE On-Prem は、管理クラスタを使用して 1 つ以上のユーザー クラスタを管理します。実際の Kubernetes ワークロードはユーザー クラスタで実行されます。このアーキテクチャの詳細については、GKE On-Prem の概要をご覧ください。管理クラスタとユーザー クラスタの構成は以下のベンチマークで評価されます。

    GKE On-Prem のステータス

    指定されたバージョンで新しい GKE On-Prem クラスタを作成すると、次のような方法で CIS Kubernetes Benchmark が実行されます。

    GKE On-Prem 管理クラスタのステータス:

    # 推奨 レベル ステータス
    1 マスターノードのセキュリティ構成
    1.1 マスターノード構成ファイル
    1.1.1 API サーバーの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されている確認する(自動) L1 同等の統制
    1.1.2 API サーバーの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.3 コントローラ マネージャーの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.4 コントローラ マネージャーの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.5 スケジューラの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.6 スケジューラの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.7 etcd の Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.8 etcd の Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.9 Container Network Interface のファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(手動) L1 合格
    1.1.10 Container Network Interface のファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 合格
    1.1.11 etcd データ ディレクトリの権限が、700 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.12 etcd データ ディレクトリのオーナー権限が etcd:etcd に設定されていることを確認する(自動) L1 同等の統制
    1.1.13 admin.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.14 admin.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.15 scheduler.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.16 scheduler.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.17 controller-manager.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.18 controller-manager.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.19 Kubernetes PKI ディレクトリとファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 合格
    1.1.20 Kubernetes PKI 証明書ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(手動) L1 合格
    1.1.21 Kubernetes PKI 鍵ファイルの権限が 600 に設定されていることを確認する(手動) L1 合格
    1.2 API サーバー
    1.2.1 --anonymous-auth 引数が false に設定されていることを確認する(手動) L1 不合格
    1.2.2 --basic-auth-file 引数が設定されていないことを確認する(自動) L1 合格
    1.2.3 --token-auth-file パラメータが設定されていないことを確認する(自動) L1 合格
    1.2.4 --kubelet-https 引数が true に設定されていることを確認する(自動) L1 合格
    1.2.5 --kubelet-client-certificate 引数と --kubelet-client-key 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.6 --kubelet-certificate-authority 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.7 --authorization-mode 引数が AlwaysAllow に設定されていないことを確認する(自動) L1 合格
    1.2.8 --authorization-mode 引数にノードが含まれていることを確認する(自動) L1 合格
    1.2.9 --authorization-mode 引数に RBAC が含まれていることを確認する(自動) L1 合格
    1.2.10 アドミッション コントロール プラグインの EventRateLimit が設定されていることを確認する(手動) L1 不合格
    1.2.11 アドミッション コントロール プラグインの AlwaysAdmit が設定されていないことを確認する(自動) L1 合格
    1.2.12 アドミッション コントロール プラグインの AlwaysPullImages が設定されていることを確認する(手動) L1 環境に依存
    1.2.13 PodSecurityPolicy が使用されていない場合は、アドミッション コントロール プラグインの SecurityContextDeny が設定されていることを確認する(手動) L1 同等の統制
    1.2.14 アドミッション コントロール プラグインの ServiceAccount が設定されていることを確認する(自動) L1 合格
    1.2.15 アドミッション コントロール プラグインの NamespaceLifecycle が設定されていることを確認する(自動) L1 合格
    1.2.16 アドミッション コントロール プラグインの PodSecurityPolicy が設定されていることを確認する(自動) L1 同等の統制
    1.2.17 アドミッション コントロール プラグインの NodeRestriction が設定されていることを確認する(自動) L1 合格
    1.2.18 --insecure-bind-address 引数が設定されていないことを確認する(自動) L1 合格
    1.2.19 --insecure-port 引数が 0 に設定されていることを確認する(自動) L1 合格
    1.2.20 --secure-port 引数が 0 に設定されていないことを確認する(自動) L1 合格
    1.2.21 --profiling 引数が false に設定されていることを確認する(自動) L1 合格
    1.2.22 --audit-log-path 引数が設定されていることを確認する(自動) L1 同等の統制
    1.2.23 --audit-log-maxage 引数が 30 または適切な値に設定されていることを確認する(自動) L1 同等の統制
    1.2.24 --audit-log-maxbackup 引数が 10 または適切な値に設定されていることを確認する(自動) L1 同等の統制
    1.2.25 --audit-log-maxsize 引数が 100 または適切な値に設定されていることを確認する(自動) L1 同等の統制
    1.2.26 --request-timeout 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.27 --service-account-lookup 引数が true に設定されていることを確認する(自動) L1 合格
    1.2.28 --service-account-key-file 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.29 --etcd-certfile 引数と --etcd-keyfile 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.30 --tls-cert-file 引数と --tls-private-key-file 引数が適切に設定されていることを確認する(自動) L1 同等の統制
    1.2.31 --client-ca-file 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.32 --etcd-cafile 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.33 --encryption-provider-config 引数が適切に設定されていることを確認する(手動) L1 不合格
    1.2.34 暗号化プロバイダが適切に構成されていることを確認する(手動) L1 不合格
    1.2.35 API サーバーが強力な暗号のみを使用していることを確認する(手動) L1 合格
    1.3 コントローラ マネージャー
    1.3.1 --terminated-pod-gc-threshold 引数が適切に設定されていることを確認する(手動) L1 合格
    1.3.2 --profiling 引数が false に設定されていることを確認する(自動) L1 合格
    1.3.3 --use-service-account-credentials 引数が true に設定されていることを確認する(自動) L1 合格
    1.3.4 --service-account-private-key-file 引数が適切に設定されていることを確認する(自動) L1 合格
    1.3.5 --root-ca-file 引数が適切に設定されていることを確認する(自動) L1 合格
    1.3.6 RotateKubeletServerCertificate 引数が true に設定されていることを確認する(自動) L2 同等の統制
    1.3.7 --bind-address 引数が 127.0.0.1 に設定されていることを確認する(自動) L1 合格
    1.4 スケジューラ
    1.4.1 --profiling 引数が false に設定されていることを確認する(自動) L1 合格
    1.4.2 --bind-address 引数が 127.0.0.1 に設定されていることを確認する(自動) L1 合格
    2 Etcd ノードの構成
    2 Etcd ノードの構成ファイル
    2.1 --cert-file 引数と --key-file 引数が適切に設定されていることを確認する(自動) L1 合格
    2.2 --client-cert-auth 引数が true に設定されていることを確認する(自動) L1 合格
    2.3 --auto-tls 引数が true に設定されていないことを確認する(自動) L1 合格
    2.4 --peer-cert-file 引数と --peer-key-file 引数が適切に設定されていることを確認する(自動) L1 合格
    2.5 --peer-client-cert-auth 引数が true に設定されていることを確認する(自動) L1 合格
    2.6 --peer-auto-tls 引数が true に設定されていないことを確認する(自動) L1 合格
    2.7 固有の認証局が etcd に使用されていることを確認する(手動) L2 合格
    3 コントロール プレーンの設定
    3.1 認証と認可
    3.1.1 クライアント証明書の認証をユーザーに使用していないことを確認する(手動) L2 合格
    3.2 ロギング
    3.2.1 最小限の監査ポリシーが作成されていることを確認する(手動) L1 同等の統制
    3.2.2 監査ポリシーの対象に重要なセキュリティ問題が含まれていることを確認する(手動) L2 同等の統制
    4 ワーカーノードのセキュリティ構成
    4.1 ワーカーノード構成ファイル
    4.1.1 kubelet サービス ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 合格
    4.1.2 kubelet サービス ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 合格
    4.1.3 プロキシ kubeconfig ファイルが存在する場合は、権限が 644 またはそれより制限された値設定されていることを確認する(手動) L1 同等の統制
    4.1.4 プロキシ kubeconfig ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 同等の統制
    4.1.5 --kubeconfig kubelet.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    4.1.6 --kubeconfig kubelet.conf ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 同等の統制
    4.1.7 認証局ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(手動) L1 合格
    4.1.8 クライアント認証局ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 合格
    4.1.9 kubelet の --config 構成ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 合格
    4.1.10 kubelet の --config 構成ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 合格
    4.2 Kubelet
    4.2.1 anonymous-auth 引数が false に設定されていることを確認する(自動) L1 合格
    4.2.2 --authorization-mode 引数が AlwaysAllow に設定されていないことを確認する(自動) L1 合格
    4.2.3 --client-ca-file 引数が適切に設定されていることを確認する(自動) L1 合格
    4.2.4 --read-only-port 引数が 0 に設定されていることを確認する(手動) L1 不合格
    4.2.5 --streaming-connection-idle-timeout 引数が 0 に設定されていないことを確認する(手動) L1 合格
    4.2.6 --protect-kernel-defaults 引数が true に設定されていることを確認する(自動) L1 不合格
    4.2.7 --make-iptables-util-chains 引数が true に設定されていることを確認する(自動) L1 合格
    4.2.8 --hostname-override 引数が設定されていないことを確認する(手動) L1 合格
    4.2.9 --event-qps 引数が 0 か、適切なイベント キャプチャを維持するレベルに設定されていることを確認する(手動) L2 不合格
    4.2.10 --tls-cert-file 引数と --tls-private-key-file 引数が適切に設定されていることを確認する(手動) L1 同等の統制
    4.2.11 --rotate-certificates 引数が false に設定されていないことを確認する(手動) L1 合格
    4.2.12 RotateKubeletServerCertificate 引数が true に設定されていることを確認する(手動) L1 同等の統制
    4.2.13 Kubelet が強力な暗号のみを使用していることを確認する(手動) L1 同等の統制
    GKE On-Prem 管理クラスタの障害と同等の統制に関する説明:
    # 推奨 レベル ステータス 理由
    1.1.1 API サーバーの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されている確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.2 API サーバーの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.3 コントローラ マネージャーの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.4 コントローラ マネージャーの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.5 スケジューラの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.6 スケジューラの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.7 etcd の Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.8 etcd の Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.11 etcd データ ディレクトリの権限が、700 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 755 etcd データ ディレクトリにはデフォルトで 755 権限が設定されていますが、サブディレクトリは 700 です。
    1.1.12 etcd データ ディレクトリのオーナー権限が etcd:etcd に設定されていることを確認する(自動) L1 同等の統制 root:root etcd コンテナが root として実行され、etcd データ ディレクトリが root:root によって所有されています。
    1.1.13 admin.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.14 admin.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.15 scheduler.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.16 scheduler.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.17 controller-manager.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.18 controller-manager.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.2.1 --anonymous-auth 引数が false に設定されていることを確認する(手動) L1 不合格 未設定 一部の GKE On-Prem モニタリング コンポーネントは匿名認証でヘルスチェックを実行します。
    1.2.10 アドミッション コントロール プラグインの EventRateLimit が設定されていることを確認する(手動) L1 不合格 未設定 GKE On-Prem は、Kubernetes のアルファ版機能である Event Rate Limit アドミッション コントローラをサポートしていません。
    1.2.12 アドミッション コントロール プラグインの AlwaysPullImages が設定されていることを確認する(手動) L1 環境に依存 未設定 AlwaysPullImages アドミッション コントローラは、非協調型のマルチテナント クラスタの非公開レジストリ イメージを保護しますが、クラスタ全体で新しい Pod を作成する際にコンテナ レジストリが単一障害点となります。GKE On-Prem では AlwaysPullImages アドミッション コントローラが有効になっていません。クラスタ管理者がこのトレードオフを判断し、アドミッション ポリシーを実装するかどうか決める必要があります。
    1.2.13 PodSecurityPolicy が使用されていない場合は、アドミッション コントロール プラグインの SecurityContextDeny が設定されていることを確認する(手動) L1 同等の統制 未設定 Pod のセキュリティ設定に関するポリシーは、Policy Controller と Anthos Config Management を使用して管理します。
    1.2.16 アドミッション コントロール プラグインの PodSecurityPolicy が設定されていることを確認する(自動) L1 同等の統制 未設定 Pod のセキュリティ設定に関するポリシーは、Policy Controller と Anthos Config Management を使用して管理します。
    1.2.22 --audit-log-path 引数が設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    1.2.23 --audit-log-maxage 引数が 30 または適切な値に設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    1.2.24 --audit-log-maxbackup 引数が 10 または適切な値に設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    1.2.25 --audit-log-maxsize 引数が 100 または適切な値に設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    1.2.30 --tls-cert-file 引数と --tls-private-key-file 引数が適切に設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は、--rotate-server-certificates フラグを使用して kubelet サーバーの TLS を管理します。
    1.2.33 --encryption-provider-config 引数が適切に設定されていることを確認する(手動) L1 不合格 未設定 GKE On-Prem では、アプリケーション レイヤでの Secret の暗号化はサポートされていません。
    1.2.34 暗号化プロバイダが適切に構成されていることを確認する(手動) L1 不合格 未設定 GKE On-Prem では、アプリケーション レイヤでの Secret の暗号化はサポートされていません。
    1.3.6 RotateKubeletServerCertificate 引数が true に設定されていることを確認する(自動) L2 同等の統制 未設定 GKE On-Prem では、kubelet に --rotate-server-certificates=true を設定することで、Kubelet 証明書のローテーションを有効にできます。
    3.2.1 最小限の監査ポリシーが作成されていることを確認する(手動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    3.2.2 監査ポリシーの対象に重要なセキュリティ問題が含まれていることを確認する(手動) L2 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    4.1.3 プロキシ kubeconfig ファイルが存在する場合は、権限が 644 またはそれより制限された値設定されていることを確認する(手動) L1 同等の統制 未設定 kube-proxy は GKE On-Prem で DaemonSet として実行されます。権限は RBAC によって管理されます。
    4.1.4 プロキシ kubeconfig ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 同等の統制 未設定 kube-proxy は GKE On-Prem で DaemonSet として実行されます。権限は RBAC によって管理されます。
    4.1.5 --kubeconfig kubelet.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    4.1.6 --kubeconfig kubelet.conf ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    4.2.4 --read-only-port 引数が 0 に設定されていることを確認する(手動) L1 不合格 10255 一部の GKE On-Prem モニタリング コンポーネントは、kubelet 読み取り専用ポートを使用して指標を取得します。
    4.2.6 --protect-kernel-defaults 引数が true に設定されていることを確認する(自動) L1 不合格 false GKE On-Prem では、kubelet によって必要なカーネル設定を行うことができます。
    4.2.9 --event-qps 引数が 0 か、適切なイベント キャプチャを維持するレベルに設定されていることを確認する(手動) L2 不合格 未設定 イベントは、etcd に格納されている Kubernetes オブジェクトです。過大な etcd を避けるために、これらは 1 時間だけ保持されますが、これは適切なセキュリティ監査メカニズムではありません。このコントロールで提案されている無制限のイベントを許可すると、クラスタは不要な DoS のリスクにさらされることになり、アドミッション EventRateLimits の使用に関する推奨事項に矛盾します。永続ストレージを必要とするセキュリティ関連のイベントは、ログに送信する必要があります。
    4.2.10 --tls-cert-file 引数と --tls-private-key-file 引数が適切に設定されていることを確認する(手動) L1 同等の統制 未設定 GKE On-Prem は、--rotate-server-certificates フラグを使用して kubelet サーバーの TLS を管理します。
    4.2.12 RotateKubeletServerCertificate 引数が true に設定されていることを確認する(手動) L1 同等の統制 未設定 GKE On-Prem では、kubelet に --rotate-server-certificates=true を設定することで、Kubelet 証明書のローテーションを有効にできます。
    4.2.13 Kubelet が強力な暗号のみを使用していることを確認する(手動) L1 同等の統制 Kubelet はデフォルトの暗号を使用します。

    GKE On-Prem ユーザー クラスタのステータス:

    # 推奨 レベル ステータス
    1 マスターノードのセキュリティ構成
    1.1 マスターノード構成ファイル
    1.1.1 API サーバーの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されている確認する(自動) L1 同等の統制
    1.1.2 API サーバーの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.3 コントローラ マネージャーの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.4 コントローラ マネージャーの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.5 スケジューラの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.6 スケジューラの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.7 etcd の Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.8 etcd の Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.9 Container Network Interface のファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(手動) L1 合格
    1.1.10 Container Network Interface のファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 合格
    1.1.11 etcd データ ディレクトリの権限が、700 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.12 etcd データ ディレクトリのオーナー権限が etcd:etcd に設定されていることを確認する(自動) L1 同等の統制
    1.1.13 admin.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.14 admin.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.15 scheduler.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.16 scheduler.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.17 controller-manager.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    1.1.18 controller-manager.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制
    1.1.19 Kubernetes PKI ディレクトリとファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 合格
    1.1.20 Kubernetes PKI 証明書ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(手動) L1 合格
    1.1.21 Kubernetes PKI 鍵ファイルの権限が 600 に設定されていることを確認する(手動) L1 合格
    1.2 API サーバー
    1.2.1 --anonymous-auth 引数が false に設定されていることを確認する(手動) L1 不合格
    1.2.2 --basic-auth-file 引数が設定されていないことを確認する(自動) L1 合格
    1.2.3 --token-auth-file パラメータが設定されていないことを確認する(自動) L1 合格
    1.2.4 --kubelet-https 引数が true に設定されていることを確認する(自動) L1 合格
    1.2.5 --kubelet-client-certificate 引数と --kubelet-client-key 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.6 --kubelet-certificate-authority 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.7 --authorization-mode 引数が AlwaysAllow に設定されていないことを確認する(自動) L1 合格
    1.2.8 --authorization-mode 引数にノードが含まれていることを確認する(自動) L1 合格
    1.2.9 --authorization-mode 引数に RBAC が含まれていることを確認する(自動) L1 合格
    1.2.10 アドミッション コントロール プラグインの EventRateLimit が設定されていることを確認する(手動) L1 不合格
    1.2.11 アドミッション コントロール プラグインの AlwaysAdmit が設定されていないことを確認する(自動) L1 合格
    1.2.12 アドミッション コントロール プラグインの AlwaysPullImages が設定されていることを確認する(手動) L1 環境に依存
    1.2.13 PodSecurityPolicy が使用されていない場合は、アドミッション コントロール プラグインの SecurityContextDeny が設定されていることを確認する(手動) L1 同等の統制
    1.2.14 アドミッション コントロール プラグインの ServiceAccount が設定されていることを確認する(自動) L1 合格
    1.2.15 アドミッション コントロール プラグインの NamespaceLifecycle が設定されていることを確認する(自動) L1 合格
    1.2.16 アドミッション コントロール プラグインの PodSecurityPolicy が設定されていることを確認する(自動) L1 同等の統制
    1.2.17 アドミッション コントロール プラグインの NodeRestriction が設定されていることを確認する(自動) L1 合格
    1.2.18 --insecure-bind-address 引数が設定されていないことを確認する(自動) L1 不合格
    1.2.19 --insecure-port 引数が 0 に設定されていることを確認する(自動) L1 不合格
    1.2.20 --secure-port 引数が 0 に設定されていないことを確認する(自動) L1 合格
    1.2.21 --profiling 引数が false に設定されていることを確認する(自動) L1 合格
    1.2.22 --audit-log-path 引数が設定されていることを確認する(自動) L1 同等の統制
    1.2.23 --audit-log-maxage 引数が 30 または適切な値に設定されていることを確認する(自動) L1 同等の統制
    1.2.24 --audit-log-maxbackup 引数が 10 または適切な値に設定されていることを確認する(自動) L1 同等の統制
    1.2.25 --audit-log-maxsize 引数が 100 または適切な値に設定されていることを確認する(自動) L1 同等の統制
    1.2.26 --request-timeout 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.27 --service-account-lookup 引数が true に設定されていることを確認する(自動) L1 合格
    1.2.28 --service-account-key-file 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.29 --etcd-certfile 引数と --etcd-keyfile 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.30 --tls-cert-file 引数と --tls-private-key-file 引数が適切に設定されていることを確認する(自動) L1 同等の統制
    1.2.31 --client-ca-file 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.32 --etcd-cafile 引数が適切に設定されていることを確認する(自動) L1 合格
    1.2.33 --encryption-provider-config 引数が適切に設定されていることを確認する(手動) L1 不合格
    1.2.34 暗号化プロバイダが適切に構成されていることを確認する(手動) L1 不合格
    1.2.35 API サーバーが強力な暗号のみを使用していることを確認する(手動) L1 合格
    1.3 コントローラ マネージャー
    1.3.1 --terminated-pod-gc-threshold 引数が適切に設定されていることを確認する(手動) L1 合格
    1.3.2 --profiling 引数が false に設定されていることを確認する(自動) L1 合格
    1.3.3 --use-service-account-credentials 引数が true に設定されていることを確認する(自動) L1 合格
    1.3.4 --service-account-private-key-file 引数が適切に設定されていることを確認する(自動) L1 合格
    1.3.5 --root-ca-file 引数が適切に設定されていることを確認する(自動) L1 合格
    1.3.6 RotateKubeletServerCertificate 引数が true に設定されていることを確認する(自動) L2 同等の統制
    1.3.7 --bind-address 引数が 127.0.0.1 に設定されていることを確認する(自動) L1 合格
    1.4 スケジューラ
    1.4.1 --profiling 引数が false に設定されていることを確認する(自動) L1 合格
    1.4.2 --bind-address 引数が 127.0.0.1 に設定されていることを確認する(自動) L1 合格
    2 Etcd ノードの構成
    2 Etcd ノードの構成ファイル
    2.1 --cert-file 引数と --key-file 引数が適切に設定されていることを確認する(自動) L1 合格
    2.2 --client-cert-auth 引数が true に設定されていることを確認する(自動) L1 合格
    2.3 --auto-tls 引数が true に設定されていないことを確認する(自動) L1 合格
    2.4 --peer-cert-file 引数と --peer-key-file 引数が適切に設定されていることを確認する(自動) L1 合格
    2.5 --peer-client-cert-auth 引数が true に設定されていることを確認する(自動) L1 合格
    2.6 --peer-auto-tls 引数が true に設定されていないことを確認する(自動) L1 合格
    2.7 固有の認証局が etcd に使用されていることを確認する(手動) L2 合格
    3 コントロール プレーンの設定
    3.1 認証と認可
    3.1.1 クライアント証明書の認証をユーザーに使用していないことを確認する(手動) L2 合格
    3.2 ロギング
    3.2.1 最小限の監査ポリシーが作成されていることを確認する(手動) L1 同等の統制
    3.2.2 監査ポリシーの対象に重要なセキュリティ問題が含まれていることを確認する(手動) L2 同等の統制
    4 ワーカーノードのセキュリティ構成
    4.1 ワーカーノード構成ファイル
    4.1.1 kubelet サービス ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 合格
    4.1.2 kubelet サービス ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 合格
    4.1.3 プロキシ kubeconfig ファイルが存在する場合は、権限が 644 またはそれより制限された値設定されていることを確認する(手動) L1 同等の統制
    4.1.4 プロキシ kubeconfig ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 同等の統制
    4.1.5 --kubeconfig kubelet.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制
    4.1.6 --kubeconfig kubelet.conf ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 同等の統制
    4.1.7 認証局ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(手動) L1 合格
    4.1.8 クライアント認証局ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 合格
    4.1.9 kubelet の --config 構成ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 合格
    4.1.10 kubelet の --config 構成ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 合格
    4.2 Kubelet
    4.2.1 anonymous-auth 引数が false に設定されていることを確認する(自動) L1 合格
    4.2.2 --authorization-mode 引数が AlwaysAllow に設定されていないことを確認する(自動) L1 合格
    4.2.3 --client-ca-file 引数が適切に設定されていることを確認する(自動) L1 合格
    4.2.4 --read-only-port 引数が 0 に設定されていることを確認する(手動) L1 不合格
    4.2.5 --streaming-connection-idle-timeout 引数が 0 に設定されていないことを確認する(手動) L1 合格
    4.2.6 --protect-kernel-defaults 引数が true に設定されていることを確認する(自動) L1 不合格
    4.2.7 --make-iptables-util-chains 引数が true に設定されていることを確認する(自動) L1 合格
    4.2.8 --hostname-override 引数が設定されていないことを確認する(手動) L1 合格
    4.2.9 --event-qps 引数が 0 か、適切なイベント キャプチャを維持するレベルに設定されていることを確認する(手動) L2 不合格
    4.2.10 --tls-cert-file 引数と --tls-private-key-file 引数が適切に設定されていることを確認する(手動) L1 同等の統制
    4.2.11 --rotate-certificates 引数が false に設定されていないことを確認する(手動) L1 合格
    4.2.12 RotateKubeletServerCertificate 引数が true に設定されていることを確認する(手動) L1 同等の統制
    4.2.13 Kubelet が強力な暗号のみを使用していることを確認する(手動) L1 同等の統制
    GKE On-Prem ユーザー クラスタの障害と同等の統制に関する説明:
    # 推奨 レベル ステータス 理由
    1.1.1 API サーバーの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されている確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.2 API サーバーの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.3 コントローラ マネージャーの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.4 コントローラ マネージャーの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.5 スケジューラの Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.6 スケジューラの Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.7 etcd の Pod 仕様ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.8 etcd の Pod 仕様ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.11 etcd データ ディレクトリの権限が、700 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 755 etcd データ ディレクトリにはデフォルトで 755 権限が設定されていますが、サブディレクトリは 700 です。
    1.1.12 etcd データ ディレクトリのオーナー権限が etcd:etcd に設定されていることを確認する(自動) L1 同等の統制 root:root etcd コンテナが root として実行され、etcd データ ディレクトリが root:root によって所有されています。
    1.1.13 admin.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.14 admin.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.15 scheduler.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.16 scheduler.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.17 controller-manager.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.1.18 controller-manager.conf ファイルのオーナー権限が root:root に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    1.2.1 --anonymous-auth 引数が false に設定されていることを確認する(手動) L1 不合格 未設定 一部の GKE On-Prem モニタリング コンポーネントは匿名認証でヘルスチェックを実行します。
    1.2.10 アドミッション コントロール プラグインの EventRateLimit が設定されていることを確認する(手動) L1 不合格 未設定 GKE On-Prem は、Kubernetes のアルファ版機能である Event Rate Limit アドミッション コントローラをサポートしていません。
    1.2.12 アドミッション コントロール プラグインの AlwaysPullImages が設定されていることを確認する(手動) L1 環境に依存 未設定 AlwaysPullImages アドミッション コントローラは、非協調型のマルチテナント クラスタの非公開レジストリ イメージを保護しますが、クラスタ全体で新しい Pod を作成する際にコンテナ レジストリが単一障害点となります。GKE On-Prem では AlwaysPullImages アドミッション コントローラが有効になっていません。クラスタ管理者がこのトレードオフを判断し、アドミッション ポリシーを実装するかどうか決める必要があります。
    1.2.13 PodSecurityPolicy が使用されていない場合は、アドミッション コントロール プラグインの SecurityContextDeny が設定されていることを確認する(手動) L1 同等の統制 未設定 Pod のセキュリティ設定に関するポリシーは、Policy Controller と Anthos Config Management を使用して管理します。
    1.2.16 アドミッション コントロール プラグインの PodSecurityPolicy が設定されていることを確認する(自動) L1 同等の統制 未設定 Pod のセキュリティ設定に関するポリシーは、Policy Controller と Anthos Config Management を使用して管理します。
    1.2.18 --insecure-bind-address 引数が設定されていないことを確認する(自動) L1 不合格 127.0.0.1 現在、ユーザー クラスタ kube-apiserver の metrics-proxy は、HTTP 経由で kube-apiserver Pod 内の localhost と通信を行っています。
    1.2.19 --insecure-port 引数が 0 に設定されていることを確認する(自動) L1 不合格 80 現在、ユーザー クラスタ kube-apiserver の metrics-proxy は、HTTP 経由で kube-apiserver Pod 内の localhost と通信を行っています。
    1.2.22 --audit-log-path 引数が設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    1.2.23 --audit-log-maxage 引数が 30 または適切な値に設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    1.2.24 --audit-log-maxbackup 引数が 10 または適切な値に設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    1.2.25 --audit-log-maxsize 引数が 100 または適切な値に設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    1.2.30 --tls-cert-file 引数と --tls-private-key-file 引数が適切に設定されていることを確認する(自動) L1 同等の統制 未設定 GKE On-Prem は、--rotate-server-certificates フラグを使用して kubelet サーバーの TLS を管理します。
    1.2.33 --encryption-provider-config 引数が適切に設定されていることを確認する(手動) L1 不合格 未設定 GKE On-Prem では、アプリケーション レイヤでの Secret の暗号化はサポートされていません。
    1.2.34 暗号化プロバイダが適切に構成されていることを確認する(手動) L1 不合格 未設定 GKE On-Prem では、アプリケーション レイヤでの Secret の暗号化はサポートされていません。
    1.3.6 RotateKubeletServerCertificate 引数が true に設定されていることを確認する(自動) L2 同等の統制 未設定 GKE On-Prem では、kubelet に --rotate-server-certificates=true を設定することで、Kubelet 証明書のローテーションを有効にできます。
    3.2.1 最小限の監査ポリシーが作成されていることを確認する(手動) L1 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    3.2.2 監査ポリシーの対象に重要なセキュリティ問題が含まれていることを確認する(手動) L2 同等の統制 未設定 GKE On-Prem は監査ログをキャプチャしますが、これらのフラグは監査に使用しません。詳しくは、GKE On-Prem 監査ポリシーをご覧ください。
    4.1.3 プロキシ kubeconfig ファイルが存在する場合は、権限が 644 またはそれより制限された値設定されていることを確認する(手動) L1 同等の統制 未設定 kube-proxy は GKE On-Prem で DaemonSet として実行されます。権限は RBAC によって管理されます。
    4.1.4 プロキシ kubeconfig ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 同等の統制 未設定 kube-proxy は GKE On-Prem で DaemonSet として実行されます。権限は RBAC によって管理されます。
    4.1.5 --kubeconfig kubelet.conf ファイルの権限が、644 またはそれより制限された値に設定されていることを確認する(自動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    4.1.6 --kubeconfig kubelet.conf ファイルのオーナー権限が root:root に設定されていることを確認する(手動) L1 同等の統制 コントロール プレーンの Pod 仕様が管理クラスタ内の同等の RBAC 認証ポリシーで保護されていますが、ディスク上のファイルとしては存在しません。
    4.2.4 --read-only-port 引数が 0 に設定されていることを確認する(手動) L1 不合格 10255 一部の GKE On-Prem モニタリング コンポーネントは、kubelet 読み取り専用ポートを使用して指標を取得します。
    4.2.6 --protect-kernel-defaults 引数が true に設定されていることを確認する(自動) L1 不合格 false GKE On-Prem では、kubelet によって必要なカーネル設定を行うことができます。
    4.2.9 --event-qps 引数が 0 か、適切なイベント キャプチャを維持するレベルに設定されていることを確認する(手動) L2 不合格 未設定 イベントは、etcd に格納されている Kubernetes オブジェクトです。過大な etcd を避けるために、これらは 1 時間だけ保持されますが、これは適切なセキュリティ監査メカニズムではありません。このコントロールで提案されている無制限のイベントを許可すると、クラスタは不要な DoS のリスクにさらされることになり、アドミッション EventRateLimits の使用に関する推奨事項に矛盾します。永続ストレージを必要とするセキュリティ関連のイベントは、ログに送信する必要があります。
    4.2.10 --tls-cert-file 引数と --tls-private-key-file 引数が適切に設定されていることを確認する(手動) L1 同等の統制 未設定 GKE On-Prem は、--rotate-server-certificates フラグを使用して kubelet サーバーの TLS を管理します。
    4.2.12 RotateKubeletServerCertificate 引数が true に設定されていることを確認する(手動) L1 同等の統制 未設定 GKE On-Prem では、kubelet に --rotate-server-certificates=true を設定することで、Kubelet 証明書のローテーションを有効にできます。
    4.2.13 Kubelet が強力な暗号のみを使用していることを確認する(手動) L1 同等の統制 Kubelet はデフォルトの暗号を使用します。

    ベンチマークを監査する方法

    各推奨事項を監査するための具体的な手順は、関連する CIS ベンチマークの一環として利用できます。ただし、これらのチェックの一部を自動化して、お客様の環境でのこれらのコントロールの検証を簡素化することもできます。以下のツールは、この問題を解決するのに有効です。

    CIS Kubernetes Benchmark の自動監査

    オープンソース ツール kube-bench を使用して、CIS Kubernetes Benchmark に対してクラスタ構成をテストできます。

    適切なバージョンを指定してください。たとえば、

    kube-bench node --benchmark cis-1.6