久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      搭建基于SornaQube的自動化安全代碼檢測平臺

      一、背景和目的

        近年來,隨著新業(yè)務、新技術的快速發(fā)展,應用軟件安全缺陷層出不窮。雖然一般情況下,開發(fā)者基本都會有單元測試、每日構建、功能測試等環(huán)節(jié)來保證應用的可用性。但在安全缺陷方面,缺乏安全意識、技能和工具,最終導致了安全缺陷的出現(xiàn)。

        對于軟件開發(fā)安全意識和軟件開發(fā)安全技能方面本文中不再做詳述,軟件開發(fā)者可通過培訓和實踐提高自身意識和技能,本文目的主要是提供一種思路和方法,讓軟件開發(fā)者像測試軟件功能一樣,測試軟件安全缺陷,并且能夠融入到整個的軟件開發(fā)過程中。

      二、自動化安全代碼檢測平臺概述

      2.1. 什么是安全代碼審計工具?

        代碼安全審計工具是以靜態(tài)的方式在程序中查找可能存在的安全缺陷,如:緩沖區(qū)溢出、空指針引用、資源泄露和SQL注入等。安全代碼測試工具目前比較多,例如Fortify、FindBugs等,大家感興趣可以通過互聯(lián)網(wǎng)搜索到這些工具的一些描述,本文中也不再贅述。

      2.2. 軟件開發(fā)人員是否可以自行直接利用這些安全代碼審計工具完成測試?

      答案在理論上是可以的,但是在實踐中基本是很難落地。原因有如下幾點:

        1)工具眾多,很難選擇;

        2)工具誤報較高,如何提高準確率,軟件開發(fā)人員很難處理;

        3)單一工具如何與開發(fā)過程進行結合。

        4)安全代碼審計工作在企業(yè)里很有可能是安全專業(yè)人員的職責,這樣企業(yè)里會出現(xiàn)安全和開發(fā)隔離的情況。

      2.3. 什么是自動化安全代碼檢測平臺

      自動化安全代碼檢測平臺應該具有以下的幾個功能:

        1)能夠融入到軟件開發(fā)的過程中

        2)自動、高效、準確的進行檢測

        3)自動生成檢測報告,供項目管理者和開發(fā)人員查看

      三、搭建基于SonarQube的自動化安全代碼檢測平臺搭建實踐

      3.1. 檢測平臺概述

      這個平臺環(huán)境主要是基于Jenkins、SVN、Maven、SonarQube集成搭建的,下面分別大概介紹一下這幾個軟件:

      Jenkins(本次環(huán)境使用的是:sonarqube-6.7.6)是一個開源軟件項目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續(xù)集成變成可能。先了解一下持續(xù)集成的概念:持續(xù)集成是一種軟件開發(fā)實踐,即團隊開發(fā)成員經(jīng)常集成它們的工作,通過每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡早地發(fā)現(xiàn)集成錯誤。而 Jenkins就是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復的工作。

      SVN(本次環(huán)境使用的是:Subversion1.9.7)是Subversion的簡稱,是一個開放源代碼的版本控制系統(tǒng),用于多個人共同開發(fā)同一個項目,共用資源的目的。

      Maven(本次環(huán)境使用的是:Maven 3.5.2)是通過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具。Maven主要做了兩件事:統(tǒng)一開發(fā)規(guī)范與工具、統(tǒng)一管理jar包。

      SonarQube(本次環(huán)境使用的是:6.7.6)是一個用于代碼質量管理的開源平臺,用于管理源代碼的質量,可以從七個維度檢測代碼質量通過插件形式,可以支持包括java,C#,C/C++等二十幾種編程語言的代碼質量管理與檢測。

      3.2. 自動化安全代碼檢測平臺搭建的核心思路。

      在基于SonarQube的平臺中,SVN是檢測的入口,SonarQube是檢測的主要工具和檢測報告生成出口,Jenkins作為一個持續(xù)集成工具將SVN和SonarQube關聯(lián)起來,監(jiān)控SVN的動作并適時觸發(fā)SonarQube對提交的代碼進行檢測。SonarQube類似一個路由器,以插件的形式集成了許多缺陷檢測工具,由于大多數(shù)檢測工具要求對輸入的項目進行編譯并提取相關的信息,因此,在本平臺上也安裝了Maven。在SonarQube開始檢測之前,Jenkins首先調用Maven對代碼進行編譯,然后將源代碼和編譯的輸出信息送給SonarQube進行檢測。

      將這些工具集成在一起的好處在于:

      1. 在代碼審計融入到軟件項目的持續(xù)開發(fā)過程中,自動生成高質量的檢測報告,無需人工干預,提高了軟件開發(fā)效率;

      2. SonarQube以插件的形式可以集成眾多的檢測工具,目前已知可以支持XX種工具。檢測工具的更新升級,不會影響到正常的軟件開發(fā)流程;

      3. 以阿里云鏡像的方式提供給大家使用,最大限度的保護了個人和公司的知識產(chǎn)權,方便工具的落地使用。

      目前,我們的團隊還在不斷地集成新的工具,以及開發(fā)更加高效和精確的檢測器,保證了平臺的持續(xù)更新升級,大家在簡單配置之后,能夠體檢到最好的代碼審計服務。

      3.3. 搭建方法和步驟

      3.3.1. 基礎環(huán)境準備

      硬件要求:

        CPU:1核心

        內存:4G(最少4G)

        操作系統(tǒng):linux(Ubuntu,CentOS均可)

      然后,系統(tǒng)啟動后,使用root安裝jdk1.8和MySQL,并修改環(huán)境配置文件,具體操作命令可參考如下: 

      1. 安裝JDK1.8.0_151,操作如下:

      a. 在官方網(wǎng)站上下載tar包,并上傳至目錄/usr/bin下,然后是用tar命令解壓;

      b. 添加環(huán)境變量配置,命令如下:

      vi /etc/profile

      在該文件的末尾加上以下內容后保存:

      #JDK  JAVA_HOME=/usr/bin/jdk1.8.0_151  JRE_HOME=/usr/bin/jdk1.8.0_151/jre  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  PATH=$JAVA_HOME/bin:$PATH

      c. 更新生效,并測試,命令如下:

      source  /etc/profile       jave -version

      如果返回了java的版本信息,即設置成功。

      2. 安裝MySQL 5.7.20,操作如下:

      yum update  yum install -y mysql-server mysql-client

      在安裝過程中,會要求設置root密碼,設置的密碼為:mysql

      安裝完成后,使用root用戶登錄MySQL數(shù)據(jù)庫,登陸成功即安裝成功,命令為:

      mysql -u root -p

      3.3.2. 新建用戶

      一般情況下,開發(fā)者不能直接使用root用戶來管理和使用系統(tǒng),最好通過一個專有用戶來進行操作,因此我們新建一個用戶qube,具體命令為:

      adduser qube

      本鏡像中,qube用戶的密碼設置為admin

      如果需要給qube用戶sudu權限,可修改/etc/sudoers文件,具體操作如下:

       vi /etc/sudoers

      修改文件內容如下:

      # User privilege specification  root    ALL=(ALL:ALL) ALL  qube    ALL=(ALL:ALL) ALL

      保存退出,qube用戶就擁有了sudo權限

      添加好此用戶后,我們就使用該用戶登錄并完成后續(xù)的操作。

      3.3.3. 安裝SVN服務端

      1. 安裝SVN服務端

       yum install subversion 

      2. 配置SVN服務端

      mkdir -p /opt/svn/repos  svnadmin create /opt/svn/repos 

      接下來,進行身份認證、權限等相關配置。配置文件都在/opt/svn/repos/目錄下,我們主要關心的是conf和db文件,conf文件夾下是存放主配置文件和用戶、權限位置,db文件夾是存放svn轉儲后的數(shù)據(jù)、在conf目錄下authz文件是設置用戶權限,passwd文件是存儲用戶及密碼,svnserve.conf是主配置文件,先配置主配置文件:

      vim svnserve.conf

      anon-access = none     /**匿名用戶不可讀不可寫**/  auth-access = write    /**授權用戶可寫**/  password-db = passwd   /**指定賬號密碼配置文件**/  authz-db = authz      /**指定權限配置文件**/  realm = /opt/svn/repos   /**指定版本庫所在目錄**/

      再配置passwd文件:

      vim passwd
      #格式是用戶名=密碼,采用明文密碼。這里設置了一個用戶admin,密碼為admin

      [users]     admin = admin

      最后配置authz文件

      vim authz
      #增加以下信息,admin擁有根目錄所有權限

      [/]  admin = rw

      3. 啟動服務

      輸入命令:

      svnserve -d -r /opt/svn/repos

      4. 驗證

      輸入命令:

      netstat -antp |grep svnserve 

      出現(xiàn)以下信息,即正常:

      tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 28967/svnserve 

      3.3.4. 安裝SonarqubeSonar-scanner

      1. 下載SonarQube和Sonar-scanner

      可從以下信息得到下載:

      點擊這個http://www.linuxidc.com/Linux/2013-12/93755.htm 鏈接關注 Linux公社官方微信關注后回復數(shù)字157962。即可得到網(wǎng)友的分享密碼。

      如果取消關注Linux公社公眾號,即使再次關注,也將無法提供本服務!

      鏈接:https://pan.baidu.com/s/13Xq93FJ0RWFkLre2ILQdlA  密碼:獲得見上面的方法,地址失效請在下面留言。

      ——————————————分割線——————————————

      官網(wǎng)下載如下,要登陸的

      首先,在本機打開網(wǎng)站http://www.sonarqube.org/downloads/,

      找到下載地址:https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.1.zip

      和https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778.zip

      然后下載:

      cd /opt  wget  https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.1.zip wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778.zip

      2. 安裝SonarQube和Sonar-scanner

      安裝比較簡單,直接解壓即可:

      yum install unzip unzip sonarqube-6.7.1.zip unzip sonar-scanner-cli-3.0.3.778.zip

      由于解壓以后文件目錄名稱較長,可以使用mv命令來更改名稱,更改為:

      /opt/sonarqube//opt/sonar-scanner 

      3. 配置環(huán)境變量

      vim /etc/profile

      加入以下內容:

      #SonarQube  export SONAR_HOME=/opt/sonarqube/  export SONAR_RUNNER_HOME=/opt/sonar-scanner/  export PATH=$PATH:$SONAR_RUNNER_HOME/bin

      保存退出vi后,更新:

      .  /etc/profile

      4. 創(chuàng)建數(shù)據(jù)庫sonar

      登陸MySQL

      mysql -u root -p

      創(chuàng)建sonar數(shù)據(jù)庫和用戶(用戶名和密碼都為sonar)

      mysql> CREATE DATABASE sonar DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;  Query OK, 1 row affected (0.00 sec)  mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';  Query OK, 0 rows affected (0.10 sec)

      mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';  Query OK, 0 rows affected, 1 warning (0.00 sec)  mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';  Query OK, 0 rows affected, 1 warning (0.00 sec)

      mysql> FLUSH PRIVILEGES;  Query OK, 0 rows affected (0.00 sec)  mysql>

      5. 配置sonarqube,修改配置文件sonar.properties

      cd /opt/sonarqube/conf
      vim sonar.properties

      修改內容:

      sonar.jdbc.username=sonar     數(shù)據(jù)庫用戶名  sonar.jdbc.password=sonar      數(shù)據(jù)庫密碼  sonar.jdbc.url=jdbc:mysql:// localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false  sonar.web.port=9000 

      6. 配置sonar-scanner,修改配置文件sonar-scanner.properties

      cd /opt/sonar-scanner/conf
      vim sonar-scanner.properties

      修改內容:

      sonar.host.url=http://localhost:9000  sonar.jdbc.username=sonar  sonar.jdbc.password=sonar  sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

      7. 運行sonarqube

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號