Splunk的InsightVM技术插件

Splunk的InsightVM技术插件允许您将InsightVM资产和漏洞数据导入到Splunk环境中,并与同伴一起查看该数据InsightVM仪表板.对于InsightVM客户,这些新的Splunk导入和可视化工具在功能上取代了旧的Nexpose技术附件Nexpose仪表板

这个插件的新InsightVM版本与之前的版本有以下不同:

Splunk的InsightVM技术插件 曝光技术插件Splunk
利用Rapid7 Insight Cloud提取资产和漏洞数据 是的,InsightVM插件从Insight Cloud提取数据,并且不影响内部的安全控制台。 不,暴露附加组件使用SQL报告从安全控制台提取所有数据。
包括导入资产的Site、标签和资产组详细信息 是的,资产导入将包括网站和标签;然而,资产组目前不包括在内。任何包含资产的网站将显示在标签关键。 否,nexpe附加仅包括导入资产的标记名称列表。
仅在运行输入时导入新数据 是的,InsightVM附加加载项每次运行输入时都只导入最近扫描设备的资产和漏洞。这减少了存储在Splunk中的数据量,使数据更加可操作。 exposure附加组件根据在范围内识别的站点的任何新扫描导入数据。由于所有漏洞都是针对新站点中识别的资产导入的,因此无法区分新的、现有的或已修复的漏洞。
提供在范围内过滤资产和漏洞的能力 是的,InsightVM附加组件具有与Query Builder相同的资产和漏洞过滤器,并可以通过输入配置来定义它们,以减少正在导入的数据的范围。 可以使用暴露附加组件按站点id进行过滤,但不支持其他过滤。
在第一次运行时导入历史数据 是的。所有随后的导入只包括从资产和漏洞中扫描的数据。 是的。
漏洞发现导入包括设备上的修复状态 是的,InsightVM附加组件导入漏洞发现finding_status =修复发生补救时的价值。所有新的漏洞发现都用finding_status = new 不。

安装

你可以使用Splunk UI将附加组件安装为应用程序:

  1. 从Splunk的Apps菜单中选择管理应用程序
  2. 选择浏览更多应用程序
  3. 搜索“Rapid7 InsightVM Technology Add-On”。
  4. 选择安装从应用程序列表。
  5. 当提示时,重启Splunk完成。

配置

你必须在插件中配置两个组件,然后才能使用它:

  • 连接
  • 一个或多个输入

连接

连接需要一个API密钥来连接到InsightVM并从InsightVM中检索数据。如果您想在不同的输入中使用不同的连接,则该附加组件允许您创建多个连接。

如果你需要为连接生成一个新的API密钥,请遵循以下步骤:

  1. 登录到洞察平台。dota2必威联赛
  2. 在顶部菜单中选择齿轮图标并单击API密钥
  3. 选择组织的关键
  4. 选择+新密钥
  5. 输入密钥的名称并单击生成
  6. 在安全位置复制并存储生成的密钥。

有了API密钥后,请按照以下步骤在Splunk中配置InsightVM连接。

  1. 导航到Rapid7 InsightVM技术插件在Splunk的Apps菜单下可以找到。
  2. 选择配置
  3. 选择添加
  4. 输入连接的名称。
  5. 输入您的区域,这是一个基于位置的两个字符字符串(例如我们).
  6. 输入生成的API密钥。
  7. 点击添加

输入

该插件使用输入配置从InsightVM导入资产和漏洞数据。这些输入允许您进一步筛选Splunk检索和摄取的数据。

有两种输入可供配置:

  • InsightVM资产导入—导入资产和可选的漏洞查找数据。
  • Insightvm漏洞定义导入—导入漏洞定义。

要创建新的输入,请导航到附加菜单并单击>创建新的输入然后选择需要配置的。

InsightVM资产导入

可自定义的InsightVM资产导入输入字段如下:

场地 描述
的名字 输入的输入名称将出现在Splunk中。
时间间隔 附加组件导入InsightVM数据的频率,以秒为单位。默认值(也是推荐的最大值)是每小时一次。
指数 您首选的Splunk数据索引。默认值是rapid7.注意,您必须创建一个新的rapid7在Splunk中索引,如果你选择使用这个。
InsightVM连接 根据前面connection部分的说明创建的InsightVM连接。
资产过滤器 用于过滤附加组件导入的资产的查询。
进口的漏洞 如果需要,此选项允许加载项除了资产之外,此选项还可以将漏洞发现导入Splunk。
脆弱性过滤器 用于过滤附加组件导入的漏洞查找结果的查询。
包括相同的漏洞 当这个选项和进口的漏洞选中时,附加组件将作为新事件导入自上次执行导入以来状态没有改变的漏洞。额外的漏洞将会在最近出现last_found,但导入Splunk的数据总量会增加。
示例资产过滤器

下面的查询是你可以为资产过滤器字段设置的示例:

  • 网站['站点名]
  • 标签(标签名
  • os_family =窗户
例子脆弱性过滤器

类似地,这些查询是漏洞过滤器字段的示例:

  • cvss_v2_score > 6
  • 严重程度=至关重要的

Insightvm漏洞定义导入

附加组件使用此输入从InsightVM导入漏洞定义。您还可以使用此数据来关联漏洞发现结果(如果您选择导入这些发现)。在您的环境中可视化资产发现并不需要导入漏洞定义,但它确实提供了关于漏洞的额外细节。

仅在需要时导入漏洞定义

如果不需要漏洞定义细节,则不建议启用此输入,因为每次运行该输入时,它将吸收大量数据。有些漏洞定义太大,以至于有必要截断数据。当字符串发生截断时,在截断点插入省略号(…)。对于List,将适用75项的限制。

InsightVM漏洞定义可自定义字段导入输入如下:

场地 描述
的名字 输入的输入名称将出现在Splunk中。
时间间隔 附加组件导入InsightVM数据的频率,以秒为单位。默认(和推荐的最大值)是此输入每天一次。
指数 您首选的Splunk数据索引。默认值是rapid7.注意,您必须创建一个新的rapid7在Splunk中索引,如果你选择使用这个。
InsightVM连接 根据前面connection部分的说明创建的InsightVM连接。
脆弱性过滤器 用于过滤附加组件导入的漏洞定义的查询。

进口数据

下表表示导入的数据字段,并包含每个字段的示例数据。

资产Sourcetype

字段名 示例数据
assessed_for_policies 错误的
assessed_for_vulnerabilities 真正的
credential_assessments port: 22 protocol: TCP status: NO_CREDS_SUPPLIED
critical_vulnerabilities 5
利用 12
主机名 hostname-1
id 234574486 - 34 - a7 - 40 - a3 - 0923 - 28 - bd0b5cc90e -默认资产- 100
知识产权 127.0.0.1.
last_scan_end 2020 - 06 - 23 - t17:45:59.963z
last_scan_start 2020 - 06 - 23 - t16:38:00.963z
mac 00:1B:44:11:3A:B7
malware_kits 1
moderate_vulnerabilities 8
os_description Microsoft Windows Server 2008 R2, Enterprise Edition SP1
os_family 窗户
os_name Windows Server 2008 R2,企业版
os_system_name 微软视窗系统
os_type 一般
os_vendor 微软
os_version SP1
risk_score 5000
severe_vulnerabilities 4
标签 "name": "us-austin", "type": " SITE"
total_vulnerabilities 17

资产漏洞查找源类型

字段名 示例数据
first_found 2020-04-15T02:38:41Z
last_found 2020 - 06 - 23 - t20:40:51.981z
港口 3389
证明

与以下不安全密码套件协商:

  • TLS 1.0密码:
    • tls_rsa_with_rc4_128_sha.

协议 TCP
solution_fix (解决方案的细节)
solution_id ssl-disable-rc4-ciphers
solution_summary 禁用对RC4加密的TLS/SSL支持
solution_type 解决方案
状态 VULNERABLE_EXPL
vulnerability_id. rc4 - cve - 2013 - 2566
finding_status. 发现
asset_id 234574486 - 34 - a7 - 40 - a3 - 0923 - 28 - bd0b5cc90e -默认资产- 100
asset_hostname hostname-1
asset_ip 127.0.0.1.

脆弱性定义Sourcetype

字段名 示例数据
添加 2018 - 05 - 16 - t00:00:00z
类别 7 - zip,远程执行
cf cve - 2016 - 2334
cvss_v2_access_complexity 媒介
cvss_v2_access_vector 网络
cvss_v2_authentication 没有一个
cvss_v2_availability_impact 完整的
cvss_v2_confidentiality_impact 完整的
cvss_v2_exploit_score 8.5888
cvss_v2_impact_score 10.000845
cvss_v2_integrity_impact 完整的
cvss_v2_score 9.3
cvss_v2_vector AV: N /交流:M /非盟:N / C: C / I: C / A: C
cvss_v3_attack_complexity
cvss_v3_attack_vector 当地的
cvss_v3_availability_impact
cvss_v3_confidentiality_impact
cvss_v3_exploit_score 1.8345766
cvss_v3_impact_score 5.873119
cvss_v3_integrity_impact
cvss_v3_privileges_required 没有一个
cvss_v3_scope 不变
cvss_v3_score 7.8
cvss_v3_user_interaction 要求
cvss_v3_vector CVSS: 3.0 / AV: L /交流:L /公关:N / UI: R / S: U / C: H /我:H: H
denial_of_service 错误的
描述 NArchive中基于堆的缓冲区溢出NHfs在16.00和p7zip之前,7zip中的ExtractZlibFile方法允许远程攻击者通过精心制作的HFS+映像执行任意代码。
id 7 - zip - cve - 2016 - 2334
链接

“href”:“http://www.securityfocus.com/bid/90531”,
“id”:“90531”,
“rel”:“顾问”,
“源”:“收购”

修改 2018 - 06 - 08 - t00:00:00z
pci_cvss_score 9.3
PCI_FAIL. 真正的
pci_severity_score. 5
pci_status 失败
发表 2016 - 12 - 13 - t00:00:00z
参考文献 报价:90531年,cve: cve - 2016 - 2334,网址:http://www.securitytracker.com/id/1035876
risk_score 598.07
严重程度 至关重要的
severity_score. 9
标题 7-Zip: CVE-2016-2334:堆缓冲区溢出漏洞

漏洞定义源类型目前未被InsightVM Dashboard使用,但导入的数据可用来补充通过资产导入输入导入的资产漏洞发现。

漏洞定义的数据复制

请注意,漏洞定义不会经常更改。随时间的推移,附加组件导入的结果数据可能会产生重复的数据。

可视化数据

Splunk的InsightVM Dashboard可以作为一个起始点,用于可视化通过附加组件导入的数据。有两个仪表盘包括:

  • 用于可视化资产细节的InsightVM资产仪表板
  • InsightVM漏洞发现仪表板用于可视化在资产中发现的漏洞实例的详细信息。

Rapid7 InsightVM仪表板具有多种自定义选项,您可以以与附加组件相同的方式将其作为应用程序安装。

Splunk中的资产仪表盘

Splunk中的漏洞发现仪表板

必须设置索引和时间段

请注意这些仪表板中选择的索引和时间段。如果这些筛选器设置不正确,数据可能不会出现。

常见问题

InsightVM是否有从exposed Technology附加组件到这个新附加组件的迁移路径?

不。由于每个附加组件检索数据和存储内容的方式不同,因此没有从遗留的exposure Technology附加组件迁移到InsightVM Technology附加组件的路径。但是,两个附加组件可以同时使用,因此可以继续使用暴露技术附加组件,直到您准备完全禁用它。

为什么我没有看到任何数据在我的附加组件/仪表板?

检查所选的索引和时间段,以便过滤数据。这些通常需要调整,以正确地过滤资产和漏洞。另外,如果默认rapid7索引用于输入,请确保已经创建了该索引。

资产导入输入是否在每次运行时导入所有资产?

不,当资产导入首次运行时,它将导入所有资产。之后,所有后续的进口只会以自上次导入发生以来的新扫描的资产。

漏洞定义导入输入是否在每次运行时导入所有定义?

是的,所有的漏洞定义将在每次运行时导入。因此,我们建议每天最多运行一次导入。

我如何知道一个漏洞是新的还是已修复的?

检查finding_status.发现漏洞发现,以确定它是否是新的,修复或不变的。的矫正状态分别表示新的和已修复的漏洞,而发现状态表示先前找到的、未更改的漏洞查找结果。

我可以确定漏洞是否已被修复?

是的,所有漏洞发现都会有finding_status.当附加组件将它们导入Splunk时。如果修补了漏洞,则附加组件将其作为一个新事件导入finding_status.矫正

附加组件能否在每次输入运行时导入所有数据?

不,附加组件目前只导入自上次输入运行以来已经扫描过的资产的数据。在内部,Rapid7跟踪上一次作业成功的时间,并且只在没有收到错误时更新,以避免丢失应该导入的数据。

在日志中,我可以看到一个或多个请求失败(例如状态504),这是否意味着导入过程将丢失数据?

并非所有HTTP请求都成功。因此,当请求失败时,应用程序将重试该请求,最多重试3次。在每次重试之间添加延迟,并将增加后续重试的持续时间。如果已达到最大重试次数,且请求未成功,则导入将失败,并在下一次执行Data Input时重新开始。

如果问题持续存在,请确认原因不是由于代理或防火墙规则。否则,请联系Rapid7 Support确保业务无降级。

为什么我的一些漏洞定义属性值被截断?

只有最大的漏洞定义(不是资产或漏洞发现)会受到影响。一些漏洞定义非常大,可能会导致性能问题,需要删除一些数据。被截断的字符串将以省略号(…)结束,被截断的列表的长度上限为75。

我在splunkd.log中看到了截断警告,这意味着什么?

这些警告可能看起来类似LineBreakingProcessor—由于超过XXXXX字节限制而截断行

Splunk截断过大的事件。这可能导致数据被从索引中排除。如果这些错误出现在rapid7: insightvm:资产rapid7: insightvm:资产:vulnerability_finding数据源类型,那么相关源类型的TRUNCATE值应该在Technology Add-On中增加app.conf并执行一个新的初始导入。

如果我以前选择不导入漏洞调查结果,但现在想要导入,那么我将来的运行会导入错过的漏洞吗?

不,需要执行一个新的初始导入,以获取以前没有导入的漏洞发现结果。

如果我怀疑在导入运行过程中丢失了数据,我该怎么做?

确保您使用的是该附加组件的最新版本。您遇到的任何数据丢失问题都可以通过在后续版本中应用的缺陷修复来解决。当升级到新版本的附加组件时,可能需要清除以前版本存储的状态数据,因为这可能会影响将来的导入。看到升级章节以获取更多信息。

升级

您可以通过单击。升级附加组件更新按钮,从Splunk应用浏览器页面或更新可用从应用程序管理页面。有关Splunk Cloud的应用更新过程的其他信息,请参阅Splunk文档https://docs.splunk.com/Documentation/AddOns/released/Overview/SplunkCloudinstall

升级时不一定要执行完整导入,但如果升级是因为在前一个导入期间丢失了数据,那么应该使用最新版本的附加组件执行完整导入。附加组件决定是完全导入还是部分导入(“部分导入”指的是自上次导入以来的差异)应该使用它存储在Splunk的KV存储中的状态信息执行。

需要注意的是,如果没有创建新索引或没有刷新现有索引,执行完整导入可能会导致索引大量重复数据。

有许多方法可以强制完全导入。Rapid7建议您在开始这个过程之前通读所有的步骤。

方法1:创建新的附加输入

这将不会删除任何现有的数据或附加组件配置。相反,创建了第二个附加输入。Splunk的KV存储中存储的状态数据与附加组件输入名称绑定,因此使用不同的名称创建输入意味着当Splunk执行新输入时,附加组件执行完整导入。

  1. (可选)创建一个新的索引设置>索引>新建.输入一个与前面索引名称不同的唯一名称(例如rapid7_new).
  2. 从Splunk主页,选择Rapid7 InsightVM从Apps菜单中。
  3. 选择创建新输入并输入一个与创建原始输入时选择的名称不同的唯一名称。
  4. 请确保选择适当的索引。
  5. 初始导入将在下次执行导入时执行。如果未创建新索引,则可能导致索引大量重复数据。考虑禁用原始输入以缓解此条件。

方法2:手动删除状态数据

这将删除可能无法恢复的现有状态数据。如前所述,状态数据的名称与输入的名称相关联。

  1. 点击找到输入的名称Rapid7 InsightVM Splunk App并注意输入的名称,例如“asset_import”。这是{{input_name}}在下面步骤3中使用。
  2. (可选)通过发送a命令查看所有状态数据的值得到请求{{splunkdProtocol}}: / / {{splunkHost}}: {{splunkdPort}} / servicesNS /没有/ TA-rapid7-insightvm /存储/收藏/数据/ TA_rapid7_insightvm_checkpointer.例如,不要忘记用适合您的环境的值替换占位符https://localhost:8090/servicesNS/nobody/TA-rapid7-insightvm/storage/collections/data/TA_rapid7_insightvm_checkpointer.请求中应该包含的头是内容类型:application / json授权:{{基本认证}}.基本授权使用Splunk用户名/密码。
  3. 发送删除请求删除所选输入的数据。不要忘记用适合您的环境的值替换占位符。请求中应该包含的头是内容类型:application / json授权:{{基本认证}}.基本授权使用Splunk用户名/密码。
    • {{splunkdprotocol}}:// {{slushunkhost}}:{{slushunkhost}} / servicesns / nobody / ta-stave7-Insightvm / Storage / Collections / data / ta_rapid7_insightvm_checkpointer / {{input_name}} -last_import_time
    • {{splunkdProtocol}}: / / {{splunkHost}}: {{splunkdPort}} / servicesNS /没有/ TA-rapid7-insightvm /存储/收藏/数据/ TA_rapid7_insightvm_checkpointer / {{input_name}} -last_assessed_time
  4. 初始导入将在下次执行导入时执行。

故障排除

有三个日志文件可用于帮助调试问题,通常位于< splunk_home > / var / log / splunk /

  • splunkd.log—Splunk一般日志
  • ta_rapid7_insightvm_insightvm_asset_import.log—InsightVM资产导入输入日志
  • ta_rapid7_insightvm_insightvm_vulnerability_definition_import.log—InsightVM漏洞定义导入日志