收集 Rapid7 InsightIDR 日志
支持的语言:
Google SecOps
SIEM
此解析器可处理 Rapid7 InsightIDR 中的 JSON 和 SYSLOG 格式日志。它会提取字段,将其标准化为 UDM,并针对漏洞数据(包括 CVSS 分数和漏洞利用信息)执行特定逻辑,分别处理 JSON 和 syslog 格式。它还会将身份验证尝试和会话事件映射到相应的 UDM 事件类型。
准备工作
确保您满足以下前提条件:
- Google SecOps 实例。
- 对 InsightIDR 管理控制台的特权访问权限。
在 Rapid7 InsightIDR 中配置 API 密钥
- 登录 InsightIDR Command Platform。
- 点击管理。
- 点击 API 密钥。
- 前往组织密钥标签页。
- 点击新建组织密钥。
- 选择一个组织,然后为密钥提供一个名称(例如 Google SecOps)。
- 生成密钥。
从显示生成的密钥的新窗口中复制密钥。
设置 Feed
您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:
- SIEM 设置 > Feed
- 内容中心 > 内容包
通过“SIEM 设置”>“Feed”设置 Feed
如需配置 Feed,请按以下步骤操作:
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称,例如 Rapid7 InsightIDR 日志。
- 选择第三方 API 作为来源类型。
- 选择 Rapid7 Insight 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- 身份验证 HTTP 标头:之前以
X-Api-Key:<value>
格式生成的令牌(例如,X-Api-Key:AAAABBBBCCCC111122223333)。 - API 端点:输入 vulnerabilities 或 assets。
- API 主机名:Rapid7 API 端点的 FQDN(完全限定域名),采用
[region].api.insight.rapid7.com
格式。
- 身份验证 HTTP 标头:之前以
- 点击下一步。
- 在最终确定界面中检查 Feed 配置,然后点击提交。
设置来自内容中心的 Feed
为以下字段指定值:
- 身份验证 HTTP 标头:之前以
X-Api-Key:<value>
格式生成的令牌(例如,X-Api-Key:AAAABBBBCCCC111122223333)。 - API 端点:输入 vulnerabilities 或 assets。
- 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 为空,且 ip 和 mac 均为空,则改用 id 的值。 |
id |
asset.product_object_id |
id 的值映射到 asset.product_object_id 。如果 host_name 为空,且 ip 和 mac 均为空,则使用 id 的值作为 asset.hostname 的值。 |
ip |
asset.ip ,entity.asset.ip |
ip 的值同时映射到 asset.ip 和 entity.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_id ,vulnerabilities.vendor_knowledge_base_article_id |
links 中的 id 字段映射到 vulnerabilities.cve_id ,links 中的 href 字段映射到 vulnerabilities.vendor_knowledge_base_article_id 。 |
mac |
asset.mac ,entity.asset.mac |
mac 的值会转换为小写,并映射到 asset.mac 和 entity.asset.mac 。 |
MessageSourceAddress |
principal.ip ,principal.asset.ip |
从 MessageSourceAddress 中提取的 IP 地址会映射到 principal.ip 和 principal.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.severity ,security_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.timestamp 、metadata.collected_timestamp 、read_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_agent ,network.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 专业人士那里获得解答。