取り込み分析情報に 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 コンソールで [モニタリング] を選択します。
ナビゲーション パネルで [アラート] を選択し、[ポリシーを作成] をクリックします。
[指標の選択] ページで、[指標の選択] をクリックします。
[指標を選択] メニューで、次のいずれかをクリックします。
- [アクティブ] を切り替えて、過去 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 SecOps は既存の情報を使用して、データの保存場所を自動的に決定できます。
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。aaaa1111-aaaa-1111-aaaa-1111aaaa1114:
ヘッドレス コレクタ。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 コンソールで [モニタリング] を選択します。
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 コンソールで [モニタリング] を選択します。
ナビゲーション ページで [アラート] を選択し、[ポリシー] セクションで編集するポリシーを選択します。
[ポリシーの詳細] ページで、[編集] をクリックします。
[アラート ポリシーの編集] ページの [フィルタを追加] セクションで、[フィルタを追加] を選択して次の操作を行います。
- ポリシーから除外する 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 コンソールで [モニタリング] を選択します。
Cloud Monitoring に移動[Create Policy] をクリックします。
[指標の選択] ページで、[Chronicle Collector] > [エージェント] > [Exporter Accepted Spans Count] を選択します。
[適用] をクリックします。
[データの変換] セクションで、次のようにします。
- [ローリング ウィンドウ] を最大 1 時間に設定します。*
- [ローリング ウィンドウ関数] を [mean] に設定します。
- [時系列の集計] を [mean] に設定します。
- [Time series group by] を [collector_id] に設定します。collector_id でグループ化するように設定されていない場合、ログソースごとにアラートがトリガーされます。
[次へ] をクリックします。
[Metric absence] を選択して、次の操作を行います。
- [Alert trigger] を [Any time series violates] に設定します。
- [Trigger absence time] を最大 1 時間に設定します。*
- 条件の [名前] を入力し、[次へ] をクリックします。
[通知と名前] セクションで、次のようにします。
- [通知チャンネルを使用] ボックスで通知チャンネルを選択します。冗長性を確保するために、複数の通知チャネルを構成することをおすすめします。
- インシデントのクローズ時の通知を構成します。
- ポリシー ユーザーラベルを適切なレベルに設定します。これは、ポリシーのアラートの重大度を設定するために使用されます。
- アラートの一部として送信するドキュメントを入力します。
- アラート ポリシーの名前を入力します。
ログタイプ別の合計取り込み量を表示する
Cloud Monitoring でログタイプ別の取り込みボリュームを表示する手順は次のとおりです。
[設定] ページで、[プロフィール] を選択します。
Cloud Monitoring プロファイルを選択します。
[プロフィール] ページで、検索バーに「統合」と入力します。
[Metrics Explorer] を選択します。
[promQL] をクリックして、promQL クエリモードに切り替えます。
[クエリ] フィールドに次の内容をコピーします。
sum by (log_type) (increase(chronicle_googleapis_com:ingestion_log_bytes_count{monitored_resource="chronicle.googleapis.com/Collector"}[1h]))
省略可: 特定のログタイプをフィルタして、クエリに含めます。
たとえば、ログタイプ GCP_CLOUDAUDIT
の取り込みを表示する場合、クエリは次のようになります。
`sum(increase(chronicle_googleapis_com:ingestion_log_bytes_count{monitored_resource="chronicle.googleapis.com/Collector",log_type="GCP_CLOUDAUDIT"}[1h]))`
[結果] セクションで、[テーブル] タブを選択して、合計されたデータを表示します。
省略可: 必要に応じて期間を調整します。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。