收集 Rapid7 InsightIDR 日志

支持的语言:

此解析器可处理 Rapid7 InsightIDR 中的 JSON 和 SYSLOG 格式日志。它会提取字段,将其标准化为 UDM,并针对漏洞数据(包括 CVSS 分数和漏洞利用信息)执行特定逻辑,分别处理 JSON 和 syslog 格式。它还会将身份验证尝试和会话事件映射到相应的 UDM 事件类型。

准备工作

确保您满足以下前提条件:

  • Google SecOps 实例。
  • 对 InsightIDR 管理控制台的特权访问权限。

在 Rapid7 InsightIDR 中配置 API 密钥

  1. 登录 InsightIDR Command Platform。
  2. 点击管理
  3. 点击 API 密钥
  4. 前往组织密钥标签页。
  5. 点击新建组织密钥
  6. 选择一个组织,然后为密钥提供一个名称(例如 Google SecOps)。
  7. 生成密钥。
  8. 从显示生成的密钥的新窗口中复制密钥。

设置 Feed

您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:

  • SIEM 设置 > Feed
  • 内容中心 > 内容包

通过“SIEM 设置”>“Feed”设置 Feed

如需配置 Feed,请按以下步骤操作:

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称,例如 Rapid7 InsightIDR 日志
  5. 选择第三方 API 作为来源类型
  6. 选择 Rapid7 Insight 作为日志类型
  7. 点击下一步
  8. 为以下输入参数指定值:
    • 身份验证 HTTP 标头:之前以 X-Api-Key:<value> 格式生成的令牌(例如,X-Api-Key:AAAABBBBCCCC111122223333)。
    • API 端点:输入 vulnerabilitiesassets
    • API 主机名:Rapid7 API 端点的 FQDN(完全限定域名),采用 [region].api.insight.rapid7.com 格式。
  9. 点击下一步
  10. 最终确定界面中检查 Feed 配置,然后点击提交

设置来自内容中心的 Feed

为以下字段指定值:

  • 身份验证 HTTP 标头:之前以 X-Api-Key:<value> 格式生成的令牌(例如,X-Api-Key:AAAABBBBCCCC111122223333)。
  • API 端点:输入 vulnerabilitiesassets
  • API 主机名:Rapid7 API 端点的 FQDN(完全限定域名),采用 [region].api.insight.rapid7.com 格式。

高级选项

  • Feed 名称:用于标识 Feed 的预填充值。
  • 来源类型:用于将日志收集到 Google SecOps 中的方法。
  • 资源命名空间:与 Feed 关联的命名空间。
  • 提取标签:应用于相应 Feed 中所有事件的标签。

UDM 映射表

日志字段 UDM 映射 逻辑
added vulnerabilities.first_found added 字段会转换为时间戳并映射到 vulnerabilities.first_found
Authentication security_result.detection_fields.value 原始日志中的 Authentication 值会映射到 security_result.detection_fields 中的 value 字段。相应的 key 设置为“身份验证”。
critical_vulnerabilities asset.attribute.labels.value critical_vulnerabilities 的值会映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“严重漏洞”。
cves vulnerabilities.cve_id cves 的值映射到 vulnerabilities.cve_id
cvss_v2_access_complexity asset.attribute.labels.value cvss_v2_access_complexity 的值会映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“Access Complexity(Ac)”。
cvss_v2_availability_impact asset.attribute.labels.value cvss_v2_availability_impact 的值会映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“可用性影响 (A)”。
cvss_v2_confidentiality_impact asset.attribute.labels.value cvss_v2_confidentiality_impact 的值会映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“机密性影响 (C)”。
cvss_v2_integrity_impact asset.attribute.labels.value cvss_v2_integrity_impact 的值会映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“完整性影响 (I)”。
cvss_v2_score vulnerabilities.cvss_base_score cvss_v2_score 的值会转换为字符串,然后转换为浮点数,并映射到 vulnerabilities.cvss_base_score
cvss_v2_vector vulnerabilities.cvss_vector cvss_v2_vector 的值映射到 vulnerabilities.cvss_vector
cvss_v3_availability_impact asset.attribute.labels.value cvss_v3_availability_impact 的值会映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“可用性影响 (A)”。
cvss_v3_score vulnerabilities.cvss_base_score cvss_v3_score 的值会转换为字符串,然后转换为浮点数,并映射到 vulnerabilities.cvss_base_score
cvss_v3_vector vulnerabilities.cvss_vector cvss_v3_vector 的值映射到 vulnerabilities.cvss_vector
description vulnerabilities.description 原始日志中的 description 值映射到 vulnerabilities.description
exploits asset.attribute.labels.value exploits 的值会转换为字符串,并映射到 asset.attribute.labels 中的 value 字段。相应的 key 是“漏洞数量”或“漏洞排名”,具体取决于 exploits 对象中是否存在“rank”字段。
host_name asset.hostname host_name 的值映射到 asset.hostname。如果 host_name 为空,且 ipmac 均为空,则改用 id 的值。
id asset.product_object_id id 的值映射到 asset.product_object_id。如果 host_name 为空,且 ipmac 均为空,则使用 id 的值作为 asset.hostname 的值。
ip asset.ipentity.asset.ip ip 的值同时映射到 asset.ipentity.asset.ip
last_assessed_for_vulnerabilities vulnerabilities.scan_end_time last_assessed_for_vulnerabilities 字段会转换为时间戳并映射到 vulnerabilities.scan_end_time
last_scan_end vulnerabilities.last_found last_scan_end 字段会转换为时间戳并映射到 vulnerabilities.last_found
last_scan_start vulnerabilities.first_found last_scan_start 字段会转换为时间戳并映射到 vulnerabilities.first_found
links vulnerabilities.cve_idvulnerabilities.vendor_knowledge_base_article_id links 中的 id 字段映射到 vulnerabilities.cve_idlinks 中的 href 字段映射到 vulnerabilities.vendor_knowledge_base_article_id
mac asset.macentity.asset.mac mac 的值会转换为小写,并映射到 asset.macentity.asset.mac
MessageSourceAddress principal.ipprincipal.asset.ip MessageSourceAddress 中提取的 IP 地址会映射到 principal.ipprincipal.asset.ip
Method network.http.method Method 的值映射到 network.http.method
moderate_vulnerabilities asset.attribute.labels.value moderate_vulnerabilities 的值会转换为字符串,并映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“中度漏洞”。
os_architecture asset.hardware.cpu_platform os_architecture 的值映射到 asset.hardware.cpu_platform
os_description asset.platform_software.platform_version os_description 的值映射到 asset.platform_software.platform_version
os_family asset.platform_software.platform os_family 的值会转换为大写,并映射到 asset.platform_software.platform。系统会针对“MAC OS X”“IOS”“WINDOWS”“MAC”和“LINUX”进行特殊处理。如果与上述任何平台都不匹配,则设置为“UNKNOWN_PLATFORM”。
Port principal.port Port 的值会映射到 principal.port 并转换为整数。
Principal principal.user.email_addresses 如果 Principal 是电子邮件地址,则会映射到 principal.user.email_addresses
product_event_type metadata.product_event_type product_event_type 的值映射到 metadata.product_event_type
Protocol network.application_protocol 如果 Protocol 为“HTTP”或“HTTPS”,则映射到 network.application_protocol
published vulnerabilities.last_found published 字段会转换为时间戳并映射到 vulnerabilities.last_found
Referer network.http.referral_url Referer 的值映射到 network.http.referral_url
risk_score asset.attribute.labels.value risk_score 的值会转换为字符串,并映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“风险得分”。
security_result_summary security_result.summary security_result_summary 的值映射到 security_result.summary。如果匹配“Total sessions for principal: ”这一模式,则提取相应数字并将其映射到 security_result.detection_fields 内键为“Session Count”的单独标签。
Session network.session_id Session 的值映射到 network.session_id
severe_vulnerabilities asset.attribute.labels.value severe_vulnerabilities 的值会转换为字符串,并映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“严重漏洞”。
severity vulnerabilities.severitysecurity_result.severity severity 的值会转换为大写。如果值为“HIGH”“LOW”“CRITICAL”或“MEDIUM”,则会映射到 vulnerabilities.severity。对于 syslog 消息,如果它是“信息”,则会映射到 security_result.severity 中的“INFORMATIONAL”。如果为“Error”,则在 security_result.severity 中映射为“ERROR”。
severity_score asset.attribute.labels.value severity_score 的值会转换为字符串,并映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“严重程度得分”。
SiloID security_result.detection_fields.value SiloID 的值会映射到 security_result.detection_fields 中的 value 字段。相应的 key 设置为“Silo ID”。
SourceModuleName target.resource.name 移除英文引号后的 SourceModuleName 值会映射到 target.resource.name
SourceModuleType observer.application 移除了引号和右方括号的 SourceModuleType 值会映射到 observer.application
Status network.http.response_code Status 的值会映射到 network.http.response_code 并转换为整数。
tags asset.attribute.labels 对于 tags 数组中的每个元素,type 字段会映射到 asset.attribute.labels 中的 key,而 name 字段会映射到 asset.attribute.labels 中的 value
Thread security_result.detection_fields.value Thread 的值会映射到 security_result.detection_fields 中的 value 字段。相应的 key 设置为“Thread”。
timestamp event.timestampmetadata.collected_timestampread_only_udm.metadata.event_timestamp timestamp 字段会转换为时间戳,并映射到 JSON 日志的 event.timestamp 和实体事件的 metadata.collected_timestamp。对于 Syslog 消息,它会映射到 read_only_udm.metadata.event_timestamp
title vulnerabilities.description title 的值映射到 vulnerabilities.description
total_vulnerabilities asset.attribute.labels.value total_vulnerabilities 的值会转换为字符串,并映射到 asset.attribute.labels 中的 value 字段。相应的 key 设置为“漏洞总数”。
URI security_result.detection_fields.value URI 的值会映射到 security_result.detection_fields 中的 value 字段。相应的 key 设置为“URI”。
User-Agent network.http.user_agentnetwork.http.parsed_user_agent User-Agent 的值映射到 network.http.user_agent。它还映射到 network.http.parsed_user_agent 并转换为已解析的用户代理对象。硬编码为“Rapid7 Insight”。硬编码为“Rapid7 Insight”。对于 JSON 日志,硬编码为“ASSET”。最初设置为“GENERIC_EVENT”,然后可能会根据其他字段更改为“PROCESS_UNCATEGORIZED”“STATUS_UPDATE”或“USER_LOGIN”。对于“USER_LOGIN”事件,请设置为“AUTHTYPE_UNSPECIFIED”。根据 product_event_type 设置为“ALLOW”或“BLOCK”。对于 syslog 消息,硬编码为“RAPID7_INSIGHT”。
username principal.user.user_display_name 移除引号并可能解析为电子邮件地址的 username 值会映射到 principal.user.user_display_name。提取的电子邮件地址(如果存在)会映射到 principal.user.email_addresses

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。