使用Jenkins和OWASP搭建安全扫描流水线

一、安装和部署Jenkins

使用docker部署,最新的jdk8分支,并做好对应的volume

#!/bin/bash

NAME="jenkins"
PUID="$(id -u)"
PGID="$(id -g)"

VOLUME="$HOME/docker_data/jenkins"
mkdir -p $VOLUME 

docker ps -q -a --filter "name=$NAME" | xargs -I {} docker rm -f {}
docker run \
    --hostname $NAME \
    --name $NAME \
    -e PUID=$PUID \
    -e PGID=$PGID \
    -v $VOLUME:/var/jenkins_home \
    -p 8080:8080 \
    -p 50000:50000 \
    --detach \
    --restart always \
    jenkins/jenkins:lts-jdk8

二、初始化Jenkins

查看管理员密码,位置:~/docker_data/jenkins/secrets

登录http://127.0.0.1:8080,进行初始化,根据需要选常用插件

三、安装并配置OWASP Dependency-Check插件

Dashboard -> Manage Plugins -> Available,安装OWASP Dependency-Check。

完成后在进行配置,路径为:Dashboard -> Manage Plugins -> Global Configuration,Dependency-Check,选择版本和自动安装,参见下图:

同样的路径,Dashboard -> Manage Plugins -> Global Configuration,还需要配置下JDK:

同样的路径,Dashboard -> Manage Plugins -> Global Configuration,还需要配置下Maven:

四、设置新项目,支持Maven打包

这里可以用我提供的空的spring boot项目,spring-boot-demo

Dashboard -> New Item -> Freestyle Project

SCM部分如下配置:

Build部分如下配置:

第一次打包,需要下载jdk、maven等,时间会比较长。

五、项目中添加依赖检查

重新打包,第一次需要下载依赖库,时间会比较久。

如果由于网络原因下载慢,可以结合报错日志,改成离线下载,参考如下配置:

也可以添加自定义的依赖报告检查,在最终build之后,会有如下结果报告,以下是正常的:

以下是有漏洞的报告,也可以设置超过多少,自动Fail构建程序。

Leave a Reply

Your email address will not be published.