このページでは、Event Threat Detection 用カスタム モジュールの概要について説明します。
Cloud Logging ストリームを処理し、指定したパラメータに基づいて脅威を検出するモジュール(検出機能)を構成できます。この機能は、Event Threat Detection のモニタリング機能を拡張し、組み込み検出機能がサポートしない構成用の独自の検出パラメータ、修復ガイダンス、重大度の指定を持つモジュールを追加できます。
カスタム モジュールは、組織固有のニーズを満たす検出ルールを持つモジュールが必要な場合に役立ちます。たとえば、リソースが特定の IP アドレスに接続されていることや、リソースが制限のあるリージョンで作成されたことがログエントリに示されている場合は、検出結果を作成するカスタム モジュールを追加できます。
Event Threat Detection 用カスタム モジュールの仕組み
カスタム モジュールとは、Event Threat Detection 検出機能の特定のグループのことで、独自の検出パラメータを使用して構成できます。Event Threat Detection 用カスタム モジュールは Google Cloud コンソールから作成できます。また、カスタム モジュール テンプレートを更新し、そのカスタム モジュールを Google Cloud CLI から Security Command Center に送信することもできます。利用可能なテンプレートについては、カスタム モジュールとテンプレートをご覧ください。
カスタム モジュール テンプレートは JSON で記述します。このテンプレートでは、検出パラメータを定義して、ログエントリ内のどのイベントで検出結果をトリガーするかを制御できます。たとえば、組み込み Malware: Bad IP
検出機能は、既知の不審な IP アドレスへの接続の証拠について、Virtual Private Cloud のフローログを確認します。お客様が保有する疑わしい IP アドレスのリストを使用し、Configurable Bad IP
カスタム モジュールを有効にして変更することもできます。指定した IP アドレスへの接続がログに示されている場合は、検出結果が生成され、Security Command Center に書き込まれます。
また、モジュール テンプレートでは、脅威の重大度を定義し、セキュリティ チームが問題を修正するための修復手順を用意することもできます。
カスタム モジュールを使用すると、Event Threat Detection で脅威を検出し、検出結果を報告する方法をより細かく制御できます。カスタム モジュールには、指定したパラメータが含まれますが、Event Threat Detection 独自の検出ロジックと脅威インテリジェンス(トリップワイヤ インジケーター マッチングなど)も引き続き使用されます。脅威モデルは、組織固有の要件に合わせて、幅広く実装できます。
Event Threat Detection のカスタム モジュールは、組み込み検出機能と並行して実行されます。有効なモジュールはリアルタイム モードで実行され、新しいログが作成されるたびにスキャンがトリガーされます。
カスタム モジュールとテンプレート
次の表に、サポートされているカスタム モジュール タイプ、説明、必要なログ、JSON モジュール テンプレートの一覧を示します。
これらの JSON モジュール テンプレートは、gcloud CLI を使用してカスタム モジュールを作成または更新する場合に必要です。テンプレートを表示するには、テンプレート名の横にある展開アイコン カスタム モジュールの構成と管理をご覧ください。
をクリックします。カスタム モジュールの使用方法については、検出結果のカテゴリ | モジュール タイプ | ログソースのタイプ | 説明 |
---|---|---|---|
構成可能な不正 IP | CONFIGURABLE_BAD_IP |
VPC フローログ ファイアウォール ルールのログ |
指定された IP アドレスへの接続を検出します |
テンプレート: 構成可能な不正 IP
{ "metadata": { "severity": "SEVERITY", "description": "DESCRIPTION", "recommendation": "RECOMMENDATION" }, "ips": [ "IP_ADDRESS_1", "IP_ADDRESS_2" ] } 次のように置き換えます。
|
|||
構成可能な不正ドメイン | CONFIGURABLE_BAD_DOMAIN
|
Cloud DNS のログ | 指定されたドメイン名への接続を検出します |
テンプレート: 構成可能な不正ドメイン
{ "metadata": { "severity": "SEVERITY", "description": "DESCRIPTION", "recommendation": "RECOMMENDATION" }, "domains": [ "DOMAIN_1","DOMAIN_2" ] } 次のように置き換えます。
|
|||
想定外の Compute Engine インスタンス タイプ | CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_INSTANCE_TYPE
|
Cloud Audit Logs: 管理アクティビティ ログ(必須) データアクセス ログ(省略可) |
指定されたインスタンス タイプや構成に一致しない Compute Engine インスタンスの作成を検出します。 |
テンプレート: 想定外の Compute Engine インスタンス タイプ
{ "metadata": { "severity": "SEVERITY", "description": "DESCRIPTION", "recommendation": "RECOMMENDATION" }, "instances": [ { "series": "SERIES", "cpus": { "minimum": MINIMUM_NUMBER_OF_CPUS, "maximum": MAXIMUM_NUMBER_OF_CPUS }, "ram_mb": { "minimum": MINIMUM_RAM_SIZE, "maximum": MAXIMUM_RAM_SIZE }, "gpus": { "minimum": MINIMUM_NUMBER_OF_GPUS, "maximum": MAXIMUM_NUMBER_OF_GPUS }, "projects": [ "PROJECT_ID_1", "PROJECT_ID_2" ], "regions": [ "REGION_1", "REGION_2" ] }, { "series": " ... ", ... "regions": [ ... ] } ] } 次のように置き換えます。
|
|||
想定外の Compute Engine ソースイメージ | CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_SOURCE_IMAGE |
Cloud Audit Logs: 管理アクティビティ ログ(必須) データアクセス ログ(省略可) |
指定したリストに一致しないイメージまたはイメージ ファミリーを持つ Compute Engine インスタンスの作成を検出します |
テンプレート: 想定外の Compute Engine ソースイメージ
{ "metadata": { "severity": "SEVERITY", "description": "DESCRIPTION", "recommendation": "RECOMMENDATION" }, "patterns": [ { "pattern": "PATTERN_1", "name": "NAME_1" }, { "pattern": "PATTERN_2", "name": "NAME_2" } ] } 次のように置き換えます。
|
|||
想定外の Compute Engine リージョン | CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_REGION |
Cloud Audit Logs: 管理アクティビティ ログ(必須) データアクセス ログ(省略可) |
指定したリストにないリージョンでの Compute Engine インスタンスの作成を検出します |
テンプレート: 想定外の Compute Engine リージョン
{ "metadata": { "severity": "SEVERITY", "description": "DESCRIPTION", "recommendation": "RECOMMENDATION" }, "regions": [ { "region": "REGION_1" }, { "region": "REGION_2" } ] } 次のように置き換えます。
|
|||
ブレークグラス アカウントの使用 | CONFIGURABLE_BREAKGLASS_ACCOUNT_USED |
Cloud Audit Logs: 管理アクティビティ ログ(必須) データアクセス ログ(省略可) |
緊急アクセス(ブレークグラス)アカウントの使用を検出します |
テンプレート: ブレークグラス アカウントの使用
{ "metadata": { "severity": "SEVERITY", "description": "DESCRIPTION", "recommendation": "RECOMMENDATION" }, "accounts": [ "BREAKGLASS_ACCOUNT_1", "BREAKGLASS_ACCOUNT_2" ] } 次のように置き換えます。
|
|||
想定外のロールの付与 | CONFIGURABLE_UNEXPECTED_ROLE_GRANT |
Cloud Audit Logs: 管理アクティビティ ログ(必須) データアクセス ログ(省略可) |
指定されたロールがユーザーに付与されたことを検出します |
テンプレート: 想定外のロールの付与
{ "metadata": { "severity": "SEVERITY", "description": "DESCRIPTION", "recommendation": "RECOMMENDATION" }, "roles": ["ROLE_1", "ROLE_2"] } 次のように置き換えます。
|
|||
禁止されている権限があるカスタムロール | CONFIGURABLE_CUSTOM_ROLE_WITH_PROHIBITED_PERMISSION |
Cloud Audit Logs: 管理アクティビティ ログ(必須) データアクセス ログ(省略可) |
指定された IAM 権限のいずれかを含むカスタムロールがプリンシパルに付与されたことを検出します。 |
テンプレート: 禁止されている権限があるカスタムロール
{ "metadata": { "severity": "SEVERITY", "description": "DESCRIPTION", "recommendation": "RECOMMENDATION" }, "permissions": [ "PERMISSION_1", "PERMISSION_2" ] } 次のように置き換えます。
|
|||
予期しない Cloud API 呼び出し | CONFIGURABLE_UNEXPECTED_CLOUD_API_CALL
|
Cloud Audit Logs: 管理アクティビティ ログ(必須) データアクセス ログ(省略可) |
指定したプリンシパルが、指定されたリソースに対して指定されたメソッドを呼び出すことを検出します。検出結果は、すべての正規表現が単一のログエントリで一致する場合にのみ生成されます。 |
テンプレート: 予期しない Cloud API 呼び出し
{ "metadata": { "severity": "SEVERITY", "description": "DESCRIPTION", "recommendation": "RECOMMENDATION" }, "caller_pattern": "CALLER_PATTERN", "method_pattern": "METHOD_PATTERN", "resource_pattern": "RESOURCE_PATTERN" } 次のように置き換えます。
|
料金と割り当て
Security Command Center Premium のお客様はこの機能を無料で利用できます。
Event Threat Detection 用カスタム モジュールには、割り当て上限が適用されます。
カスタム モジュール作成のデフォルトの割り当て上限は 200 です。
カスタム モジュールのメソッドへの API 呼び出しも割り当て上限の対象になります。次の表に、カスタム モジュール API 呼び出しのデフォルトの割り当て上限を示します。
API 呼び出しの種類別 | 上限 |
---|---|
Get、List | 組織ごとに 1 分あたり 1,000 回の API 呼び出し |
Create、Update、Delete | 組織ごとに 1 分あたり 60 回の API 呼び出し |
モジュール サイズの上限
Event Threat Detection の各カスタム モジュールのサイズ上限は 6 MB です。
レート上限
次のレート制限が適用されます。
- カスタム モジュールごとに 1 時間あたり 30 件の検出結果。
- 親リソース(組織またはプロジェクト)ごとに 1 時間あたり 200 件のカスタム モジュールの検出結果。各検出結果は、ソースのカスタム モジュールが作成されたレベルに応じて、組織またはプロジェクトに対してカウントされます。
この上限を引き上げることはできません。
次のステップ
- カスタム モジュールを作成して管理する方法を確認する。