https://vuls.io/
一. 安裝
系統管理員有責任定期去檢查系統的弱點和更新軟體, vuls 可以提供如下功能:
- 通知管理員機器有安全隱患
- 支援本地和遠端掃描(需要有 ssh 許可權)
- 可以定期去同步最新的安全資料庫
參照官方說明在 centos 安裝就可以了, 這個軟體是 golang 寫的所以先安裝 golang
https://vuls.io/docs/en/install-manually-centos.html
為了使我們編譯的程式可以不依賴具體的系統庫檔案,我們使用靜態編譯,這樣就能在 centos6和 centos7執行了
GOOS=linux GOARCH=amd64 go build -a -ldflags '-linkmode external -extldflags -static' -o vuls GOOS=linux GOARCH=amd64 go build -a -ldflags '-linkmode external -extldflags -static' -o go-cve-dictionary GOOS=linux GOARCH=amd64 go build -a -ldflags '-linkmode external -extldflags -static' -o goval-dictionary
vulsrepo 是一個 web ui 用來更清楚的展示掃描的結果,推薦使用 https://vuls.io/docs/en/vulsrepo.html
二. 使用
go-cve-dictionary和goval-dictionary 這兩個程式是下載 cve 和 oval 漏洞庫用的
在安裝 vulsrepo 的文件中有個配置 如下
$ vi vulsrepo-config.toml [Server] rootPath = "/home/vuls-user/vulsrepo" resultsPath = "/opt/vuls/results" 你需要把你掃描的結果放到這個目錄下,方便起見我們直接去這個目錄掃描,把那兩個資料庫也下載到這個位置 serverPort = "5111"
開始下載資料庫
cd /opt/vuls/results for i in `seq 2002 $(date +"%Y")`; do go-cve-dictionary fetchnvd -years $i; done goval-dictionary fetch-redhat 7 #如果系統是6 這裡改成6
開始掃描
vuls scan
vuls report -format-json
掃描完以後的目錄結構如下
[root@kube-node-01 report]# tree . -L 2 . ├── config.toml ├── cve.sqlite3 ├── cve.sqlite3-shm ├── cve.sqlite3-wal ├── oval.sqlite3 └── results ├── 2018-06-07T17:30:03+08:00 └── 2018-06-08T12:03:05+08:00 [root@kube-node-01 report]# pwd /data/app/vulsrepo/report
這時候開啟瀏覽器 http://your_ip:5111