取り込み通知に Cloud Monitoring を使用する

このドキュメントでは、Cloud Monitoring を使用して取り込み通知を受け取る方法について説明します。Google Security Operations は Cloud Monitoring を使用して取り込み通知を送信します。この機能を使用すると、問題を積極的に対処できます。既存のワークフローにメール通知を統合できます。取り込み値が特定の事前定義レベルに達すると通知がトリガーされます。 Cloud Monitoring のドキュメントでは、通知はアラートと呼ばれます。

準備

健全性の指標の取り込み通知を設定する

Google Security Operations に固有の取り込みの健全性の指標をモニタリングする通知を設定するには、次の手順を行います。

  1. Google Cloud コンソールで [Monitoring] を選択します。

  2. ナビゲーション パネルで [アラート] を選択し、[ポリシーを作成] をクリックします。

  3. [指標の選択] ページで、[指標の選択] をクリックします。

  4. [指標の選択] メニューで、次のいずれかをクリックします。

    • [Active] 切り替えボタンを使用すると、過去 25 時間のデータが含まれるリソースと指標のみをフィルタリングして表示できます。これを選択しない場合、すべてのリソースと指標タイプが一覧表示されます。
    • [組織/フォルダレベル] 切り替えボタン。組織とフォルダのリソースと指標(ユーザーの割り当て使用量、BigQuery スロットの割り振りなど)をモニタリングします。
  5. 次のいずれかの指標を選択します。

    • [Chronicle Collector] > [Ingestion] を選択し、[Total ingested log count] または [Total ingested log size] のいずれかを選択します。

    • [Chronicle Collector] > [Normalizer] を選択し、[Total record count] または [Total event count] のいずれかを選択します。

    • [Chronicle Log Type] > [Outofband] を選択し、[Total ingested log count (Feeds)] または [Total ingested log size (Feeds)] を選択します。

  6. [Apply](適用)をクリックします。

  7. フィルタを追加するには、[指標の選択] ページで [フィルタを追加] をクリックします。フィルタ ダイアログで、collector_id ラベル、コンパレータ、フィルタ値を選択します。

    • 次のフィルタを 1 つ以上選択します。

      • project_id: このリソースに関連付けられた Google Cloud プロジェクトの ID。

      • location: コレクタ オブジェクトを含むクラスタの物理的な場所。

      • collector_id: コレクタの ID。

      • log_type: ログタイプの名前。

      • Metric label > namespace: ログの名前空間。

      • Feed_name: フィードの名前。

      • LogType: ログのタイプ。

      • 指標ラベル > event_type: イベントタイプによって、イベントに含まれるフィールドが決まります。イベントタイプには、PROCESS_OPENFILE_CREATIONUSER_CREATIONNETWORK_DNS などの値が含まれます。

      • 指標ラベル > 状態: イベントまたはログの最終ステータス。ステータスは次のいずれかです。

        • parsed。ログが正常に解析されました。
        • validated。ログが正常に検証されました。
        • failed_parsing。ログに解析エラーがあります。
        • failed_validation。ログに検証エラーがあります。

      • 指標ラベル > drop_reason_code: 取り込み元が Google Security Operations フォワーダーで、正規化中にログが破棄された理由を示す場合、このフィールドが入力されます。

      • 指標ラベル > ingestion_source: Ingestion API を使用してログが取り込まれるときに、取り込みラベルに存在する取り込み元。

    • 特別なコレクタ ID を選択します。コレクタ ID は、取り込み方法に応じてフォワーダー ID または特殊な ID にすることもできます。

      • aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa: Feed Management API またはページを使用して作成されたすべてのフィードを表します。フィード管理の詳細については、フィード管理Feed Management API をご覧ください。

      • bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb: Ingestion API の unstructuredlogentries メソッドを使用するすべての取り込み元を表します。Ingestion API の詳細については、Google Security Operations Ingestion API をご覧ください。

      • cccccccc-cccc-cccc-cccc-cccccccccccc: Ingestion API の udmevents メソッドを使用するすべての取り込み元を表します。

      • dddddddd-dddd-dddd-dddd-dddddddddddd: Google Cloud ログの取り込みを表します。

      • eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee: CreateEntities に使用されるコレクタ ID を表します。

  8. [データの変換] セクションで、次のようにします。

    1. [時系列集計] フィールドを [sum] に設定します。
    2. [時系列のグループ化の基準] フィールドを project_id に設定します。
  9. 省略可: 複数の条件を持つアラート ポリシーを設定します。アラート ポリシー内で複数の条件を使用して取り込み通知を作成するには、複数の条件を持つポリシーをご覧ください。

Google Security Operations フォワーダーの指標と関連フィルタ

次の表に、使用可能な Google Security Operations フォワーダーの指標と関連するフィルタを示します。

Google Security Operationsのフォワーダーの指標 フィルタ
Container memory used log_typecollector_id
Container disk used log_typecollector_id
Container cpu_used log_typecollector_id
Log drop_count log_typecollector_idinput_typereason
buffer_used log_typecollector_idbuffer_typeinput_type
last_heartbeat log_typecollector_idinput_type

サンプル ポリシーを設定してサイレント Google Security Operations フォワーダーを検出する

次のサンプル ポリシーは、すべての Google Security Operations フォワーダーを検出し、Google Security Operations フォワーダーが 60 分間ログを送信しない場合にアラートを送信します。これは、モニタリングするすべての Google Security Operations フォワーダーでは有用でない場合があります。たとえば、異なるしきい値を使用して 1 つ以上の Google Security Operations フォワーダーで単一のログソースをモニタリングしたり、レポートの頻度に基づいて Google Security Operations フォワーダーを除外したりできます。

  1. Google Cloud コンソールで [Monitoring] を選択します。
    Cloud Monitoring に移動

  2. [Create Policy] をクリックします。

  3. [指標の選択] ページで、[Chronicle Collector] > [取り込み] > [取り込まれた合計ログ数] を選択します。

  4. [Apply](適用)をクリックします。

  5. [データの変換] セクションで、次のようにします。

    1. [ローリング ウィンドウ] を 1 時間に設定します。
    2. [ローリング ウィンドウ関数] を [mean] に設定します。
    3. [時系列の集計] を [mean] に設定します。
    4. [Time series group by] を [collector_id] に設定します。collector_id でグループ化するように設定されていない場合、ログソースごとにアラートがトリガーされます。
  6. [次へ] をクリックします。

  7. [Metric absence] を選択して、次の操作を行います。

    1. [Alert trigger] を [Any time series violates] に設定します。
    2. [Trigger absence time] を 1 時間に設定します。
    3. 条件の名前を入力し、[Next] をクリックします。
  8. [通知と名前] セクションで、次のようにします。

    1. [通知チャネルを使用] ボックスで通知チャネルを選択します。冗長性を確保するために、複数の通知チャネルを構成することをおすすめします。
    2. インシデントのクローズ時の通知を構成します。
    3. ポリシー ユーザーラベルを適切なレベルに設定します。これは、ポリシーのアラートの重大度を設定するために使用されます。
    4. アラートの一部として送信するドキュメントを入力します。
    5. アラート ポリシーの名前を入力します。

キャッチオール ポリシーに除外を追加する

トラフィック量が少ない場合や、カスタム アラート ポリシーの追加が必要になる場合があるため、特定の Google Security Operations フォワーダーをキャッチオール ポリシーから除外することが必要な場合があります。

  1. Google Cloud コンソールで [Monitoring] を選択します。

  2. ナビゲーション ページで [アラート] を選択し、[ポリシー] セクションで編集するポリシーを選択します。

  3. [ポリシーの詳細] ページで、[編集] をクリックします。

  4. [アラート ポリシーの編集] ページの [フィルタを追加] セクションで、[フィルタを追加] を選択して次の操作を行います。

    1. ポリシーから除外する collector_id ラベルとコレクタを選択します。
    2. コンパレータを != に設定し、値を除外する collector_id に設定して、[完了] をクリックします。
    3. 除外する必要があるコレクタごとに手順を繰り返します。次の形式を使用する場合は、正規表現を使用して、1 つのフィルタだけで複数のコレクタを除外することもできます。

    (?:aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|cccccccc-cccc-cccc-cccc-cccccccccccc)

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