このページでは、Google Cloud で実行されている Google Kubernetes Engine(GKE)Enterprise エディション クラスタでアクティブな脅威を検出し、実行可能な緩和策を確認する方法について説明します。GKE Threat Detection は、GKE セキュリティ対策ダッシュボードの高度な機能です。詳細については、GKE Threat Detection についてをご覧ください。
GKE Threat Detection は、GKE Enterprise を使用し、対象となる GKE クラスタがあるプロジェクトでのみ使用できます。
料金
GKE Threat Detection は、GKE Enterprise を通じて追加料金なしで利用できます。
始める前に
- GKE Enterprise ユーザーであることを確認します。GKE Enterprise を設定するには、GKE Enterprise を有効にするをご覧ください。
Container Security API を有効にします。
既存の GKE クラスタがフリートに登録されていることを確認します。新しいクラスタを作成して登録するには、新しいクラスタを登録するをご覧ください。
GKE Threat Detection を有効にする前の考慮事項
GKE Threat Detection を有効にすると、Kubernetes セキュリティ対策スキャン機能の次の機能も有効になります。これらの機能も追加料金なしで利用できます。
- ワークロード構成の監査
- セキュリティに関する公開情報の表示(プレビュー)
また、プロジェクト内のクラスタで GKE Threat Detection を有効にすると、プロジェクトで次の Security Command Center コンポーネントも有効になります。後で GKE Threat Detection をプロジェクトから削除する場合は、これらのコンポーネントを個別に無効にする必要があります。
- Security Command Center API
- GKE Enterprise 向け Security Command Center アドオン
- Security Command Center サービス アカウント
- Container Threat Detection サービス アカウント
有効化プロセスでは、Security Command Center サービス アカウントと Container Threat Detection サービス アカウントに次の IAM ロールを付与します。
- Security Command Center サービス アカウント: Security Center サービス エージェント(
roles/securitycenter.serviceAgent
) - Container Threat Detection サービス アカウント: Container Threat Detection サービス エージェント(
roles/containerthreatdetection.serviceAgent
)
プロジェクトで GKE Threat Detection を有効にする
クラスタで GKE Threat Detection を有効にする前に、プロジェクトで有効にする必要があります。GKE Threat Detection をすでに有効にしている場合は、この手順をスキップします。
Google Cloud コンソールの [セキュリティ対策] ページに移動します。
[脅威] タイルで [脅威の検出を有効にする] をクリックします。
付与する権限と IAM ロールを確認し、[ロールを付与して脅威の検出を有効にする] をクリックします。これにより、プロジェクトで GKE Threat Detection が有効になります。
GKE Threat Detection にクラスタを登録するには、[設定ページでクラスタを選択] をクリックして、次の操作を行います。
- GKE Threat Detection に登録するクラスタのチェックボックスをオンにします。
- [アクションを選択] プルダウンで、[詳細に設定] を選択します。
- [適用] をクリックします。
個々のクラスタで GKE Threat Detection を有効にする
すでにプロジェクトで GKE Threat Detection を有効にしている場合は、Google Cloud コンソールまたは Google Cloud CLI を使用して、フリートに登録されている既存のクラスタで Threat Detection を有効にできます。
コンソール
Google Cloud コンソールの [セキュリティ対策] ページに移動します。
[Settings] タブをクリックします。
[セキュリティ対策が有効なクラスタ] セクションで、[クラスタを選択] をクリックします。
GKE Threat Detection を有効にするクラスタのチェックボックスをオンにします。
[アクションを選択] プルダウンで、[詳細に設定] を選択します。
[適用] をクリックします。
gcloud
次のコマンドを実行します。
gcloud container clusters update CLUSTER_NAME \
--location=LOCATION \
--security-posture=enterprise
次のように置き換えます。
CLUSTER_NAME
: GKE クラスタの名前。LOCATION
: クラスタの Compute Engine のロケーション。
GKE Threat Detection の結果を表示して対処する
この機能を有効にしてから結果が表示されるまでに、最大で 15 分ほどかかることがあります。結果はセキュリティ対策ダッシュボードに表示され、クラスタログにエントリが自動的に追加されます。
結果を表示する
プロジェクトのクラスタとワークロードで検出された懸念事項の概要を表示する手順は次のとおりです。
Google Cloud コンソールの [セキュリティ対策] ページに移動します。
[懸念事項] タブをクリックします。
[懸念事項のフィルタ] ペインの [問題の種類] セクションで、[脅威] チェックボックスをオンにします。[脅威] セクションを開いて、MITRE ATT&CK® タイプなどのサブカテゴリでフィルタすることもできます。
個々の脅威検出結果の詳細を表示するには、検出結果の説明をクリックします。[検出の詳細] ペインが開き、次の情報が表示されます。
- 脅威の詳細(重大度、ステータスなど)
- 脅威を軽減するための推奨事項
- 登録済みクラスタ全体の、影響を受けるリソースのリスト
Security Command Center で結果を表示する
Security Command Center のプレミアム ティアを使用している場合は、GKE Threat Detection の結果を THREAT
の検出結果として表示できます。
Google Cloud コンソールで [脅威] ページに移動します。
検出された懸念事項のログを表示する
GKE は、検出された懸念事項ごとに Logging の _Default
ログバケットにエントリを追加します。これらのログは特定の期間のみ保持されます。詳細については、ログの保持期間をご覧ください。
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
ログ エクスプローラに移動[クエリ] フィールドに次のクエリを指定します。
resource.type="k8s_cluster" jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding" jsonPayload.type="FINDING_TYPE_THREAT"
[クエリを実行] をクリックします。
GKE が Logging に新しい検出結果を追加したときに通知を受け取るには、このクエリのログベースのアラートを設定します。詳細については、ログベースのアラートを構成するをご覧ください。
GKE Threat Detection を無効にする
クラスタで GKE Threat Detection を無効にできます。プロジェクトで GKE Threat Detection を無効にするには、この機能を有効にしたときに作成された個々の Security Command Center コンポーネントを手動で削除する必要があります。
クラスタで GKE Threat Detection を無効にする
クラスタで GKE Threat Detection を無効にするには、gcloud CLI または Google Cloud コンソールを使用します。
コンソール
Google Cloud コンソールの [セキュリティ対策] ページに移動します。
[Settings] タブをクリックします。
[セキュリティ対策が有効なクラスタ] セクションで、[クラスタを選択] をクリックします。
GKE Threat Detection を無効にするクラスタのチェックボックスをオンにします。
[アクションを選択] プルダウンで、次のいずれかを行います。
- 推奨: GKE Threat Detection を無効にして、構成監査などのその他の機能を維持するには、[基本に設定] を選択します。
- すべての Kubernetes セキュリティ対策スキャン機能を無効にするには、[無効に設定] を選択します。
[適用] をクリックします。
gcloud
次のコマンドを実行します。
gcloud container clusters update CLUSTER_NAME \
--location=LOCATION \
--security-posture=TIER
次のように置き換えます。
CLUSTER_NAME
: クラスタの名前。LOCATION
: クラスタのロケーション。TIER
: Kubernetes のセキュリティ対策の階層。次のいずれかの値を設定する必要があります。standard
(推奨): GKE Threat Detection を無効にしますが、他の Kubernetes セキュリティ対策スキャン機能は保持します。disabled
: 構成の監査など、クラスタで Kubernetes セキュリティ対策スキャン機能をすべて無効にします。