jenkins+Acunetix实现自动化安全测试

jenkins+Acunetix实现自动化安全测试
目前主流的开发采用的是devops模式(开发、测试、运维一体化)。随着互联网安全要求越来越高,对网络安全就越发变得重要了。传统的测试工程师主要是对功能、接口、性能方面做测试,而对安全方面测试考虑很少。需要专业的白帽子工程师来实现测试,对人的要求较高。目前提出devsecops模式 也就是增加安全测试这块。

DevSecOps 是一种把安全的最佳实战集成到DevOps的流程里面。 DevSecOps包括创立一种 安全即代码(‘Security as Code’ )的文化,从而在发布开发工程师和安全团队之间,建立一种可以持续的,灵活合作的机制和流程,从而把在传统软件开发流程里面最后由安全测试团队把关扫描的安全工作,左移到整个软件开发的全流程,从而大大降低了应用在上线后出现的安全隐患,也大大加快了上线的速度,同时也让其他非安全团队的软件人员在开发,测试,发布的全过程中,有安全意识,而不是时候补救,甚至大大修改框架

jenkins+Acunetix实现自动化安全测试

下面介绍jenkins+Acunetix实现自动化安全测试

1)安装jenkins 关于Acunetix的插件

在jenkins 插件管理市场中 搜索到Acunetix 插件

jenkins+Acunetix实现自动化安全测试

安装完成后在已经安装插件列表中会显示

jenkins+Acunetix实现自动化安全测试

安装好插件后,重启jenkins 使得插件生效

2)安装Acunetix 证书到 java keystore 中

2.1) Acunetix ca 证书是什么东西,在哪里呢?

使用到Acunetix 会用到https 所以我们需要将Acunetix ca证书安装到jenkins 依赖的jdk java keystore中。

Acunetix on windows

Acunetix ca在哪里呢,下面以windows为例,介绍一下

我这里使用的是
acunetix_14.1.210316110.exe 安装版本,安装后会在D:\ProgramData\Acunetix\certs 目录下生成 ca证书

jenkins+Acunetix实现自动化安全测试

Acunetix on linux

我使用的是docker 容器版本的官方的镜像secfa/docker-awvs,官方镜像地址

jenkins+Acunetix实现自动化安全测试

容器里面ca 证书在哪呢?目录结构在
/home/acunetix/.acunetix/data/certs

jenkins+Acunetix实现自动化安全测试

2.2 jdk 如何导入Acunetix ca 证书呢?

Jenkins on Windows

查找当前jenkins 依赖的jdk. 我们的jdk是windows 环境的,所以我的jre security 目前在

D:\develop\java\jdk1.8.0_211\jre\lib\security\cacerts

jenkins+Acunetix实现自动化安全测试

jenkins+Acunetix实现自动化安全测试

我们使用cmd命令行执行如下命令

keytool -import -trustcacerts -alias AcunetixCA -keystore “D:\develop\java\jdk1.8.0_211\jre\lib\security\cacerts” -file D:\ProgramData\Acunetix\certs\ca.cer

解释 通过 keytool 导入 证书 Java keystore 目录“ D:\develop\java\jdk1.8.0_211\jre\lib\security\cacerts

导入 目标Acunetix ca “D:\ProgramData\Acunetix\certs\ca.cer

jenkins+Acunetix实现自动化安全测试

输入密码 changeit

确认已在Windows上成功安装证书

keytool -list -keystore “D:\develop\java\jdk1.8.0_211\jre\lib\security\cacerts” -alias AcunetixCA

jenkins+Acunetix实现自动化安全测试

输入密码 changeit

显示如下信息

jenkins+Acunetix实现自动化安全测试

Jenkins on Linux

从命令提示符运行以下命令:

keytool -import -trustcacerts -alias AcunetixCA -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64/jre/lib/security/cacerts -file /home/acunetix/.acunetix/data/certs/ca.cer

确认已在Windows上成功安装证书

keytool -list -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64/jre/lib/security/cacerts -alias AcunetixCA

3)jenkins 配置Jenkins and Acunetix

在jenkins 中 manage Jenkins ——Configure System

jenkins+Acunetix实现自动化安全测试

在Acunetix API Key 增加Acunetix key

点击“添加” 按钮 设置Jenkins 凭据提供者

jenkins+Acunetix实现自动化安全测试

Acunetix key 是从哪获取的呢?

登陆Acunetix 平台在点击profile

jenkins+Acunetix实现自动化安全测试

jenkins+Acunetix实现自动化安全测试

通过复制生成的api key 列如
1986ad8c0a5b3df4d7028d5f3c06e936cf9fc21aaf2a947ff88827667d8186740

复制的到上面Jenkins 凭据提供者中的secret 中

点击Test Connection 验证配置是否成功

jenkins+Acunetix实现自动化安全测试

4)jenkins 项目中配置Acunetix实现自动安全测试

新建ddd项目,添加acunetix scan 配置

1 Scan Type

这里面根据扫描的类型(完全扫描、扫描高风险漏洞、扫描XSS漏洞、扫描SQL注入漏洞、弱口令检测、Crawl Only,仅爬虫、恶意软件扫描)等属性进行扫描

jenkins+Acunetix实现自动化安全测试

2 Scan Target

这个里面是根据acunetix 平台中目前存在的目标项列出,我们根据自己的实际项目选择一个目标项目

jenkins+Acunetix实现自动化安全测试

3.Fail the build if threat level is

这个根据自己实际项目来(不要使构建失败、高危、中危和高位、低位中危高危)

目前我们设置有漏洞也不阻止构建失败

jenkins+Acunetix实现自动化安全测试

4.Generate Report

这里面会根据报告模版创建各种报告,目前我们默认就选择developer 就可以了

jenkins+Acunetix实现自动化安全测试

这里面报告和acunetix平台报告相对应

jenkins+Acunetix实现自动化安全测试

设置好点击保存

5)jenkins 项目中实现自动安全测试

点击项目构建,完成项目 编译、打包、单元测试、接口测试、安全测试等。

我这里只是设置了安全测试 其他这里就不做重点介绍。

jenkins+Acunetix实现自动化安全测试

构建后自动生成安全测试报告

以上,我们通过jenkins+Acunetix 实现了 安全自动化测试,这样我们再结合其他单元测试、自动化接口测试,就实现了简单的DevSecOps功能了.

这里给大家整理了一份《软件测试工程师进阶的技术栈》,包含了诸多技术栈,希望能帮助在升级打怪中提供中坚力量

jenkins+Acunetix实现自动化安全测试

给大家推荐下我自己建的软件测试交流学习群: 902061117 ,群里都是搞软件测试的,如果你正在学习测试 ,小编欢迎你加入,大家都是测试党,群内不定期分享干货(都是软件测试相关的),包括我自己整理的一份2021最新的进阶自动化资料。

jenkins+Acunetix实现自动化安全测试

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

关注我的微信公众号【伤心的辣条】免费获取~

送上一句话:

世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

jenkins+Acunetix实现自动化安全测试

好文推荐:

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

测试岗反复跳槽,跳着跳着就跳没了…

软件测试人员该学习 Python 的七个理由

App公共测试用例梳理

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

35岁之后软件测试工程师靠什么养家?我能继续做测试!

上一篇:odoo12-路由获取附件信息


下一篇:X.509 数字证书的基本原理及应用