2015-10-19

Splunk 6.1.3 如何關閉 SSLv3

從 Splunk 4 用到 Splunk 6.1.3

其實,就以 log server 來說,只要該軟體能做到查詢快,可自製 template 和可分類…也沒有一定要用 splunk …話說最近有測 nreporter

因為去年的 SSL 風波很大條,所以大部份有帶 web service 的東西現在都會被很注意 ssl 加密的版本…目前一般資安等級會要求要將 sslv2, sslv3 停用,至少使用到 TLSv1 但最好是用到 TLSv1.1 或 TLSv1.2

目前瀏覽器 chrome 好像會將 TLSv1.2 視為「預設」,只要你的網站有支援,它就不會使用低版本的。

各大資安弱掃的也會將你的網站支援 ssl 加密的版本當作掃描條件。

splunk 因為本身會自帶 web 服務 (預設好像是 8000 port) ,還有 host listener (預設好像是 8089 port) ,也因為如此,這一次資安弱掃有掃到 8000 和 8089 有支援 sslv2, sslv3 ,建議要將這兩個版本給關閉…因為 ssl 漏洞的資安等級不小,以單位定義的則測是「中」以上的等級就要修補…所以就開始翻資料。

資料參考1:How to disable SSL protocol in Splunk to mitigate poodle vulnerability
資料參考2:splunk 6.1.3 官方文件說明庫 - web.conf
資料參考3:splunk 6.1.3 官方文件說明庫 - server.conf



web.conf 與 server.conf 主要是在控制 web 服務與 host listener 的設定,依文件來看,這兩個檔案的設定大至上差不多…一般建議是先使用預設值 ( 路徑在 [splunk-home]/etc/system/default/ ) ,然後再針對特定再設定,特定的設定我們會在 [splunk-home]/etc/system/local/ 下再建立同名檔案。

參考1 是使用 6.2 以上的設定方式,如下
[sslConfig]
sslVersions = *, -ssl2, -ssl3
cipherSuite = TLSV1.2:!eNULL:!aNULL
但如果是要 6.1.3 以前的,可以使用如下設定:(註,以前我不確定到多久以前…但我確定 4 是沒有)
[settings]
supportSSLV3Only = false
cipherSuite = ALL:!SSLv3:!SSLv2:!eNULL:!aNULL
以我找到的資料,應該在 6.1 就加入了 TLSV1.2 的支援了,參考 1 的設定,就是要求不啟用 sslv2, sslv3 ,等於只啟用 TLS 系列,然後在 ciphersuite 只啟用 TLSV1.2 類 (ssl, sslv2, sslv3 tlsv1.1, tlsv1.2 我都稱"類") 的,每一類都會有「不安全」的 cipher ,所以再加上取消 eNULL 和 aNULL (代表的意思可以去 openssl - cipher 看看) …

但在 6.1.3 以前,還沒有將 sslConfig 特規設定,但已經預設將 sslv2 取消了 (應該是預設啦,因為我還沒改之前在測 openssl 連接時, sslv2 是直接無回應),而且其實上應該也是預設不啟用 sslv3 (請看文檔說明, supportSSLV3Only  預設值就是 false ),但 cipherSuite 還是都有包進來 (請看文檔說明, cipherSuite 在沒有特別設定時,是使用 openssl 所定義 default 的 cipher 應該就是 「ALL:!COMPLEMENTOFDEFAULT:!eNULL」) …所以就要特別告知要將 SSLv3, SSLv2 的都不要載入。

此外,在 web.conf 的官方文件中有一個「trustedIP」可以設定 web 服務只開放給這邊定義的 ip 來使用,多個 ip 可以用逗號分隔開…我個人覺得雖然 ssl 的設定重要,但重要的服務直接設定可使用的對象 ip 應該更重要。

據說 ssl 加密的問題會在 6.1.4 更新,但官方文檔並沒有放 6.1.4 的,所以 6.1.4 很有可能只是 hot fix。

沒有留言: