收集 CloudPassage Halo 日志

支持的平台:

此 Logstash 解析器代码会将 CloudPassage Halo JSON 日志数据转换为统一数据模型 (UDM)。它会从原始日志中提取相关字段、对时间戳进行标准化、将数据映射到 UDM 字段,并使用严重程度和用户信息等其他背景信息丰富事件。

准备工作

  • 确保您拥有 Google SecOps 实例。
  • 确保您拥有对 CloudPassage Halo 的特权访问权限。

在 CloudPassage 中配置 API 密钥

  1. 登录 CloudPassage Halo。
  2. 依次前往设置 > 网站管理
  3. 点击 API 密钥标签页。
  4. 依次点击操作 > 新建 API 密钥
  5. API 密钥标签页中,点击相应密钥的 Show(显示)以显示值。
  6. 复制密钥 ID密钥值。

在 Google SecOps 中配置 Feed 以提取 CloudPassage 日志

  1. 点击新增
  2. Feed 名称字段中,输入 Feed 的名称(例如 CloudPassage 日志)。
  3. 选择第三方 API 作为来源类型
  4. 选择 Cloud Passage 作为日志类型
  5. 点击下一步
  6. 为以下输入参数指定值:
    • 用户名:输入密钥 ID
    • Secret:输入Secret Key(密钥)。
    • 事件类型:要包含的事件类型(如果您未指定事件类型,系统将使用列表中的默认事件)。
    • 资源命名空间资源命名空间
    • 提取标签:应用于此 Feed 中的事件的标签。
  7. 点击下一步
  8. 最终确定界面中查看 Feed 配置,然后点击提交

UDM 映射表

日志字段 UDM 映射 逻辑
actor_country principal.location.country_or_region 直接从原始日志中的 actor_country 字段映射而来。
actor_ip_address principal.ip 直接从原始日志中的 actor_ip_address 字段映射而来。
actor_username principal.user.userid 直接从原始日志中的 actor_username 字段映射而来。
created_at metadata.event_timestamp 从原始日志中的 created_at 字段转换为 UDM 时间戳格式。
严重 security_result.severity 如果 critical 为 true,则将严重程度设置为“严重”。否则,系统会将其设置为“信息性”事件,并根据扫描的发现数量进行计算。
id metadata.product_log_id 直接从事件的原始日志中的 id 字段映射而来。
消息 security_result.description 使用 Grok 模式从 message 字段中提取的说明。
名称 security_result.summary 直接从事件的原始日志中的 name 字段映射而来。
policy_name security_result.detection_fields.policy_name 直接从原始日志中的 policy_name 字段映射而来。
rule_name security_result.rule_name 直接从原始日志中的 rule_name 字段映射而来。
scan.created_at metadata.event_timestamp 将扫描的原始日志中的 scan.created_at 字段转换为 UDM 时间戳格式。
scan.critical_findings_count security_result.description 用于计算扫描事件的说明。也用于确定严重程度。
scan.module security_result.summary 用于生成扫描事件的摘要。已转换为大写。
scan.non_critical_findings_count security_result.description 用于计算扫描事件的说明。也用于确定严重程度。
scan.ok_findings_count security_result.description 用于计算扫描事件的说明。
scan.server_hostname target.hostname 直接从扫描的原始日志中的 scan.server_hostname 字段映射而来。
scan.status security_result.summary 用于生成扫描事件的摘要。
scan.url metadata.url_back_to_product 直接从扫描的原始日志中的 scan.url 字段映射而来。
server_group_name target.group.attribute.labels.server_group_name 直接从原始日志中的 server_group_name 字段映射而来。
server_group_path target.group.product_object_id 直接从原始日志中的 server_group_path 字段映射而来。
server_hostname target.hostname 直接从事件的原始日志中的 server_hostname 字段映射而来。
server_ip_address target.ip 直接从原始日志中的 server_ip_address 字段映射而来。
server_platform target.platform 直接从原始日志中的 server_platform 字段映射而来。已转换为大写。
server_primary_ip_address target.ip 直接从原始日志中的 server_primary_ip_address 字段映射而来。
server_reported_fqdn network.dns.authority.name 直接从原始日志中的 server_reported_fqdn 字段映射而来。
target_username target.user.userid 直接从原始日志中的 target_username 字段映射而来。
metadata.event_type 对于事件,请将其设置为“SCAN_UNCATEGORIZED”;对于扫描,请将其设置为“SCAN_HOST”。
metadata.log_type 设置为“CLOUD_PASSAGE”。
metadata.product_name 设置为“HALO”。
metadata.vendor_name 设置为“CLOUDPASSAGE”。
principal.hostname target.hostname 复制。
security_result.action 设置为“UNKNOWN_ACTION”。
security_result.category 设置为“POLICY_VIOLATION”。
is_alert 如果 security_result.severity 为“CRITICAL”,则设置为 true。
is_significant 如果 security_result.severity 为“CRITICAL”,则设置为 true。

更改

2022-06-30

  • 改进
  • 将“policy_name”映射到“security_result.detection_fields”。
  • 将“server_group_name”映射到“target.group.attribute.labels”。
  • 将“server_group_path”映射到“target.group.product_object_id”。
  • 添加了 Grok 模式以获取“description”。