セキュリティ状況の分析の検出項目を修正する

>

このページでは、Security Command Center を使用して Security Health Analytics の検出結果を修正するための参照ガイドと手法の一覧を示しています。

Security Health Analytics の修正

BUCKET_LOGGING_DISABLED

Cloud Storage のバケット向けにアクセスログとストレージの情報を有効にすると、セキュリティの問題の調査とストレージ消費のモニタリングに役立ちます。アクセスログにより、特定のバケット上で行われたすべてのリクエストに関する情報が提供されます。ストレージログにより、そのバケットのストレージの消費に関する情報が提供されます。

この検出結果を修正するには、アクセスログとストレージログ ガイドの手順を完了して、Security Health Analytics の検出結果によって特定されたバケットのロギングを設定します。

CLUSTER_LOGGING_DISABLED

セキュリティの問題を調査し、使用状況をモニタリングするには、クラスタで Cloud Logging を有効にすることをおすすめします。

この検出結果を修正するには:

  1. Cloud Console の [Kubernetes クラスタ] ページに移動します。
    [Kubernetes クラスタ] ページに移動
  2. Security Health Analytics の検出結果に表示されているクラスタを選択します。
  3. [編集] をクリックします。

    クラスタの構成を変更した直後は、編集ボタンが無効になっていることがあります。クラスタ設定を編集できない場合は、数分待ってからもう一度試してください。

  4. [以前の Stackdriver Logging] または [Stackdriver Kubernetes Engine Monitoring] のプルダウン リストで、[有効] を選択します。

    これらのオプションに互換性はありません。Stackdriver Kubernetes Engine Monitoring のみ、または以前の Stackdriver Monitoring と一緒に以前の Stackdriver Logging を使用するようにしてください。

  5. [保存] をクリックします。

CLUSTER_MONITORING_DISABLED

セキュリティの問題を調査し、使用状況をモニタリングするには、クラスタで Cloud Monitoring を有効にすることをおすすめします。

この検出結果を修正するには:

  1. Cloud Console の [Kubernetes クラスタ] ページに移動します。
    [Kubernetes クラスタ] ページに移動
  2. Security Health Analytics の検出結果に表示されているクラスタを選択します。
  3. [編集] をクリックします。

    クラスタの構成を変更した直後は、編集ボタンが無効になっていることがあります。クラスタ設定を編集できない場合は、数分待ってからもう一度試してください。

  4. [以前の Stackdriver Logging] または [Stackdriver Kubernetes Engine Monitoring] のプルダウン リストで、[有効] を選択します。

    これらのオプションに互換性はありません。Stackdriver Kubernetes Engine Monitoring のみ、または以前の Stackdriver Monitoring と一緒に以前の Stackdriver Logging を使用するようにしてください。

  5. [保存] をクリックします。

KMS_ROLE_SEPARATION

組織内の 1 人または複数のメンバーに複数の KMS の権限が割り当てられています。どのアカウントにも、他の KMS 権限とともに Cloud KMS 管理者の権限を同時に持たせないことをおすすめします。

この検出結果を修正するには:

  1. Cloud Console の [IAM] ページに移動します。
    [IAM] ページに移動
  2. Security Health Analytics の検出結果で見つかったメンバーの横にある [編集] をクリックします。
  3. 権限を削除するには、[Cloud KMS 管理者] の横にある [削除] をクリックします。メンバーのすべての権限を削除するには、他のすべての権限の横にある [削除] をクリックします。
  4. [保存] をクリックします。
  5. Security Health Analytics の検出結果に表示されている各メンバーに対して上記の手順を繰り返します。

LEGACY_AUTHORIZATION_ENABLED

Kubernetes では、役割ベースのアクセス制御(RBAC)によって一連の権限を含むルールで役割を定義して、クラスタと名前空間のレベルで権限を付与できます。この機能により、ユーザーに特定のリソースへのアクセス権のみを付与することで、セキュリティが向上します。従来の属性ベースのアクセス制御(ABAC)は無効にすることをおすすめします。

この検出結果を修正するには:

  1. Cloud Console の [Kubernetes クラスタ] ページに移動します。
    [Kubernetes クラスタ] ページに移動
  2. Security Health Analytics の検出結果に表示されているクラスタを選択します。
  3. [編集] をクリックします。

    クラスタの構成を変更した直後は、編集ボタンが無効になっていることがあります。クラスタ設定を編集できない場合は、数分待ってからもう一度試してください。

  4. [以前の承認] プルダウン リストで、[無効] を選択します。

  5. [保存] をクリックします。

MASTER_AUTHORIZED_NETWORKS_DISABLED

マスター承認済みネットワークでは、指定された IP アドレスからクラスタのコントロール プレーンへのアクセスをブロックすることによって、コンテナ クラスタのセキュリティが向上します。

この検出結果を修正するには:

  1. Cloud Console の [Kubernetes クラスタ] ページに移動します。
    [Kubernetes クラスタ] ページに移動
  2. Security Health Analytics の検出結果に表示されているクラスタを選択します。
  3. [編集] をクリックします。

    クラスタの構成を変更した直後は、編集ボタンが無効になっていることがあります。クラスタ設定を編集できない場合は、数分待ってからもう一度試してください。

  4. [マスター承認済みのネットワーク] プルダウン リストで [有効] を選択します。

  5. [承認済みネットワークを追加] をクリックします。

  6. 使用する承認済みネットワークを指定します。

  7. [保存] をクリックします。

NETWORK_POLICY_DISABLED

デフォルトでは、ポッド間通信はオープンです。オープンな通信では、NAT の有無にかかわらず、ポッドはノードをまたいで直接接続できます。NetworkPolicy はポッド間の接続を制限するポッドレベルのファイアウォールのようなものであり、NetworkPolicy によって接続が明示的に許可されていない限り接続は制限されます。詳しくは、ネットワーク ポリシーを定義する方法をご覧ください。

この検出結果を修正するには:

  1. Cloud Console の [Kubernetes クラスタ] ページに移動します。
    [Kubernetes クラスタ] ページに移動
  2. Security Health Analytics の検出結果に表示されているクラスタを選択します。
  3. [編集] をクリックします。

    クラスタの構成を変更した直後は、編集ボタンが無効になっていることがあります。クラスタ設定を編集できない場合は、数分待ってからもう一度試してください。

  4. [マスターのネットワーク ポリシー] と [ノードのネットワーク ポリシー] のプルダウン リストで、[有効] を選択します。

  5. [保存] をクリックします。

NON_ORG_IAM_MEMBER

組織外のユーザーがプロジェクトまたは組織の IAM 権限を持っています。詳しくは、IAM 権限をご覧ください。

この検出結果を修正するには:

  1. Cloud Console の [IAM] ページに移動します。
    [IAM] ページに移動
  2. 組織外のユーザーの横にあるチェックボックスを選択します。
  3. [削除] をクリックします。

OBJECT_VERSIONING_DISABLED

削除または上書きされたオブジェクトを取得できるようにするため、Cloud Storage にはオブジェクトのバージョニング機能があります。オブジェクトのバージョニングを有効にすると、上書きされたり誤って削除されたりしないように Cloud Storage データを保護できます。詳しくは、オブジェクトのバージョニングを有効にする方法をご覧ください。

この検出結果を修正するには、gsutil versioning set on gs://finding.assetDisplayName のように適切な値を指定して gsutil versioning set on コマンドを使用します。

OPEN_FIREWALL

すべての IP アドレス(0.0.0.0/0 など)からの接続を許可するファイアウォールのルールは、意図しないソースからの攻撃のリスクにリソースを不必要にさらす可能性があります。これらのルールは削除するか、意図するソース IP の範囲を明示的に指定する必要があります。詳しくは、ファイアウォール ルールの削除をご覧ください。

この検出結果を修正するには:

  1. Cloud Console の [ファイアウォール ルール] ページに移動します。
    [ファイアウォール ルール] ページに移動
  2. Security Health Analytics の検出結果に表示されるファイアウォール ルールをクリックしてから、[編集] をクリックします。
  3. [ソース IP の範囲] で IP 値を編集して、許可される IP の範囲を制限します。

OS_LOGIN_DISABLED

OS Login により、IAM を使用した一元的な SSH 認証鍵管理ができるようになり、プロジェクト内のすべてのインスタンスにおけるメタデータ ベースの SSH 認証鍵の構成が無効になります。詳しくは、OS Login を設定および構成する方法をご覧ください。

この検出結果を修正するには:

  1. Cloud Console の [メタデータ] ページに移動します。
    [メタデータ] ページに移動
  2. [編集] をクリックし、[項目を追加] をクリックします。
  3. キーが enable-oslogin で、値が TRUE のアイテムを追加します。

POD_SECURITY_POLICY_DISABLED

PodSecurityPolicy は、クラスタ上で Pod を作成および更新するリクエストを検証するアドミッション コントローラ リソースです。PodSecurityPolicy は、クラスタで受け入れられるために Pod が満たす必要がある一連の条件を定義します。

この検出結果を修正するには、PodSecurityPolicies を定義して承認し、PodSecurityPolicy コントローラを有効にします。手順については、PodSecurityPolicies の使用ガイドをご覧ください。

PRIVATE_CLUSTER_DISABLED

限定公開クラスタでは、内部 IP アドレスのみがノードに使用できます。これにより、ノードの外部へのインターネット アクセスが制限されます。クラスタノードにパブリック IP アドレスがない場合、クラスタノードは検出不能であるか、インターネットに公開されません。内部ロードバランサを使用してノードにトラフィックをルーティングすることは可能です。

既存のクラスタをプライベートにすることはできません。この検出結果を修正するには、新しい限定公開クラスタを作成します。

  1. Cloud Console の [Kubernetes クラスタ] ページに移動します。
    [Kubernetes クラスタ] ページに移動
  2. [クラスタを作成] をクリックします。
  3. [可用性、ネットワーキング、セキュリティ、その他の機能] をクリックし、[VPC ネイティブを有効にする(エイリアス IP を使用)] と [限定公開クラスタ] のチェックボックスをオンにします。
  4. [作成] をクリック

PUBLIC_BUCKET_ACL

Security Health Analytics の検出結果に示されたバケットは一般公開されており、インターネット上の誰からでもアクセスされます。

この検出結果を修正するには:

  1. Cloud Console の [ストレージ ブラウザ] ページに移動します。
    [ストレージ ブラウザ] ページに移動
  2. Security Health Analytics の検出結果に表示されているバケットを選択します。
  3. [バケットの詳細] ページで、[権限] タブをクリックします。
  4. [ロール] で、[削除] をクリックして allUsersallAuthenticatedUsers に付与されているすべての IAM 権限を削除します。

SERVICE_ACCOUNT_ROLE_SEPARATION

組織内の 1 人または複数のメンバーに、複数のサービス アカウントの権限が割り当てられています。どのアカウントにも、他のサービス アカウントの権限とともにサービス アカウント管理者の権限を与えないことをおすすめします。

この検出結果を修正するには:

  1. Cloud Console の [IAM] ページに移動します。
    [IAM] ページに移動
  2. Security Health Analytics の検出結果で見つかったメンバーの横にある [編集] をクリックします。
  3. 権限を削除するには、[サービス アカウント管理者] の横にある [削除] をクリックします。すべてのサービス アカウントの権限を削除するには、他のすべての権限の横にある [削除] をクリックします。
  4. [保存] をクリックします。
  5. Security Health Analytics の検出結果に表示されている各メンバーに対して上記の手順を繰り返します。

SQL_NO_ROOT_PASSWORD

Security Health Analytics の検出結果で示された MySQL データベース インスタンスは、ルート アカウントのパスワードが設定されていません。

この検出結果を修正するには、MySQL データベース インスタンスにパスワードを追加します。

  1. Cloud Console の [SQL インスタンス] ページに移動します。
    [SQL インスタンス] ページに移動
  2. Security Health Analytics の検出結果に表示されているインスタンスを選択します。
  3. 読み込まれた [インスタンスの詳細] ページで、[ユーザー] タブを選択します。
  4. root ユーザーの横にある [その他] をクリックし、[パスワードを変更] を選択します。
  5. 新しい強力なパスワードを入力してから [OK] をクリックします。

SQL_WEAK_ROOT_PASSWORD

Security Health Analytics の検出結果で示された MySQL データベース インスタンスは、ルート アカウントのパスワードが弱いパスワードになっています。

この検出結果を修正するには、MySQL データベース インスタンスに強力なパスワードを設定します。

  1. Cloud Console の [SQL インスタンス] ページに移動します。
    [SQL インスタンス] ページに移動
  2. Security Health Analytics の検出結果に表示されているインスタンスを選択します。
  3. 読み込まれた [インスタンスの詳細] ページで、[ユーザー] タブを選択します。
  4. root ユーザーの横にある [その他] をクリックし、[パスワードを変更] を選択します。
  5. 新しい強力なパスワードを入力してから [OK] をクリックします。

SSL_NOT_ENFORCED

暗号化されていない通信でのセンシティブ データの漏洩を回避するために、SQL データベース インスタンスへのすべての着信接続で SSL を使用する必要があります。詳しくは、SSL / TLS の構成をご覧ください。

この検出結果を修正するには、SQL インスタンスに対して SSL 接続のみを許可します。

  1. Cloud Console の [SQL インスタンス] ページに移動します。
    [SQL インスタンス] ページに移動
  2. Security Health Analytics の検出結果に表示されているインスタンスを選択します。
  3. [接続] タブで、[SSL 接続のみ許可] をクリックします。

WEB_UI_ENABLED

高い権限を持つ Kubernetes サービス アカウントは、Kubernetes ウェブ インターフェースに貢献します。不正使用が発生すると、サービス アカウントが不正使用される可能性があります。すでに Cloud Console を使用している場合、Kubernetes のウェブ インターフェースを使用すると、攻撃対象領域が不必要に広がります。詳しくは、Kubernetes ウェブ インターフェースを無効にするをご覧ください。

この検出結果を修正するには、Kubernetes ウェブ インターフェースを無効にします。

  1. Cloud Console の [Kubernetes クラスタ] ページに移動します。
    [Kubernetes クラスタ] ページに移動
  2. Security Health Analytics の検出結果に表示されているクラスタを選択します。
  3. [編集] をクリックします。

    クラスタの構成を変更した直後は、編集ボタンが無効になっていることがあります。クラスタ設定を編集できない場合は、数分待ってからもう一度試してください。

  4. [アドオン] をクリックします。セクションが展開され、使用可能なアドオンが表示されます。

  5. [Kubernetes ダッシュボード] プルダウン リストで、[無効] を選択します。

  6. [保存] をクリックします。

WORKLOAD_IDENTITY_DISABLED

Workload Identity は、セキュリティのプロパティと管理性が優れているため、GKE 内から Google Cloud サービスにアクセスするためのおすすめの方法です。有効にすると、潜在的に機密性の高い一部のシステム メタデータを、クラスタ上で実行中のユーザーのワークロードから保護できます。詳しくは、メタデータ隠蔽をご覧ください。

この検出結果を修正するには、既存のクラスタで Workload Identity を有効にするためのガイドに従ってください。