什麼是DevOps?

DevOps(Development和Operations的組合詞)是一組過程、方法與系統的統稱,用於促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。

它是一種重視“軟件開發人員(Dev)”和“IT運維技術人員(Ops)”之間溝通合作的文化、運動或慣例。透過自動化“軟件交付”和“架構變更”的流程,來使得構建、測試、發佈軟件能夠更加地快捷、頻繁和可靠。

爲什麼需要引入自動化代碼掃描?

目前,安全防護只是特定團隊的責任,一般是在開發的最後階段纔會介入。當開發週期長達數月、甚至數年時,這樣做沒什麼問題;但是隨着現在項目迭代週期的加快,這種做法已經行不通了。採用 DevOps 可以有效推進快速頻繁的開發週期(有時全程只有數週或數天),但是過時的安全措施則可能會拖累整個流程,即使最高效的 DevOps 計劃也可能會放慢速度。

如何引入代碼自動化掃描平臺?

DevOps流程圖分爲計劃、編碼、構建、測試、發佈、部署、運營、監控階段,具體實現是在項目測試到部署階段引入代碼自動化掃描。

以下使用Jekins+git+mysql+sonarqube爲例實現全自動代碼掃描。

Jenkins安裝

1.官網下載jenkins.war安裝包

2.通過命令方式啓動:java -jar jenkins.war --httpPort=9090

3.啓動完成後記錄生成的密碼

4.訪問http://localhost:8080/,進行插件安裝

5.啓動頁面

mysql安裝

首先官網下載相應版本,然後解壓到相應目錄下,首先path添加mysql的bin目錄

對mysql進行配置初始化,路徑端口如需更改需自行調整

CMD控制檯(管理員)進入bin目錄,進行初始化mysqld --initialize --user=mysql --console,成功後記錄下控制檯輸出的初始密碼Q(6aH.?.wiqo(後續可修改),用來登錄

CMD控制檯(管理員)進入bin目錄,安裝mysqld –install

啓動服務net start mysql

連接mysql數據庫,並且建立sonar的數據庫和用戶

<code>CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;</code><code>CREATE USER "sonar" IDENTIFIED BY "password";</code><code>GRANT ALL ON sonar.* TO "sonar"@"%" IDENTIFIED BY "password";</code><code>GRANT ALL ON sonar.* TO "sonar"@"localhost" IDENTIFIED BY "password";</code><code>FLUSHPRIVILEGES;</code>

sonarqube安裝

修改sonar配置,\conf下sonar.properties中MySQL中配置,用戶名和密碼需要與設置保持一致

<code>sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false</code><code> sonar.jdbc.username=root</code><code> sonar.jdbc.password=sonar123</code><code> sonar.sorceEncoding=UTF-8</code><code> sonar.login=sonar</code><code> sonar.password=sonar</code>

進入sonar目錄E:\sonarqube-7.6\bin\windows-x86-64,通過StartSonar.bat初始化並啓動sonar,完成後訪問http://localhost:9000/,初始密碼admin/admin

啓動後的sonar頁面

持續集成

上面我們安裝好了mysql、jenkins、sonarQube,現在進行持續集成

1.jenkins配置jdk和SonarQube Scanner

在sonar中生成令牌

2.新建item,並進行配置(本例中使用得是github上的代碼庫)

3.構建配置

4.點擊構建可以看到構建正在進行

5.控制檯可以看到詳細信息

6.運行成功後可以在sonar上看到掃描結果

到此全部結束,這樣在項目部署到環境上進行測試時,就可以同步檢測代碼相關漏洞情況。

杜元飛,從業7年,註冊信息安全專業人員,對代碼審計、滲透測試有豐富經驗。 作者郵箱:[email protected],歡迎大家提出寶貴的建議!

聲明:本文來自網安前哨,版權歸作者所有。文章內容僅代表作者獨立觀點,不代表安全內參立場,轉載目的在於傳遞更多信息。如有侵權,請聯繫 [email protected]

相關文章