本页面简要介绍了 Event Threat Detection 的自定义模块。
您可以配置模块(也称为“检测器”),以处理 Cloud Logging 数据流并根据您指定的参数检测威胁。此功能扩展了 Event Threat Detection 的监控功能,并且允许您为内置检测器可能不支持的配置添加具有自己的检测参数、修复指南和严重程度标识的模块。
如果您需要包含可满足组织独特需求的检测规则的模块,则自定义模块非常有用。例如,您可以添加一个自定义模块,以在日志条目显示资源已连接到特定 IP 地址或在受限区域中创建时创建发现结果。
Event Threat Detection 的自定义模块的工作原理
自定义模块是一组精选的事件威胁检测检测器,您可以使用自己的检测参数来配置这些检测器。您可以通过 Google Cloud 控制台创建 Event Threat Detection 自定义模块。或者,您也可以创建一个自定义模块模板,然后通过 Google Cloud CLI 将自定义模块发送到 Security Command Center。如需了解可用模板,请参阅自定义模块和模板。
自定义模块模板采用 JSON 格式编写,可让您定义检测参数,以控制日志条目中的哪些事件应触发发现结果。例如,内置的 Malware: Bad IP
检测器会检查虚拟私有云流日志,以查找连接到已知可疑 IP 地址的证据。不过,您可以使用您维护的可疑 IP 地址列表来启用和修改 Configurable Bad IP
自定义模块。如果您的日志表明与您提供的任何 IP 地址建立了连接,则系统会生成发现结果并将其写入 Security Command Center。
借助模块模板,您还可以定义威胁的严重程度并提供自定义补救步骤,以帮助您的安全团队修复问题。
借助自定义模块,您可以更好地控制 Event Threat Detection 检测威胁和报告发现结果的方式。自定义模块包含您提供的参数,但仍利用事件威胁检测的专有检测逻辑和威胁情报,包括跳线指示器匹配。您可以根据组织的独特需求实施各种威胁模型。
Event Threat Detection 自定义模块与内置检测器一起运行。已启用的模块以实时模式运行,该模式会在每次创建新日志时触发扫描。
自定义模块和模板
下表列出了支持的自定义模块类型、说明、所需的日志和 JSON 模块模板。
如果您想使用 gcloud CLI 创建或更新自定义模块,则需要这些 JSON 模块模板。如需查看模板,请点击其名称旁边的展开图标 配置和管理自定义模块。
。如需了解如何使用自定义模块,请参阅发现结果类别 | 模块类型 | 日志源类型 | 说明 |
---|---|---|---|
可配置的错误 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" } ] } 替换以下内容:
|
|||
已使用 Breakglass 账号 | CONFIGURABLE_BREAKGLASS_ACCOUNT_USED |
Cloud Audit Logs: 管理员活动日志(必需) 数据访问日志(可选) |
检测使用紧急访问(Breakglass)账号 |
模板:已使用 Breakglass 账号
{ "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 高级方案客户可免费使用此功能。
Event Threat Detection 自定义模块受配额限制。
创建自定义模块的默认配额上限为 200。
对自定义模块方法的 API 调用也受配额限制的约束。下表显示了自定义模块 API 调用的默认配额限制。
API 调用类型 | 限额 |
---|---|
Get、List | 每个组织每分钟 1,000 次 API 调用 |
创建、更新、删除 | 每个组织每分钟 60 次 API 调用 |
模块大小限制
每个 Event Threat Detection 自定义模块的大小限制为 6 MB。
速率限制
适用的速率限制如下:
- 每个自定义模块每小时 30 个发现结果。
- 每个父级资源(组织或项目)每小时 200 个自定义模块发现结果。每个发现结果都会计入组织或项目,具体取决于在哪个级别创建来源自定义模块。
这些限制无法提高。
后续步骤
- 了解如何创建和管理自定义模块。