VSTS整合Fortify达成自动化资安扫描

在资安逐步被重视的年代,企业会导入更多资安相关工具,除了本身伺服器或网路层的工具外,近年也针对程式码进行安全性的扫瞄,目前其中市面上比较热门的工具之一就是HPE Fortify,他本身可扫描的程式码种类很多。在开发者端,可以透过Visual Studio的Plug in方式,安装在Visual Studio,如果你又有Fortify Center的登入权限,便可以从Center将资安团队设定好的规则下载下来,透过企业订好的资安政策去扫描自己的程式码,完毕之后,可以选择把报告上传到Center或是在本地自己观看,扫描后的结果,不过,这边我建议是上传到Center中,可读性会比较高,报表内容比较好看得懂

既然要走DevOps,当然除了在开发工具安装外,也会希望在CI时候,也可以把资讯安全检测的这一段给自动化,目前,VSTS可以透过外挂套件将Fortify整合进来,其套件名称为Micro Focus Fortify,在[点我] 来下载安装

安装Fortify

这边为什么要多安装Fortify这步骤,因为,虽然说套件可以帮忙做到自动化,但是它底层其实是必须先有Fortify核心,然后再透过PowerShell指令驱动它,然后进行程式码的静态扫描。今天如果是透过地端VSTS Agent来建置,建议是手动先把它安装好,虽然,这个Plug in有提供Fortify Static Code Analyzer Installation,其中有些设定必须要有Admin权限,所以为了省掉这中间的麻烦,还是先手动安装好

安装HPE Fortify SCA其实不难,主要在于必须设定里面的资讯。

第一步

找到HPE_Security_Fortify_SCA_and_Apps_17.10_windows_x64.exe进行安装,有买这产品的人,因该都会有这一个档案,不过,这一个版本目前不支援扫描ASP.NET Core,必须等到HPE_Security_Fortify_SCA_and_Apps_17.20_windows_x64.exe才可以针对ASP. NET Core扫描。另外,会自动帮你安装IDE的Plug in,不过,目前似乎不支援Visual Studio 2017版本,2017必须额外安装Plug in。

第二步

安装过程到了一半,会请你输入Software Security Center的URL,就看自己企业内部架设的Software Security Center网址填入进去就可以,SSC网址会类似这样: https://XXX.XX.XX.XX/ SSC,

到这边看似已经完成,不过,会建议先用Command方式测试是否可以上传fpr档案,如果,无法上传档案,就必须找出哪边出问题,不然,到时候VSTS也没有办法自动化完成上传档案,当然,如果不需要上传档案到SSC,就可以不用管它。如果遇到凭证问题,必须执行下面指令,必须先跟SSC管理员取得.cer档案,并汇入到环境中,才不会发生凭证问题,造成无法连线

如果单机上测试都没有问题,接下来就可以进行自动化部分,另外,在fortify中有一个fortify.license的SCA档案,也要一并放到可以被VSTS Agent读到的位置,因为在设定后续的Fortify Task会使用到这个档案,在fortify安装资料夹中找到fortifyclient.bat,用这个测试上传fpr是否有问题

设定VSTS内Fortify Task

安装完毕Micro Focus Fortify套件后,可以看到这些相关的TASK

要扫描程式码,选Fortify Static Code Analyzer Assessment这个来用就可以,主要设定可以分三大块

基本参数设定

主要设定SCA License档案位置,和每次产生fpr档案的命名规则

Build設定

这边设定是要编译程式的类型,在17.1版只有分.NET & 'Java'版本两种,且还不能编译.NET Core,不过,据说下一个版本会扩充更多可编译的类型,然后,在选择专案位置,这边有一个比较奇怪地方,就是如果上面有一个TASK已经做过Build,在这里把Run Build取消,就会发生失败状况,所以,这边还是必须把Run Build打勾,才可以顺利进行下去。在17.1版如果是.NET程式,还是仰赖MSBuild进行,所以,编译那一台机器上必须可以执行MSBuild

Scan

扫描类型可以分成Cloud和Local,在企业端大部分都是选择Local Scan,就可以开始进行扫描的动作,这部分会执行时间相当长,所以,建议可以用定时执行Definitons方式

上传fpr设定

当扫描完毕之后,就会产生.fpr档案,这时候就必须上传到SSC Server。此时必须先设定SSC的End Point位置,设定主机属性如下

Connection Name : 给定这服务一个名称

Server URL : 格式会是https://XXXX.XXX.XXX.XXX/ssc

User Name : 登入SSC的帐号

Password : 登入SSC的密码

再来设定对应到SSC的Application Name和Version,这边的Application Name和Version必须和SSC上面注册是一致的才可以,换句话说,必须在SSC注册一个Application和它的版本

完成以上步骤,就可以自动化的SCAN,同时上传扫描后的档案了

Study4 Love

关注我们

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180410G1KC2900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券