系統(tǒng)漏洞管理是SOC安全運營非常重要的環(huán)節(jié),通常SOC團隊需要定期對公司內(nèi)部服務(wù)器進行漏洞掃描,以確定和評估內(nèi)部系統(tǒng)是否存在系統(tǒng)漏洞和不合規(guī)配置,通過漏洞掃描來進行安全風(fēng)險檢查是一種非常常用的手段。業(yè)界比較有名的商用漏掃工具有Nessus和Nexpose等,而漏洞掃描的結(jié)果對于后續(xù)的風(fēng)險評估和整改有非常重要的意義,正確合理的做法是由IT人員對相關(guān)風(fēng)險進行跟蹤閉環(huán),本文簡要介紹一下使用Splunk集成Nessus進行系統(tǒng)漏洞集中跟蹤管理的方法。
0x01 準(zhǔn)備條件
- Splunk Enterprise平臺
- Nessus 漏洞掃描平臺
0x02 安裝Splunk插件
到Splunk官網(wǎng)免費下載插件Splunk Add-on for Tenable,完成以后到你的Splunk WEB UI進行安裝。

根據(jù)提示重新過后,在Splunk WEB UI首頁會看到多出一個app圖標(biāo):

進入到這個app進行Nessus基本設(shè)置,點擊“Create New Input”,有兩個選項Security Center 和 Nessus,因為我的環(huán)境是單點的Nessus服務(wù)器,所以這里我們選擇后者。

Nessus Metrics 下面有兩個選項:
- Nessus Plugins 收集Nessus內(nèi)部已經(jīng)安裝的各種掃描插件和CVE信息
-
Nessus Host Scans 收集每次掃描的結(jié)果信息
Access Key和Secret Key要從Nessus的管理界面上獲取
生成Key
這里每個用戶每次生成的Key都是不一樣的,所以要妥善保存生成的Key,否則就要重新生成再配置了
配置好以后點擊“add”即可完成配置
0x03 證書問題
根據(jù)官方文檔的介紹,到這里理論上就應(yīng)該可以搜索到數(shù)據(jù)了,然而并非如此,因為大部分人在部署Nessus的時候使用的證書都是自簽發(fā)的,Splunk在訪問Nessus的時候會因為證書校驗失敗而停止數(shù)據(jù)訪問,結(jié)果就是我們什么也搜不到。定位這個問題可以從Splunk的內(nèi)部日志看到一些報錯:
index=_internal sourcetype=ta:nessus:log error
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verification failed. The certificate validation is enabled for Nessus. You may need to check the certificate and refer to the documentation and add it to the trust list.

這時候有兩個種做法,一種是將Nessus的證書導(dǎo)出并加入到Splunk的信任證書庫里,但是這種方式筆者一直沒成功。另一種做法就是關(guān)閉Splunk對證書的校驗:
vi /opt/splunk/etc/apps/Splunk_TA_nessus/local/inputs.conf
在每一段input配置后面加一段disable_ssl_certificate_validation = true 如下文所示:
[nessus://scan]
access_key = ********
batch_size = 100000
interval = 60
metric = nessus_scan
secret_key = ********
start_date = 1999/01/01
url = https://<Splunk-ip>:<port>
disabled = 0
disable_ssl_certificate_validation = true
[nessus://plugin]
access_key = ********
batch_size = 100000
interval = 43200
metric = nessus_plugin
secret_key = ********
start_date = 1999/01/01
url = https://<Splunk-ip>:<port>
disabled = 0
disable_ssl_certificate_validation = true
加完以后重啟Splunk即可。

這里我們可以隨意對掃描結(jié)果以及插件CVE的信息進行組合搜索,跟蹤,甚至安全建模,或者也可以配置可視化報表進行跟蹤。
0x03 預(yù)定義報表
Splunk 官方提供了幾個對plugin的預(yù)定義報表,可以在Saved Search里面找到,同時還有幾個預(yù)定于的面板,這里簡單介紹一下:
Setting -> User Interface -> Prebuilt panels 可以找到預(yù)定的面板
Nessus Map - Destination IP by Severity
將漏掃的結(jié)果數(shù)據(jù)根據(jù)目的IP顯示在地圖上

Nessus Pie Chart – Severity
根據(jù)漏洞的風(fēng)險等級分類統(tǒng)計

Nessus Graph – Severity Count over Time
根據(jù)掃描結(jié)果的風(fēng)險等級以時間維度進行展示

結(jié)論
通過集成漏掃的結(jié)果,SOC團隊除了對風(fēng)險進行跟蹤閉環(huán),還可以通過定時掃描并配置對結(jié)果數(shù)據(jù)的監(jiān)控實現(xiàn)實時監(jiān)控漏洞風(fēng)險,再多的我就不說了。。。
