使用Acunetix的最重要好处之一就是您可以 将其集成到您的SDLC中 以便您可以自动并尽早扫描应用程序。扫描得越早,消除漏洞的时间越早,您浪费的时间和资源就越少。这就是背后的原理 开发安全 这种方法在世界范围内越来越受欢迎。
詹金斯是在大多数DevOps环境中使用的世界上最受欢迎的CI / CD工具。您可以从下载Jenkins //jenkins.io/download/。 詹金斯在Windows,Linux发行版等平台上以及Docker容器中工作。您可以将Acunetix与Jenkins完全集成,以便您的构建包括Web安全扫描。
步骤1.安装用于Jenkins的Acunetix插件
- 在Jenkins用户界面中,点击 管理詹金斯 menu 选项。
- 在“管理詹金斯”页面上,单击 管理插件 选项。这将打开 詹金斯插件管理器 页。
- 在 詹金斯插件管理器 page, click on the 可用的 tab.
- 在里面 过滤 field, type Acunetix.
- 点击旁边的复选框 Acunetix plugin.
- 点击 无需重新安装即可安装 button.
- 安装完成后,单击旁边的复选框 安装完成且没有作业在运行时,重新启动Jenkins.
步骤2.查找证书存储路径
您需要证书存储路径,才能将Acunetix SSL证书安装到Jenkins CA存储中。
的 default certificate store path is JAVA_HOME_FOLDER \ lib \ security \ cacerts。您需要确定 JAVA_HOME_FOLDER 运行您的Jenkins服务的Java二进制文件。请记住,您的计算机可能安装了几种不同版本的Java。 注意 : 的 Java instance running your 詹金斯 service is different from JDK instances defined in 管理詹金斯 → 全局工具配置. 的 JDK instances defined in 全局工具配置 在构建过程中由Jenkins使用。
Windows上的Jenkins
注意 :我们描述了查找32位版本的Jenkins 2.222.4(在撰写本文时为最新的稳定版)的证书存储路径的过程。该过程可能与其他版本的Jenkins不同。
要找出运行Jenkins服务的Java安装,请打开 詹金斯.xml Jenkins安装目录中的文件,然后查找 executable
tag. For example:
<executable>%BASE%\jre\bin\java</executable>
的 %BASE%
变量是指Jenkins安装目录。对于Jenkins 2.222.4(32位),这是 C:\ Program Files(x86)\ 詹金斯. 的refore, the Java executable is C:\ Program Files(x86)\ 詹金斯 \ jre \ bin \ java.
找到 java.home 运行Jenkins服务的Java实例的目录,请运行以下命令:
"C:\ Program Files(x86)\ 詹金斯 \ jre \ bin \ java" -XshowSettings:properties -version 2>&1 | find "java.home"
的 output will show you the relevant java.home directory:
java.home = C:\ Program Files(x86)\ 詹金斯\jre
由于证书存储文件是 JAVA_HOME_FOLDER \ lib \ security \ cacerts,我们现在知道在此示例中,我们需要使用证书存储文件 C:\ Program Files(x86)\ 詹金斯 \ jre \ lib \ security \ cacerts.
詹金斯在Linux上
您首先需要知道哪个Java二进制文件正在运行您的Jenkins服务。在命令行中,运行以下命令:
ps -aux | grep 詹金斯
您应该收到显示所有流程的输出,包括 詹金斯 在名称或路径中,例如:
詹金斯 11044 0.0 0.4 21156 9060 ? Ss 13:42 0:00 /lib/systemd/systemd --user
jenkins 11045 0.0 0.1 106264 2620 ? S 13:42 0:00 (sd-pam)
jenkins 11058 0.0 0.0 5712 160 ? S 13:42 0:00 /usr/bin/daemon --name=jenkins --inherit --env=JENKINS_HOME=/var/lib/jenkins --output=/var/log/jenkins/jenkins.log --pidfile=/var/run/jenkins/jenkins.pid -- / bin / java -Djava.awt.headless=true -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
jenkins 11059 3.1 14.0 2623256 287656 ? Sl 13:42 0:22 / bin / java -Djava.awt.headless=true -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
root 11194 0.0 0.0 6048 888 pts/0 S+ 13:54 0:00 grep 詹金斯
在这种情况下,我们可以看到java可执行文件是 / bin / java (您的系统可能具有不同的配置),但是几乎可以肯定,它是由JDK或JRE软件包安装的实际二进制文件的符号链接,甚至可能是符号链接链。
找到 java.home 运行Jenkins服务的Java实例的目录,请运行以下命令:
/ bin / java -XshowSettings:properties -version 2>&1 | grep "java.home"
更换 / bin / java with the executable found earlier. 的 output will show you the relevant java.home directory:
java.home = /usr/lib/jvm/java-11-openjdk-amd64
由于证书存储文件是 JAVA_HOME_FOLDER / lib / security / cacerts,我们现在知道在此示例中,我们需要使用证书存储文件 / usr / lib / jvm / java-11-openjdk-amd64 / lib / security / cacerts.
步骤3.将证书安装到Java密钥库中
Windows上的Jenkins
从命令提示符处运行以下命令:
keytool -import -trustcacerts -alias AcunetixCA -keystore "C:\ Program Files(x86)\ 詹金斯 \ jre \ lib \ security \ cacerts" -file C:\ProgramData\Acunetix\certs\ca.cer
确认您已在Windows上成功安装证书:
keytool -list -keystore "C:\Program Files\Java\jre1.8.0_251\lib\security\cacerts" -alias AcunetixCA
詹金斯在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
确认您已在Linux上成功安装证书:
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
的 Result on Windows 和 Linux
如果证书已成功安装,您将看到AcunetixCA详细信息,例如:
Enter keystore password:
AcunetixCA, 15 2020年5月, trustedCertEntry,
Certificate fingerprint (SHA-256): E6:01:86:F3:43:33:97:25:71:B9:4E:BC:D9:08:30:AC:18:75:F6:9A:E6:D0:09:1D:D0:90:DF:2A:1D:8E:97:BA
注意 : When you access the Java keystore, you are asked for the password. 的 default password is 更改. 注意 注意:如果您使用的Jenkins版本不同于2.222.4(32位),则对于上述所有命令,您可能需要使用Java安装路径。
步骤4.配置Jenkins和Acunetix之间的集成
- 在Jenkins用户界面中,点击 管理詹金斯 menu 选项。
- 在 管理詹金斯 page, click on the 配置系统 选项。向下滚动到底部 Acunetix section.
- 确保 Acunetix API URL 值是正确的。默认情况下, Acunetix API URL field is based on 本地主机.
- 将为您在安装Acunetix时选择的主机名颁发Acunetix CA证书。在Jenkins中,您必须使用相同的主机名。
- 如果您的Jenkins在不同于Acunetix的主机上运行,则需要 使Acunetix可从本地主机以外的主机访问.
- 如果您使用的是Acunetix Online,请使用 //online.acunetix.com/api/v1.
- 点击 加 button next to the Acunetix API密钥 field 和 select the 詹金斯 option.
- 在里面 詹金斯凭证提供者 dialog:
- 在里面 类 field, select 秘密文字.
- 在里面 范围 field, select 全局(詹金斯,节点,项目,所有子项目等).
- 打开Acunetix用户界面以检索Acunetix API密钥:
- 去你的 个人资料 页(您必须是管理员),然后滚动到底部。
- 如果您还没有API密钥,请点击 生成新的API密钥 button.
- 点击 复制 按钮将API密钥复制到剪贴板。
- 返回到Jenkins UI。
- 在里面 秘密 字段,粘贴Acunetix API密钥。
- 点击 加 button to close the 詹金斯凭证提供者 dialog.
- 点击 应用 按钮以保存Acunetix API密钥设置。
- 点击 测试连接 按钮–您将看到消息 连接成功.
连接问题–注释和故障排除
将为您在安装Acunetix时选择的主机名颁发Acunetix CA证书。在Jenkins中,您必须使用相同的主机名。如果要使用IP地址,则需要 再次为IP地址生成Acunetix CA证书.
如果您使用主机名而不是IP地址或其他方式,Jenkins将以 连接被拒绝 错误。要进一步调查遇到的问题,请针对您的操作系统按照以下说明进行操作。
- Windows:默认情况下,您可以在以下位置找到Jenkins登录 %JENKINS_HOME%\ 詹金斯.out and %JENKINS_HOME%\ 詹金斯.err,除非在中自定义 %JENKINS_HOME%\ 詹金斯.xml.
- Linux:默认情况下,您可以在以下位置找到Jenkins登录 /var/log/jenkins/jenkins.log,除非在中自定义 / etc / default / 詹金斯 (for * .deb )或通过 / etc / sysconfig / 詹金斯 (for *. 转数 )。
步骤5.在Jenkins作业中将Acunetix扫描添加为构建步骤
要将Acunetix扫描添加为Jenkins作业的构建步骤,请导航至现有作业的配置或创建新作业。在里面 建立 step, select Acunetix from the 添加构建步骤 drop-down.

您将看到以下选项:
- 扫描类型:选择扫描的扫描类型。扫描类型用于减小扫描仪在扫描过程中运行的测试范围。
- 扫描目标:选择您要扫描的扫描目标。扫描目标是从Acunetix获得的,但需要手动干预的目标除外。
- 如果威胁级别为,则构建失败:选择要使Jenkins构建失败的扫描威胁级别( 高 , 中 , 要么 低 )。
- 构建失败时停止扫描:如果您希望在失败条件出现时中止扫描,请选中此复选框 如果威胁级别为,则构建失败 is met.
- 产生报告:选择要在扫描完成时生成的报告。作业控制台输出中将提供下载链接。您以后也可以在Acunetix中访问此报告。
资源: //www.acunetix.com/blog/docs/installing-and-configuring-the-acunetix-jenkins-plugin/