SonarQube 漏洞扫描

SonarQube 漏洞扫描

一、部署服务

1.1 docker方式部署

#安装docker
curl -L download.beyourself.org.cn/shell-project/os/get-docker-latest.sh | sh
yum install -y docker-compose
#进去输入:set paste可以保证不穿行
[root@localhost sonar]# vim docker-compose.yml 
version: "3.1"
services:
  db:
    image: postgres
    container_name: db
    ports:
      - 15432:5432
    networks:
      - sonarnet
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar_123
    volumes:
      - /opt/sonar-qube/data:/var/lib/postgresql/data
  sonarqube:
    image: sonarqube:9.9.3-community
    container_name: sonarqube
    depends_on:
      - db
    ports:
      - "19000:9000"
    networks:
      - sonarnet
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar_123
    #volumes:
    #  - ./sonar-l10n-zh-plugin-9.9.jar:/opt/sonarqube/extensions/plugins/sonar-l10n-zh-plugin-9.9.jar
networks:
  sonarnet:
    driver: bridge
启动:docker-compose up -d
停止:docker-compose down
启动:docker-compose start
停止:docker-compose stop
#运行,-d 后台运行
docker-compose -f docker-compose.yml up -d 

 1.2 访问页面

默认密码为 admin/admin

SonarQube 漏洞扫描_第1张图片

1.3 安装插件支持中文

SonarQube 漏洞扫描_第2张图片

SonarQube 漏洞扫描_第3张图片

二、配置漏洞扫描

2.1 配置SonarQube系统

Sonar系统中

SonarQube 漏洞扫描_第4张图片

一定要保留令牌

SonarQube 漏洞扫描_第5张图片

2.2 jenkins 配置关联 SonarQube

jenkins 系统中

2.2.1 安装插件

SonarQube 漏洞扫描_第6张图片

2.2.2 系统配置[system]

SonarQube 漏洞扫描_第7张图片

2.2.3 工具配置

SonarQube 漏洞扫描_第8张图片

2.2.4 配置调用组件

jenkins 主机中

[root@localhost opt]# wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip
[root@localhost opt]# unzip sonar-scanner-cli-5.0.1.3006-linux.zip
[root@localhost opt]# vim /etc/profile.d/sonar.sh
export SONAR_SCANNER_HOME=/opt/sonar-scanner-5.0.1.3006-linux
export PATH=${SONAR_SCANNER_HOME}/bin:${PATH}
​
[root@localhost opt]# source /etc/profile.d/sonar.sh
2.2.5 创建凭据

SonarQube 漏洞扫描_第9张图片

三、创建工程测试漏扫

3.1 创建maven工程

SonarQube 漏洞扫描_第10张图片

:info 下图中代码指定的含义是:

sonar.projectKey:定义唯一的关键字

sonar.projectName:定义项目名称

sonar.projectVersion:定义项目的版本信息

sonar.sources:指定扫描代码的目录位置(多个逗号分隔,java项目源代码一般在src目录下面)

sonar.sourceEncoding:执行项目编码

sonar.language:指定扫描java语言,如果不指定,则扫描目录下存在的全部

sonar.java.binaries:扫描java项目时,指定编译文件所在目录,不指定该目录会报错 :::
  • SonarQube 漏洞扫描_第11张图片

3.2 开始构建

下图中可以看到,已经开始进行漏洞扫描

SonarQube 漏洞扫描_第12张图片

再来查看sonarQube系统

SonarQube 漏洞扫描_第13张图片

四、问题整理

4.1 中文插件无法下载问题

    volumes:
      - ./sonar-l10n-zh-plugin-9.9.jar:/opt/sonarqube/extensions/plugins/
 
      

你可能感兴趣的:(sonarqube,docker,docker-compose)