收集 Aqua Security 日志
概览
此解析器可从 Aqua Security 日志中提取字段,并将其转换为统一数据模型 (UDM)。它会将 message
字段解析为 JSON,提取用户、源 IP 和其他相关字段,将这些字段映射到 UDM 字段,并根据 action
字段对事件进行分类,同时使用规则名称、说明和 CVE 详细信息等安全上下文来丰富数据。
准备工作
确保您满足以下前提条件:
- Google SecOps 实例。
- 对 Aqua Security 管理控制台的特权访问权限。
设置 Feed
您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:
- SIEM 设置 > Feed
- 内容中心 > 内容包
通过“SIEM 设置”>“Feed”设置 Feed
如需配置 Feed,请按以下步骤操作:
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称(例如 Aqua Security Logs)。
- 选择 Webhook 作为来源类型。
- 选择 Aqua Security 作为日志类型。
- 点击下一步。
- 可选:为以下输入参数指定值:
- 拆分分隔符:用于分隔日志行的分隔符,例如
\n
。 - 资源命名空间:资源命名空间。
- 注入标签:应用于此 Feed 中事件的标签。
- 拆分分隔符:用于分隔日志行的分隔符,例如
- 点击下一步。
- 在最终确定界面中检查 Feed 配置,然后点击提交。
- 点击生成密钥,生成用于对此 Feed 进行身份验证的密钥。
- 复制并存储密钥。您将无法再次查看此密钥。如有需要,您可以重新生成新的 Secret 密钥,但此操作会使之前的 Secret 密钥失效。
- 在详情标签页中,从端点信息字段复制 Feed 端点网址。您需要在客户端应用中指定此端点网址。
- 点击完成。
设置来自内容中心的 Feed
为以下字段指定值:
- 拆分分隔符:用于分隔日志行的分隔符,例如
\n
。
高级选项
- Feed 名称:用于标识 Feed 的预填充值。
- 来源类型:用于将日志收集到 Google SecOps 中的方法。
- 资源命名空间:与 Feed 关联的命名空间。
提取标签:应用于相应 Feed 中所有事件的标签。
点击生成密钥,生成用于对此 Feed 进行身份验证的密钥。
复制并存储密钥。您将无法再次查看此密钥。如有需要,您可以重新生成新的 Secret 密钥,但此操作会使之前的 Secret 密钥失效。
在详情标签页中,从端点信息字段复制 Feed 端点网址。您需要在客户端应用中指定此端点网址。
为 Webhook Feed 创建 API 密钥
依次前往 Google Cloud 控制台 > 凭据。
点击创建凭据,然后选择 API 密钥。
将 API 密钥访问权限限制为 Chronicle API。
指定端点网址
- 在客户端应用中,指定 webhook Feed 中提供的 HTTPS 端点网址。
通过在自定义标头中指定 API 密钥和密钥来启用身份验证,格式如下:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
建议:将 API 密钥指定为标头,而不是在网址中指定。
如果您的 Webhook 客户端不支持自定义标头,您可以使用以下格式的查询参数指定 API 密钥和密钥:
ENDPOINT_URL?key=API_KEY&secret=SECRET
替换以下内容:
ENDPOINT_URL
:Feed 端点网址。API_KEY
:用于向 Google SecOps 进行身份验证的 API 密钥。SECRET
:您生成的用于验证 Feed 的密钥。
在 Aqua Security 中为 Google SecOps 创建 Webhook
- 登录 Aqua Security 控制台。
- 前往设置 > 映像扫描结果 Webhook。
- 勾选启用发送图片扫描结果复选框。
- 输入
<ENDPOINT_URL>
,然后输入<API_KEY>
和<SECRET>
。 - 点击保存。
UDM 映射表
日志字段(升序) | UDM 映射 | 逻辑 |
---|---|---|
jsonPayload.action | metadata.event_type | 根据“jsonPayload.action”的值进行映射。如需了解具体映射,请参阅解析器代码。 |
jsonPayload.action | security_result.summary | 直接映射。 |
jsonPayload.adjective | target.file.full_path | 如果“jsonPayload.container”为空,则直接映射。 |
jsonPayload.category | target.asset.category | 直接映射。 |
jsonPayload.cfappname | target.application | 直接映射。 |
jsonPayload.cfspace | principal.user.userid | 如果“jsonPayload.user”为空,则直接映射。 |
jsonPayload.command | principal.ip | 使用 Grok 模式“user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)”提取。 |
jsonPayload.command | principal.user.userid | 使用 Grok 模式“user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)”提取。 |
jsonPayload.container | target.asset.product_object_id | 直接映射。 |
jsonPayload.data | security_result.detection_fields | 解析为键值对,并映射到“security_result.detection_fields”中的各个字段。 |
jsonPayload.description | security_result.description | 如果“jsonPayload.reason”为空,则直接映射。 |
jsonPayload.host | principal.hostname | 直接映射。 |
jsonPayload.hostgroup | target.group.group_display_name | 直接映射。 |
jsonPayload.hostid | target.asset_id | 映射为“host id: %{jsonPayload.hostid}”。 |
jsonPayload.hostip | target.ip | 直接映射。 |
jsonPayload.image | target.file.full_path | 直接映射。 |
jsonPayload.level | security_result.action | 如果“jsonPayload.level”为“success”,则设置为“ALLOW”。 |
jsonPayload.reason | security_result.description | 直接映射。 |
jsonPayload.rule | security_result.rule_name | 直接映射。 |
jsonPayload.user | principal.user.userid | 直接映射。 |
jsonPayload.vm_location | target.asset.location.name | 直接映射。 |
jsonPayload.vm_name | target.resource.name | 直接映射。 |
resource.labels.instance_id | target.resource.id | 直接映射。 |
resource.labels.project_id | target.asset.attribute.cloud.project.id | 直接映射。 |
resource.labels.zone | target.asset.attribute.cloud.availability_zone | 直接映射。 |
时间戳 | metadata.event_timestamp | 在转换为 ISO8601 格式后直接映射。 |
extensions.auth.type | 如果“jsonPayload.description”包含“SAML”,则设置为“SSO”;否则,如果“jsonPayload.action”为“login”或“Login”,则设置为“AUTHTYPE_UNSPECIFIED”。 | |
metadata.log_type | 设置为“AQUA_SECURITY”。 | |
metadata.product_name | 设置为“AQUA_SECURITY”。 | |
metadata.vendor_name | 设置为“AQUA_SECURITY”。 | |
target.asset.attribute.cloud.environment | 设置为“GOOGLE_CLOUD_PLATFORM”。 | |
target.resource.type | 设置为“VIRTUAL_MACHINE”。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。