Hero Image
[Security] 利用免費開源資安檢測軟體 SonarQube 檢測 .NET Core 程式碼

弱點掃描時常使用 owasp top 10 作為報告, 然而 owasp 軟體一年要價不菲,委外掃一次也是非常貴, 使用免費的 SonarQube 將弱點掃描整合到 CI/CD 階段, 要交付前再花錢委外掃一次似乎是個折衷的作法,避免一次檢測出來的弱點過多改動過大。 SonarQube 分為兩個部分 SonarQube Server、Scanner (Client 端程式)。 Scanner 負責進行掃描並將結果上傳 Server, 而 Server 作為負責處理和儲存分析報告的 compute engine 會分析上傳的結果, 並提供 Web 使用者介面、搜尋功能,因此分析完成後就可以直接在 Web 上查看報告, Scanner 除了能夠在 locale 端使用,還能直接整合到 CI/CD Server 上進行程式碼品質掃描。 雖說可以拿 localhost 直接作為 Server 使用, 這裡還是紀錄如何在虛擬機器上實際安裝 SonarQube, 以後在實際機器上安裝就可以作為參考, 準備 Linux Server 硬體 個人使用或小規模的團隊在一台機器上安裝就足夠使用了, 如果需要架設提供大量服務的伺服器,官網也提供 Cluster 的安裝方式方便做 Loading Balance。 這裡紀錄在一台 Ubuntu 20.04 上架設。 關於 Linux 安裝過程在這裡不加贅述, 官方提到硬體有幾個注意事項,對現代的硬體來說其實都還好,比較要注意的是硬碟空間: RAM 至少要 2G;free RAM 至少要 1G (所以用 Windows server 就要準備大很多喔)。 上傳報告需要一定的空間,因次對硬碟的空間與效能有一定的要求,不夠的話容易太慢。 server side 不支援 32-bit 作業系統;但 Scanner 可以支援 32-bit systems。 安裝 OpenJDK 11 sudo apt update sudo apt upgrade sudo apt install openjdk-11-jdk # 確認 java 版本 java --version 然後在 .