SonarQube安全扫描

本文介绍了如何在Jenkins上安装和配置SonarQube插件,包括权限设置、凭据管理、服务地址配置以及项目中的构建步骤。同时,还讲述了本地安装SonarQube进行安全扫描的过程,并指导如何导出PDF报告。最后概述了SonarQube安全扫描的基本思路和流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Jenkins安装集成sonarqube

1.安装插件

2.配置权限(Jenkins访问Sonar的token)

3.jenkins创建访问SonarQube凭据

4.配置服务地址

5.全局工具配置

6.项目中增加构建步骤

二、本地安装集成sonarqube

1.准备工作

1.1 安装JDK11+

1.2 安装SonarQube

2.使用SonarQube进行安全扫描

2.1 启动SonarQube

2.2 创建项目

三、SonarQube导出PDF报告

1.安装插件

2.导出PDF报告

四、SonarQube安全扫描思路


SonarQube是一个开源的代码分析平台,用来持续分析和评测项目源代码的质量。接下来将会简单介绍在Jenkins上如何集成SonarQube,在项目中实现安全扫描和分析代码质量。

一、Jenkins安装集成sonarqube

1.安装插件

在jenkins上点击【系统管理】-【插件管理】-可用的插件,搜索“sonar”,安装成功后,会在已有插件显示。

我的jenkins是通过docker-compose来控制的,所以在原来的基础上修改yaml文件内容:

version: '3.9'
services:
  jenkins:
    image: terra-jenkins
    container_name: jenkins
    user: root
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /root/compose/jenkins/jenkins_data:/var/jenkins_home
      - /root/compose/jenkins/workspace:/var/jenkins_home/workspace
      - /root/compose/jenkins/apache-maven-3.9.8:/usr/local/apache-maven/apache-maven-3.9.8
      - /root/compose/jenkins/jdk-11.0.23:/usr/local/jdk-11.0.23
      - /root/compose/jenkins/allure:/usr/local/allure
      - /root/compose/jenkins/chromedriver:/usr/local/chromedriver
      - /root/compose/jenkins/sonar-scanner:/usr/local/sonar-scanner
      - /root/compose/jenkins/conf/profile:/root/.bashrc
    environment:
      - TZ=Asia/Shanghai
    ports:
      - "80:8080"
    networks:
      - jenkins-net

  sonarqube:
    image: sonarqube:latest
    container_name: sonarqube
    restart: always
    environment:
      - SONARQUBE_JDBC_URL=jdbc:h2:tcp://sonarqube-db:9092/sonar
    volumes:
      - /root/compose/sonarqube/data:/opt/sonarqube/data
      - /root/compose/sonarqube/extensions:/opt/sonarqube/extensions
      - /root/compose/sonarqube/logs:/opt/sonarqube/logs
      - /root/compose/sonarqube/temp:/opt/sonarqube/temp
    ports:
      - "9090:9000"
    depends_on:
      - sonarqube-db
    networks:
      - jenkins-net

  sonarqube-db:
    image: postgres:12
    container_name: sonarqube-db
    restart: always
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
      - POSTGRES_DB=sonar
    volumes:
      - /root/compose/sonarqube/db:/var/lib/postgresql/data
    networks:
      - jenkins-net

networks:
  jenkins-net:
    driver: bridge

 重启服务后,访问:http://localhost:9090可打开sonarqube界面(用对应的IP)

2.配置权限(Jenkins访问Sonar的token)

登录sonar地址---【配置】-【权限】-【用户】-生成令牌,创建了新令牌“WEB-CSP”。请立即复制,不会再显示第二次!记得要复制这里的令牌哦,后面会用到!!

3.jenkins创建访问SonarQube凭据

路径:【系统管理】-【凭据】-【系统】-【全局凭据】-新建凭据

4.配置服务地址

路径:【系统管理】-【系统设置】-【SonarQube servers】-配置参数并选择刚刚设置的全局凭据。

5.全局工具配置

路径:【系统管理】-【全局工具配置】-【SonarScanner for MSBuild安装】和【SonarQube Scanner安装】-新增并勾选自动安装

6.项目中增加构建步骤

【项目】-【配置】-【增加构建步骤】,并在Analysis properties中配置sonar参数,保存后点击构建,控制台可查看到sonar执行成功。


二、本地安装集成sonarqube

1.准备工作

1.1 安装JDK11+

SonarQube从7.9版本开始,就需要有JDK11的环境。首先在本地安装JDK11。

1.2 安装SonarQube

下载地址:https://www.sonarqube.org/downloads/

下载社区版本即可,我本地下载的版本是:sonarqube-8.9.10.61524,下载后解压即可。

2.使用SonarQube进行安全扫描

2.1 启动SonarQube

下载得到的压缩包解压后,进入到/bin/windows-x86-64目录,双击StartSonar.bat启动服务。

这里最开始我下载的10.3版本过高,会出现命令框闪黑关闭的情况,后面下载低版本8.9问题解决。

启动成功效果显示:

启动成功后,访问:http://localhost:9000 ,通过初始账号密码admin/admin登录,首次登录成功后修改密码。

2.2 创建项目

点击创建项目-选择Manually,填写project key和Display name

然后点击continue继续,生成token令牌,点击continue。

根据自己的项目情况选择构建类型和操作系统。我是构建选择Other操作系统为Windows,选择后点击链接下载windows版本的sonar-scanner并配置对应的环境变量。

最后在对应的项目目录下复制扫描命令并执行,扫描成功后可查看到扫描结果。

可点击数字查看详情,可查看代码具体情况。


三、SonarQube导出PDF报告

1.安装插件

下载sonar-pdf-plugin插件,下载链接:https://gitee.com/zzulj/sonar-pdf-plugin/releases

下载sonar-pdfreport-plugin-4.0.0.jar,将下载好的插件拷贝到SonarQube安装目录的/exensions/plugins目录下,然后重启SonarQube服务。

2.导出PDF报告

重启完成后,进入项目目录,在more下看看到Download Pdf Report

在Administration-->Configuration-->General Settings-->PDF Report目录下,设置下载的用户名和密码。

接下来就可以正常下载生成的扫描报告啦~


四、SonarQube安全扫描思路

1.确定安全扫描工具---SonarQube

2.确定使用方式---Jenkins集成或本地安装集成

3.设计安全场景

4.编写安全场景测试用例

5.安全测试报告---主要包含:概要信息(报告的标题、日期、扫描范围等)、漏洞概况(对扫描结果进行概括性描述,包括漏洞数量、严重程度等)、漏洞详情(逐个漏洞详细说明,包括漏洞类型、影响范围、修复建议等)、风险评估、修复措施

 6.同开发沟通处理步骤---优先处理高风险漏洞;分析漏洞原因;修复漏洞;加强安全意识培训;定期重复安全扫描

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值