取り込み通知に Cloud Monitoring を使用する
このドキュメントでは、Cloud Monitoring を使用して取り込み通知を受け取る方法について説明します。Google Security Operations は Cloud Monitoring を使用して取り込み通知を送信します。この機能を使用すると、問題を積極的に対処できます。既存のワークフローにメール通知を統合できます。取り込み値が特定の事前定義レベルに達すると通知がトリガーされます。 Cloud Monitoring のドキュメントでは、通知はアラートと呼ばれます。
準備
Cloud Monitoring に精通していることを確認してください。
Identity and Access Management ロールに、ロール
roles/monitoring.alertPolicyEditor
の権限が含まれていることを確認します。ロールについて詳しくは、アクセス制御をご覧ください。Cloud Monitoring でのアラート ポリシーの作成に精通していることを確認してください。手順については、アラートの作成をご覧ください。
取り込み通知を受信するには、通知チャネルをメールとして構成します。これらの手順については、通知チャンネルを管理するをご覧ください。
健全性の指標の取り込み通知を設定する
Google Security Operations に固有の取り込みの健全性の指標をモニタリングする通知を設定するには、次の手順を行います。
Google Cloud コンソールで [Monitoring] を選択します。
ナビゲーション パネルで [アラート] を選択し、[ポリシーを作成] をクリックします。
[指標の選択] ページで、[指標の選択] をクリックします。
[指標の選択] メニューで、次のいずれかをクリックします。
- [Active] 切り替えボタンを使用すると、過去 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)] を選択します。
[Apply](適用)をクリックします。
フィルタを追加するには、[指標の選択] ページで [フィルタを追加] をクリックします。フィルタ ダイアログで、collector_id ラベル、コンパレータ、フィルタ値を選択します。
次のフィルタを 1 つ以上選択します。
project_id: このリソースに関連付けられた Google Cloud プロジェクトの ID。
location: コレクタ オブジェクトを含むクラスタの物理的な場所。
collector_id: コレクタの ID。
log_type: ログタイプの名前。
Metric label > namespace: ログの名前空間。
Feed_name: フィードの名前。
LogType: ログのタイプ。
指標ラベル > event_type: イベントタイプによって、イベントに含まれるフィールドが決まります。イベントタイプには、
PROCESS_OPEN
、FILE_CREATION
、USER_CREATION
、NETWORK_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 を表します。
[データの変換] セクションで、次のようにします。
- [時系列集計] フィールドを [sum] に設定します。
- [時系列のグループ化の基準] フィールドを project_id に設定します。
省略可: 複数の条件を持つアラート ポリシーを設定します。アラート ポリシー内で複数の条件を使用して取り込み通知を作成するには、複数の条件を持つポリシーをご覧ください。
Google Security Operations フォワーダーの指標と関連フィルタ
次の表に、使用可能な Google Security Operations フォワーダーの指標と関連するフィルタを示します。
Google Security Operationsのフォワーダーの指標 | フィルタ |
---|---|
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 Security Operations フォワーダーを検出する
次のサンプル ポリシーは、すべての Google Security Operations フォワーダーを検出し、Google Security Operations フォワーダーが 60 分間ログを送信しない場合にアラートを送信します。これは、モニタリングするすべての Google Security Operations フォワーダーでは有用でない場合があります。たとえば、異なるしきい値を使用して 1 つ以上の Google Security Operations フォワーダーで単一のログソースをモニタリングしたり、レポートの頻度に基づいて Google Security Operations フォワーダーを除外したりできます。
Google Cloud コンソールで [Monitoring] を選択します。
Cloud Monitoring に移動[Create Policy] をクリックします。
[指標の選択] ページで、[Chronicle Collector] > [取り込み] > [取り込まれた合計ログ数] を選択します。
[Apply](適用)をクリックします。
[データの変換] セクションで、次のようにします。
- [ローリング ウィンドウ] を 1 時間に設定します。
- [ローリング ウィンドウ関数] を [mean] に設定します。
- [時系列の集計] を [mean] に設定します。
- [Time series group by] を [collector_id] に設定します。collector_id でグループ化するように設定されていない場合、ログソースごとにアラートがトリガーされます。
[次へ] をクリックします。
[Metric absence] を選択して、次の操作を行います。
- [Alert trigger] を [Any time series violates] に設定します。
- [Trigger absence time] を 1 時間に設定します。
- 条件の名前を入力し、[Next] をクリックします。
[通知と名前] セクションで、次のようにします。
- [通知チャネルを使用] ボックスで通知チャネルを選択します。冗長性を確保するために、複数の通知チャネルを構成することをおすすめします。
- インシデントのクローズ時の通知を構成します。
- ポリシー ユーザーラベルを適切なレベルに設定します。これは、ポリシーのアラートの重大度を設定するために使用されます。
- アラートの一部として送信するドキュメントを入力します。
- アラート ポリシーの名前を入力します。
キャッチオール ポリシーに除外を追加する
トラフィック量が少ない場合や、カスタム アラート ポリシーの追加が必要になる場合があるため、特定の Google Security Operations フォワーダーをキャッチオール ポリシーから除外することが必要な場合があります。
Google Cloud コンソールで [Monitoring] を選択します。
ナビゲーション ページで [アラート] を選択し、[ポリシー] セクションで編集するポリシーを選択します。
[ポリシーの詳細] ページで、[編集] をクリックします。
[アラート ポリシーの編集] ページの [フィルタを追加] セクションで、[フィルタを追加] を選択して次の操作を行います。
- ポリシーから除外する collector_id ラベルとコレクタを選択します。
- コンパレータを
!=
に設定し、値を除外するcollector_id
に設定して、[完了] をクリックします。 - 除外する必要があるコレクタごとに手順を繰り返します。次の形式を使用する場合は、正規表現を使用して、1 つのフィルタだけで複数のコレクタを除外することもできます。
(?:aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|cccccccc-cccc-cccc-cccc-cccccccccccc)
[ポリシーを保存] をクリックします。