收集 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)。
- 生成密钥。
从显示生成的密钥的新窗口中复制密钥。
在 Google SecOps 中配置 Feed 以提取 Rapid7 InsightIDR 日志
- 点击新增。
- 在Feed 名称字段中,输入 Feed 的名称(例如 InsightIDR 日志)。
- 选择第三方 API 作为来源类型。
- 选择 Rapid7 Insight 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- Authentication HTTP Header:之前使用
X-Api-Key:<value>
格式生成的令牌(例如,X-Api-Key:AAAABBBBCCCC111122223333)。 - API 端点:输入漏洞或资产。
- API 主机名:Rapid7 API 端点的 FQDN(完全限定域名),采用
[region].api.insight.rapid7.com
格式。 - 资源命名空间:资源命名空间。
- 提取标签:应用于此 Feed 中的事件的标签。
- Authentication HTTP Header:之前使用
- 点击下一步。
- 在最终确定界面中查看 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 为空,并且 ip 和 mac 也为空,则系统会改用 id 的值。 |
id |
asset.product_object_id |
id 的值映射到 asset.product_object_id 。如果 host_name 为空,并且 ip 和 mac 也为空,则 asset.hostname 使用 id 的值。 |
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 。如果该字符串与“主要账号的会话总数: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.severity ,security_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 字段会映射到 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 设置为“允许”或“屏蔽”。对于 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 模式。