取り込み通知に Cloud Monitoring を使用する
このドキュメントでは、Cloud Monitoring を使用して取り込み通知を受け取る方法について説明します。Google SecOps は Cloud Monitoring を使用して取り込み通知を送信します。この機能を使用すると、問題を積極的に対処できます。メール通知を既存のワークフローに統合できます。取り込み値が特定の事前定義レベルに達すると通知がトリガーされます。 Cloud Monitoring のドキュメントでは、通知はアラートと呼ばれます。
始める前に
Cloud Monitoring に精通してください。
Identity and Access Management ロールに
roles/monitoring.alertPolicyEditor
ロールの権限が含まれていることを確認しまロールの詳細については、IAM によるアクセスの制御をご覧ください。Cloud Monitoring でのアラート ポリシーの作成に精通してください。これらの手順については、指標しきい値のアラート ポリシーを作成するをご覧ください。
取り込み通知をメールとして受信するように通知チャンネルを構成します。これらの手順については、通知チャンネルの作成と管理をご覧ください。
健全性の指標の取り込み通知を設定する
Google SecOps に固有の取り込みの健全性の指標をモニタリングする通知を設定するには、次の手順を行います。
Google Cloud コンソールで [Monitoring] を選択します。
ナビゲーション パネルで [アラート] を選択し、[ポリシーを作成] をクリックします。
[指標の選択] ページで、[指標の選択] をクリックします。
[指標の選択] メニューで、次のいずれかをクリックします。
- [アクティブ] を切り替えて、過去 25 時間のデータを含むリソースと指標のみをフィルタリングして表示します。このチェックボックスをオンにしないと、すべてのリソースタイプと指標タイプが一覧表示されます。
- [組織/フォルダレベル] 切り替えボタン。組織とフォルダのリソースと指標(ユーザーの割り当て使用量、BigQuery スロットの割り振りなど)をモニタリングします。
次のいずれかの指標を選択します。
[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)] を選択します。
[適用] をクリックします。
フィルタを追加するには、[指標の選択] ページで [フィルタを追加] をクリックします。
フィルタ ダイアログで、collector_id ラベル、コンパレータ、フィルタ値を選択します。
次のフィルタを 1 つ以上選択します。
project_id: このリソースに関連付けられた Google Cloud プロジェクトの ID。
location: コレクタ オブジェクトを含むクラスタの物理的な場所。 このオプションは使用しないことをおすすめします。このフィールドを空白のままにすると、Google Security Operations は既存の情報を使用して、データを保存する場所を自動的に決定できます。
collector_id: コレクタの ID。
log_type: ログタイプの名前。
Metric label > namespace: ログの名前空間。
Feed_name: フィードの名前。
LogType: ログのタイプ。
Metric label > event_type: イベントタイプによって、イベントに含めるフィールドが決まります。イベントタイプには、
PROCESS_OPEN
、FILE_CREATION
、USER_CREATION
、NETWORK_DNS
などの値が含まれます。Metric label > state: イベントまたはログの最終ステータス。ステータスは次のいずれかになります。
parsed
。ログが正常に解析されました。validated
。ログが正常に検証されました。failed_parsing
。ログに解析エラーがあります。failed_validation
。ログに検証エラーがあります。failed_indexing
。ログにバッチ インデックス登録エラーがあります。
Metric label > drop_reason_code: 取り込み元が Google Security Operations フォワーダーで、正規化中にログが破棄された理由を示す場合、このフィールドに入力されます。
Metric label > ingestion_source: Ingestion API を使用してログが取り込まれるときに、取り込みラベルに存在する取り込み元。
特別なコレクタ ID を選択します。
collector_id
は、取り込み方法に応じてフォワーダー ID または特殊な ID にすることもできます。- aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:
Feed Management API またはページを使用して作成されたすべてのフィードを表します。フィード管理の詳細については、フィード管理と Feed Management API をご覧ください。 aaaa1111-aaaa-1111-aaaa-1111aaaa1111:
収集エージェントを表します。これには、BindPlane(Google エディション)が含まれます。aaaa1111-aaaa-1111-aaaa-1111aaaa1112:
BindPlane Enterprise(Google エディション)。aaaa1111-aaaa-1111-aaaa-1111aaaa1113:
BindPlane Enterprise。aaaa2222-aaaa-2222-aaaa-2222aaaa2222:
HTTPS Push メソッドを介して取り込まれたログ。これには、Webhook、Amazon Kinesis Firehose、 Google Cloud Pub/Sub ソースタイプのフィードが含まれます。aaaa3333-aaaa-3333-aaaa-3333aaaa3333:
Cloud Storage ログを表します。Event Threat Detection を介して取り込まれたログが含まれます。aaaa4444-aaaa-4444-aaaa-4444aaaa4444:
Azure Event Hub フィード統合を介して取り込まれたログ。これには、Microsoft Azure Event Hub ソースタイプのフィードも含まれます。bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb:
Ingestion API のunstructuredlogentries
メソッドを使用するすべての取り込み元を表します。Ingestion API の詳細については、Google SecOps Ingestion API をご覧ください。cccccccc-cccc-cccc-cccc-cccccccccccc:
Ingestion API のudmevents
メソッドを使用するすべての取り込み元を表します。dddddddd-dddd-dddd-dddd-dddddddddddd:
内部 API を介して取り込まれたログを表します。これは、OutOfBand(OOB)プロセッサの取り込みや、 Google Cloud ログの取り込みを介して取り込まれたログではありません。eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee:
CreateEntities
に使用されるcollector_id
を表します。
- aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:
[データの変換] セクションで、次のようにします。
- [時系列集計] フィールドを [sum] に設定します。
- [時系列のグループ化の基準] フィールドを project_id に設定します。
省略可: 複数の条件を持つアラート ポリシーを設定します。アラート ポリシー内で複数の条件を使用して取り込み通知を作成するには、複数の条件を持つポリシーをご覧ください。
Google SecOps フォワーダーの指標と関連フィルタ
次の表に、利用可能な Google SecOps フォワーダーの指標と関連フィルタを示します。
Google SecOps フォワーダーの指標 | フィルタ |
---|---|
Container memory used | log_type 、collector_id |
Container disk used | log_type 、collector_id |
Container cpu_used | log_type 、collector_id |
Log drop_count | log_type 、collector_id 、input_type 、reason |
buffer_used | log_type 、collector_id 、buffer_type 、input_type |
last_heartbeat | log_type 、collector_id 、input_type |
サンプル ポリシーを設定してサイレント Google SecOps フォワーダーを検出する
次のサンプル ポリシーは、すべての Google SecOps フォワーダーを検出して、Google SecOps フォワーダーが 60 分間ログを送信しない場合にアラートを送信します。これは、モニタリングするすべての Google SecOps フォワーダーでは有用でない場合があります。 たとえば、異なるしきい値を使用して 1 つ以上の Google SecOps フォワーダーで単一のログソースをモニタリングしたり、レポートの頻度に基づいて Google SecOps フォワーダーを除外したりできます。
Google Cloud コンソールで [Monitoring] を選択します。
Cloud Monitoring に移動[Create Policy] をクリックします。
[指標の選択] ページで、[Chronicle Collector] > [取り込み] > [取り込まれた合計ログ数] を選択します。
[適用] をクリックします。
[データの変換] セクションで、次のようにします。
- [ローリング ウィンドウ] を最大 1 時間*に設定します。
- [ローリング ウィンドウ関数] を [mean] に設定します。
- [時系列の集計] を [mean] に設定します。
- [Time series group by] を [collector_id] に設定します。collector_id でグループ化するように設定されていない場合、ログソースごとにアラートがトリガーされます。
[次へ] をクリックします。
[Metric absence] を選択して、次の操作を行います。
- [Alert trigger] を [Any time series violates] に設定します。
- [Trigger absence time] を最大 1 時間に設定します。*
- 条件の [名前] を入力し、[次へ] をクリックします。
[通知と名前] セクションで、次のようにします。
- [通知チャンネルを使用] ボックスで通知チャンネルを選択します。冗長性を確保するために、複数の通知チャネルを構成することをおすすめします。
- インシデントのクローズ時の通知を構成します。
- ポリシー ユーザーラベルを適切なレベルに設定します。この設定を使用して、ポリシーのアラートの重大度レベルを設定します。
- アラートの一部として送信するドキュメントを入力します。
- アラート ポリシーの名前を入力します。
キャッチオール ポリシーに除外を追加する
トラフィック量が少ない場合や、カスタム アラート ポリシーの追加が必要になる場合があるため、特定の Google SecOps のフォワーダーをキャッチオール ポリシーから除外することが必要な場合があります。
Google Cloud コンソールで [Monitoring] を選択します。
ナビゲーション ページで [アラート] を選択し、[ポリシー] セクションで編集するポリシーを選択します。
[ポリシーの詳細] ページで、[編集] をクリックします。
[アラート ポリシーの編集] ページの [フィルタを追加] セクションで、[フィルタを追加] を選択して次の操作を行います。
- ポリシーから除外する collector_id ラベルとコレクタを選択します。
- コンパレータを
!=
に設定し、値を除外するcollector_id
に設定して、[完了] をクリックします。 - 除外する必要があるコレクタごとに手順を繰り返します。次の形式を使用する場合は、正規表現を使用して、1 つのフィルタだけで複数のコレクタを除外することもできます。
(?:aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|cccccccc-cccc-cccc-cccc-cccccccccccc)
[ポリシーを保存] をクリックします。
サンプル ポリシーを設定してサイレント Google SecOps 収集エージェントを検出する
次のサンプル ポリシーは、すべての Google SecOps 収集エージェントを検出して、Google SecOps 収集エージェントが 60 分間ログを送信しない場合にアラートを送信します。 このサンプルは、モニタリングするすべての Google SecOps 収集エージェントでは有用でない場合があります。たとえば、異なるしきい値を使用して 1 つ以上の Google SecOps 収集エージェントで単一のログソースをモニタリングしたり、レポートの頻度に基づいて Google SecOps 収集エージェントを除外したりできます。
Google Cloud コンソールで [Monitoring] を選択します。
Cloud Monitoring に移動[Create Policy] をクリックします。
[指標の選択] ページで、[Chronicle Collector] > [エージェント] > [エクスポータが受け入れたスパンの数] を選択します。
[適用] をクリックします。
[データの変換] セクションで、次のようにします。
- [ローリング ウィンドウ] を最大 1 時間*に設定します。
- [ローリング ウィンドウ関数] を [mean] に設定します。
- [時系列の集計] を [mean] に設定します。
- [Time series group by] を [collector_id] に設定します。collector_id でグループ化するように設定されていない場合、ログソースごとにアラートがトリガーされます。
[次へ] をクリックします。
[Metric absence] を選択して、次の操作を行います。
- [Alert trigger] を [Any time series violates] に設定します。
- [Trigger absence time] を最大 1 時間*に設定します。
- 条件の [名前] を入力し、[次へ] をクリックします。
[通知と名前] セクションで、次のようにします。
- [通知チャンネルを使用] ボックスで通知チャンネルを選択します。冗長性を確保するために、複数の通知チャネルを構成することをおすすめします。
- インシデントのクローズ時の通知を構成します。
- ポリシー ユーザーラベルを適切なレベルに設定します。これは、ポリシーのアラートの重大度を設定するために使用されます。
- アラートの一部として送信するドキュメントを入力します。
- アラート ポリシーの名前を入力します。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps の専門家から回答を得る。