容器CI / CD插件

InsightVM功能可以通过连续集成,连续交付(CI / CD)工具来利用容器评估插件。使用此插件分析Insight平台上的漏洞评估容器图像。dota2必威联赛

该插件具有以下功能:

  • 为兼容的容器映像配置自定义规则
  • 根据对规则的遵从性触发构建操作
  • 生成评估报告

集装箱评估插件结果通过您的CI / CD工具和InsightVM“容器”屏幕的构建选项卡提供。

配置防火墙规则以允许Insight Platform流量dota2必威联赛

你们的Rapid7产品订购是否针对美国?首先检查您的地区代码!

从2021年4月12日起,所有订阅了Rapid7 Insight产品并选择将其数据存储在美国的新客户将被提供给三个数据中心之一。由于这些数据中心具有惟一的端点,因此您配置的任何防火墙规则都必须与您的组织分配给的数据中心相对应。按照以下步骤确定您的组织属于美国哪个数据中心:

  1. insight.rapid7.com并使用您的Insight账户电子邮件地址和密码登录。
  2. 导航到平台主页。
    • 如果默认情况下,如果您未被视为此页面,请展开左上角的产品下拉点,然后单击我的账户
  3. 查找帐户名称下页面右上角的数据存储区域标记。您的美国地区标签将显示以下数据中心之一:
    • 美国- 1
    • 美国- 2
    • 美国- 3

该插件使用以下主机名与Insight平台通信:dota2必威联赛

地区 主机名
美国- 1 us.api.insight.rapid7.com
美国- 2 us2.api.insight.rapid7.com
美国- 3 US3.API.ILSIGHT.RAPID7.com
加拿大 ca.api.insight.rapid7.com.
欧洲 eu.api.insight.rapid7.com.
日本 ap.api.insight.rapid7.com
澳大利亚 au.api.insight.rapid7.com.

为了使插件能够传输数据,您必须配置您的网络以允许流量到指定InsightVM区域的相应主机名。

请注意

您为插件选择的区域必须与之前在InsightVM中选择的区域相匹配。插件不能通过不同的区域进行通信。

安装和配置Jenkins插件

完成以下步骤以配置Jenkins插件:

  1. 生成Rapid7 API密钥
  2. 安装和配置Jenkins插件

生成Rapid7 API密钥

要使用Jenkins Plugin,您需要Rapid7 API键访问Rapid7 Insight平台。dota2必威联赛

为了访问Rapid7 Insight平台,您需要一个RAPIdota2必威联赛D7 Insight帐户,与您的安全控制台用户帐户不同。

以下是如何获得Rapid7 Insight Platfdota2必威联赛orm账户:

  • 如果您是InsightIDR、InsightAppSec或InsightOps客户,您已经拥有一个Rapid7 Insight Platform账户。dota2必威联赛您可以按照说明将您现有的InsightVM安全控制台链接到您与其他Rapid7产品创建的Rapid7 Insight Platform帐dota2必威联赛户在这里
  • 如果您已经使用InsightVM的云功能并且没有RAPID7 Insight平台帐户,请联系dota2必威联赛Rapid7技术支持团队请求一个。

按照以下步骤生成Rapid7 API密钥:

  1. insight.rapid7.com并使用您的Insight账户电子邮件地址和密码登录。
  2. API密钥
  3. 组织钥匙,点击新组织的关键
  1. 在里面组织下拉菜单,选择InsightVM组织名称。
  2. 在字段中输入密钥的名称。
  3. 点击生成
  4. 复制并保存提供的API密钥。

请注意

这是您唯一能够看到API键的唯一一次,因此将其存储在安全的地方。如果错误地错位API键,则可以始终生成一个新的。

  1. 点击完成
  2. 新的API键将显示在“组织键”表中。

安装Jenkins插件

有两种方法可以安装Jenkins插件。两种方式都需要Jenkins行政权限。Jenkins 2.89.3版是最低支持的版本。

请注意

有关最新版本信息和依赖性要求,请参阅https://plugins.jenkins.io/rapid7-insightvm-container-assessment

通过Jenkins更新中心安装Jenkins插件

我们建议使用此方法来安装Jenkins插件,因为它是安装插件的最简单和最常用的方法。您必须是Jenkins管理员浏览此路径:管理Jenkins >

  1. 在“过滤器”框中,搜索“InsightVM”。
  2. 在下面可用的选项卡,选择InsightVM容器图像扫描的复选框。
  3. 单击所需的安装按钮。

手动安装Jenkins插件

按照以下步骤进行手动安装:

  1. 下载来自Jenkins网站的插件.使用SHA1验证您的下载。
  2. 以管理员用户登录Jenkins。
  3. 点击管理詹金斯在导航菜单中。
  4. 在“管理Jenkins”页面上,单击管理插件
  5. 单击先进的选项卡。
  6. 在“上传插件”部分下,单击选择文件浏览到Rapid7 Jenkins插件。
  7. 点击上传
  8. 选择“Restart Jenkins”选项。

配置Jenkins插件

使用API​​键并按照下列步骤操作:

  1. Jenkins重启后,返回“Manage Jenkins”页面。
  2. 点击配置系统
  3. 滚动到“Rapid7 InsightVM容器评估”部分。
  4. 2 .在“InsightVM Region”区域框中,选择InsightVM访问Insight Platform的Region。dota2必威联赛
  5. 在“Insighdota2必威联赛t Platform API键”字段中,单击添加.在下拉菜单中,选择“Jenkins”来配置前面生成的Insight平台API密钥。dota2必威联赛
  1. 在出现的窗口中,完成以下字段:
    1. 在“域”字段中,选择“全局凭据(不受限制)”。
    2. 在“Kind”字段中,选择“Secret text”。
    3. 在“Scope”字段中,选择“Global (Jenkins,节点,项目,所有子项目等)”。
    4. 在“Secret”字段中,输入您的API密钥。
    5. 将“ID”字段留空。
    6. 输入描述以供参考。
  1. 点击添加
  2. 从下拉菜单中选择新配置的凭据。

请注意

点击测试连接验证区域和令牌是否有效。

  1. 单击Save完成插件配置。

职位设置

您必须配置构建作业以在安装后使用插件。为您选择的CI/CD工具完成以下步骤:

詹金斯建立鲍勃设置

该插件支持以下Jenkins构建方法:

自由泳构建

“自由式”是经典的工作建设者。可以通过用户界面添加或删除构建步骤:

  1. 在新作业或现有作业中,单击添加构建步骤
  2. 选择使用Rapid7 InsightVM评估容器图像.这将添加一个空白配置的构建步骤。
  3. 根据需要配置“选项”下的项目。
  4. 点击添加在各自的“规则”部分中配置将触发构建操作的条件。有两种规则类型:
    • “阈值规则”-设置数值限制。超过此限制的值将触发构建操作。
    • “名称规则”-使用“包含”操作符匹配文本。匹配将触发构建操作。

请注意

在运行作业时,配置规则的顺序无关紧要。任何单个规则都可以触发指定的构建操作。

  1. 完成后单击“保存”。

管道建设

“Pipeline”方法包括从插件生成构建步骤脚本,并将它们添加到现有的Pipeline脚本中:

  1. 在新的或现有的工作中,浏览到“管道”部分。
  2. 点击管道的语法在“Script”字段下面。
  3. 打开“示例步骤”旁边的下拉目,然后选择“AssiveContainerimage:使用Rapid7 Insightvm评估容器图像”。
  4. 以与前面相同的方式配置构建选项和规则。
  5. 点击生成管道脚本当完成。
  6. 将新的步脚脚本添加到现有管道脚本。
          
管道的脚本
1
//评估图像
2
aramescontainerimage failpluginerror:true,
3.
imageId:“$ {my_image.id}”,
4.
阈值:[
5.
剥削性vulnerabilities(行动:'mark不稳定',阈值:'1')
6.
],
7.
nameRules:(
8.
vultnerablepackagename(动作:'fall',包含:'nginx')
9.
]
10
  1. 请参阅下面的示例以获得正确的位置和语法:
          
管道脚本示例
1
节点{
2
//定义跨阶段使用的变量
3.
def my_image
4.
阶段(“构建”){
5.
//获取git(或其他源控制)的dockerfile和代码
6.
结账SCM.
7.
//构建Docker映像并设置图像参考
8.
my_image = docker.build(“测试应用:$ {env.BUILD_ID}”)
9.
echo“构建映像$ {my_image.id}”
10
}
11
阶段(“测试”){
12
//评估图像
13
aramescontainerimage failpluginerror:true,
14
imageId:“$ {my_image.id}”,
15
阈值:[
16
剥削性vulnerabilities(行动:'mark不稳定',阈值:'1')
17
],
18
nameRules:(
19
vultnerablepackagename(动作:'fall',包含:'nginx')
20.
]
21
}
22
阶段(部署){
23
echo "正在部署映像${my_image. php ";id}的地方……”
24
//推送镜像并部署容器
25
}
26
}
27
  1. 完成后单击“保存”。

请注意

每个类型的阈值规则必须是唯一的。例如,您不能为关键漏洞设置两条规则。只应用该规则的一个实例。

查看评估结果

运行构建后,您可以通过以下方式查看评估结果:

詹金斯的评估结果

Jenkins将在构建完成后生成评估报告。

  1. 打开运行插件的单独构建。
  2. 点击Rapid7评估在导航菜单上。

在InsightVM中查看评估结果

构建作业的结果可以在InsightVM的“Containers”屏幕的“Builds”选项卡上查看。看到容器建立接口了解有关此功能的更多信息。