サイレント ホストのモニタリング

以下でサポートされています。

このドキュメントでは、Google Security Operations のサイレント ホスト モニタリングSHM)を使用して、環境内でサイレント状態になったホストを特定する方法について説明します。

サイレント ホストは、コレクタの停止の可能性を通知できます。

SHM の検出ルールを使用する

SHM の検出ルールを構成することをおすすめします。

このメソッドは、UDM フィールド(hostnameipmac など)をモニタリングし、指定された期間内に想定される値が受信されなかった場合にアラートをトリガーします。

SHM の検出ルールの例

このセクションでは、SHM の検出ルールの例を示します。この例は、特定のニーズに合わせて使用または調整できます。たとえば、期間を変更したり、他のフィールド(ip など)を使用したり、ルールを他の方法で分割したりできます。

ホスト名でサイレント ホストを検出する

次の例では、hostname によってサイレント ホストを検出します。

  • 20 分間のウィンドウをスキャンします。
  • iphostnamemac を使用してホストを追跡します。
  • 過去 10 分間にホストでイベントが受信されず、過去 20 分間に silent でない場合にアラートを生成します。
rule shm_using_hostname {
 meta:

 events:
   $event.metadata.event_timestamp.seconds > timestamp.current_seconds() - 1200
   // $identifier_hash = hash.sha256(strings.concat($event.principal.ip[0], $event.principal.hostname, $event.principal.mac[0]))
   $silent_hostname = $event.principal.hostname
 match:
   $silent_hostname over 10m
 outcome:
   $max_event_time = max($event.metadata.event_timestamp.seconds)
   $max_diff = timestamp.current_seconds() - $max_event_time
 condition:
   $event and $max_diff > 600
}

取り込みラベルを使用してサイレント コレクタを検出する

SHM の検出ルールの例を次に示します。

  • 20 分間のウィンドウをスキャンします。
  • ingestion_source 取り込みラベルを使用して無音を識別します。
  • 指定したタイムゾーン(この例では Asia/Calcutta)で、過去 10 分間は無音だったが、過去 20 分間は無音ではなかった値を特定します。
rule shm_using_ingestion_label {
 meta:

 events:
   $event.metadata.event_timestamp.seconds > timestamp.current_seconds() - 1200
   $event.metadata.ingestion_labels.key = "ingestion_source"
   $silent_ingestion_source = $event.metadata.ingestion_labels.value
 match:
   $silent_ingestion_source over 20m
 outcome:
   $max_time_seconds = max($event.metadata.event_timestamp.seconds)
   $max_diff_seconds = timestamp.current_seconds() - $max_time_seconds
   $max_timestamp = timestamp.get_timestamp($max_time_seconds, "SECOND", "Asia/Calcutta")
   $current_timestamp = timestamp.get_timestamp(timestamp.current_seconds(), "SECOND", "Asia/Calcutta")
 condition:
   $event and $max_diff_seconds > 600
}

SHM に取り込みラベルで Google Cloud Monitoring を使用する

この方法では、Google Cloud Monitoring を使用して、SHM の取り込みラベルに基づいてログ取り込み率をモニタリングします。

このセクションでは、Bindplane を使用してこのメソッドを設定する方法について説明します。手順は次のとおりです。

  1. Google Cloud Monitoring で SHM 用に Bindplane を構成する
  2. SHM の Google Cloud Monitoring しきい値を構成する

SHM の取り込みラベルを適用するログ パイプラインを設定したら、取り込み率が指定されたしきい値を下回った場合に、コレクタごとに Google Cloud Monitoring アラートを設定できます。アラートを Google SecOps 以外のさまざまな場所に送信するように構成し、アラートをワークフローに統合できます。

この方法のメリット:

  • イベント時間ではなく取り込み時間をモニタリングします。
  • Cloud Monitoring の高度なアラート機能を利用します。

この方法のデメリット:

  • Google SecOps の外部で個別の構成が必要です。
  • 取り込みラベルの数によって制限されます。

Google Cloud Monitoring で SHM 用に Bindplane を構成する

Google Cloud Monitoring で SHM 用に Bindplane を構成するための前提条件は次のとおりです。

Google Cloud Monitoring で SHM 用に Bindplane を構成するには、次の操作を行います。

  1. 各ログエントリの属性としてコレクタ サーバーのホスト名を送信します。
  2. [ログ] タブで、[プロセッサ] > [プロセッサを追加] > [フィールドをコピー] を選択します。
  3. Copy Field プロセッサを構成します。
    • リソースの簡単な説明を入力します。
    • Logs テレメトリー タイプを選択します。
    • Copy From フィールドを Resources に設定します。
    • Resource field フィールドを host.name に設定します。
    • Copy To field フィールドを Attributes に設定します。
    • Attributes Field フィールドを chronicle_ingestion_label["ingestion_source"] などに設定します。

SHM の Google Cloud Monitoring しきい値を構成する

予想される取り込みレートに基づいてしきい値を定義します。しきい値を低くするとコレクタの停止が検出され、しきい値を高くするとアップストリーム ログのギャップが検出されます。

SHM の Google Cloud Monitoring しきい値を構成したら、Chronicle Collector > Ingestion > Total Ingestion Log Count 指標をモニタリングすることをおすすめします。サンプル設定の詳細な手順については、サイレント Google SecOps 収集エージェントを検出するサンプル ポリシーを設定するをご覧ください。

SHM に Google SecOps ダッシュボードを使用する

Google SecOps ダッシュボードを使用して、サイレント状態になったモニタリング ホストの毎日のカウントを表示します。

この方法は、毎日の概要を大まかに把握するのに適していますが、アラートはサポートされておらず、結果には最大 6 時間の遅延があります。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。