收集 Rapid7 InsightIDR 日志
支持的语言:
    
      
      
        
        
        
  
    
      Google SecOps
    
  
      
    
      
      
        
        
        
  
    
      SIEM
    
  
      
    
    
  此解析器可处理 Rapid7 InsightIDR 中的 JSON 和 SYSLOG 格式日志。它会提取字段,将其标准化为 UDM,并针对漏洞数据(包括 CVSS 分数和漏洞利用信息)执行特定逻辑,分别处理 JSON 和 syslog 格式。它还会将身份验证尝试和会话事件映射到相应的 UDM 事件类型。
准备工作
确保您满足以下前提条件:
- Google SecOps 实例。
 - 对 InsightIDR 管理控制台的特权访问权限。
 
在 Rapid7 InsightIDR 中配置 API 密钥
- 登录 InsightIDR 命令平台。
 - 点击管理。
 - 点击 API 密钥。
 - 前往组织密钥标签页。
 - 点击新建组织密钥。
 - 选择一个组织,然后为密钥提供一个名称(例如 Google SecOps)。
 - 生成密钥。
 从显示生成的密钥的新窗口中复制密钥。
设置 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 配置,然后点击提交。
 
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 专业人士那里获得解答。