收集 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. 从显示生成的密钥的新窗口中复制密钥。

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

  1. 点击新增
  2. Feed 名称字段中,输入 Feed 的名称(例如 InsightIDR 日志)。
  3. 选择第三方 API 作为来源类型
  4. 选择 Rapid7 Insight 作为日志类型
  5. 点击下一步
  6. 为以下输入参数指定值:
    • Authentication HTTP Header:之前使用 X-Api-Key:<value> 格式生成的令牌(例如,X-Api-Key:AAAABBBBCCCC111122223333)。
    • API 端点:输入漏洞资产
    • API 主机名:Rapid7 API 端点的 FQDN(完全限定域名),采用 [region].api.insight.rapid7.com 格式。
    • 资源命名空间资源命名空间
    • 提取标签:应用于此 Feed 中的事件的标签。
  7. 点击下一步
  8. 最终确定界面中查看 Feed 配置,然后点击提交

UDM 映射表

日志字段 UDM 映射 逻辑
added vulnerabilities.first_found added 字段会转换为时间戳并映射到 vulnerabilities.first_found
Authentication security_result.detection_fields.value 原始日志中的 Authentication 值会映射到 security_result.detection_fields 中的 value 字段。相应的 key 设置为“Authentication”。
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 也为空,则 asset.hostname 使用 id 的值。
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。如果该字符串与“主要账号的会话总数:”模式匹配,系统会提取该数字并将其映射到 security_result.detection_fields 中键值为“会话数”的单独标签。
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 消息,如果其为“Info”,则会映射到 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 字段会映射到 keyname 字段会映射到 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 设置为“允许”或“屏蔽”。对于 syslog 消息,已硬编码为“RAPID7_INSIGHT”。
username principal.user.user_display_name username 的值(已移除引号且可能会解析为电子邮件地址)会映射到 principal.user.user_display_name。提取的电子邮件地址(如果有)会映射到 principal.user.email_addresses

更改

2024-05-13

  • 新增了对新格式的 SYSLOG+KV 日志的支持。

2023-05-05

  • 改进
  • 将“tags.type”映射到“asset.attribute.labels.key”。
  • 将“tags.name”映射到“asset.attribute.labels.value”。

2022-12-15

  • 改进
  • 增强了解析器,以解析 Syslog 格式的应用日志。
  • 为类型为“会话创建”“会话销毁”“身份验证尝试成功”和“身份验证尝试失败”的日志添加了 Grok 模式。