利用主機入侵偵測提高Hadoop安全性-2

正如我們在前面文章所提到的,我們可以利用OSSEC來偵測現有Hadoop和HBase系統檔案的完整性。OSSEC會產生紀錄,讓系統管理員用以檢查各種系統事件。

big data5

值得注意的是,各種巨量資料系統(Big Data System),不只是Hadoop和HBase,都會產生驚人數量的記錄資料。至少可以說,要安裝一個巨量資料叢集並不簡單,這些日誌對於幫助IT人員建立叢集和診斷系統問題上發揮至關重要的作用。巨量資料系統管理員實際上已經習慣於透過檢查日誌檔來找到潛在問題。

OSSEC可以監控的重要Hadoop安全事件有:

  • HDFS作業失敗
  • HBase登錄
  • Kerberos票證授予
  • Root登入節點

設定OSSEC代理程式來監控一個或多個Hadoop日誌檔,需要將日誌檔案目錄路徑加入代理程式的ossec.conf檔案。對於HDFS NameNode,我們希望監控hadoop-hdfs-namenode-{host}.log檔,{host}是NameNode名稱或IP地址。這檔案通常位在/var/log/hadoop-hdfs/目錄。同樣地,對於HMASTER節點,我們會想要監控/var/log/hbase目錄下的hbase-hbase-master-{host}.log。這樣就可以從OSSEC代理程式取得我們Hadoop和HBase的日誌檔案到伺服器上。

下一步就是撰寫解碼規則來解析日誌,還有警報規則來根據日誌內容生成警報。解碼器用正規表示法組成,讓OSSEC伺服器用來找到感興趣的內容,以及將文字對應到伺服器所能辨認的標準欄位。規則讓伺服器可以檢驗解碼後的欄位來找到指示重要安全事件的內容。當一個給定規則找到來自某一解碼器的事件資料,伺服器會生成一個由規則定義的警報。

視覺化Hadoop的安全事件

 

視覺化OSSEC安全警報最簡單的方法是不斷地顯示警報日誌檔。雖然這也行,但它就像是在看表格內的原始資料。很難或幾近不可能去從資料中找出趨勢。

OSSEC可以透過syslog來發送警報資料給任何安全資訊和事件管理程式(SIEM),提供syslog相容性。我們喜歡用的一個SIEM是Splunk,和一個開放原始碼應用程式稱Splunk for OSSEC。這可以直接從Splunk的應用程式主控台來安裝到OSSEC伺服器上。

Splunk for OSSEC是設計用來取得OSSEC警報,然後歸納總結跟進行趨勢分析。下面顯示的是Splunk上OSSEC儀表板的例子。你可以在這裡看到事件隨著時間推移的摘要,包括之前所討論到的HBase和HDFS事件。

 

 圖二、Splunk for OPSSEC

(圖片來自http://vichargrave.com/securing-hadoop-with-ossec/

  Continue reading “利用主機入侵偵測提高Hadoop安全性-2”

透過主機入侵偵測來提高Hadoop安全性-1

多年來,Hadoop開發社群逐步地增加 Hadoop 和HBase 的功能,以提高運作的安全性。這些功能包括Kerberos使用者身份驗證,加密叢集節點間的資料傳輸,和HDFS檔案加密。趨勢科技在Hadoop的公開生態系內貢獻了數個安全性功能(參考我們之前的文章保護巨量資料和Hadoop以了解更多詳情)。

big data1

雖然這些安全功能都很重要,但它們主要集中在保護Hadoop資料。並沒有讓IT人員擁有他們Hadoop叢集內安全事件的能見度。這裡就是一個良好的主機入侵偵測系統可以發揮的地方。我們一直致力於運用OSSEC,我們的開放原始碼主機入侵偵測系統(HIDS)來提供巨量資料的安全性,為Hadoop和HBase系統加入安全監控能力。在這篇文章裡,我們會解析OSSEC的功能。

OSSEC概述

OSSEC提供許多重要的安全功能,包括文件完整性檢查、系統日誌分析和警報生成。OSSEC具備一個代理/伺服器架構。代理程式處理日誌、檔案和(Windows系統上)註冊碼的監控,然後用UDP將相關日誌以加密的形式送回伺服器。代理程式系統上的入侵通常可以透過檔案變動或是安全事件記錄而加以偵測。

圖一、用OSSEC保護Hadoop安全

(圖片來自http://vichargrave.com/securing-hadoop-with-ossec/

 

在伺服器上,日誌透過解碼器加以解析,並用內建規則加以解譯以產生安全警報。OSSEC內建了大量的解碼器和規則,可以支援廣泛種類的系統和事件。OSSEC的覆蓋率也可以透過自行定義的日誌解碼器及安全警報規則來加以擴展。

 

Hadoop的檔案完整性檢查

Hadoop和HBase系統依賴大量的設定檔案和Java檔案才能正常運作。任何對這些檔案未經授權的變更都會對叢集產生不好的影響。對Hadoop系統內的HDFS Namenode和HBase系統內的HMASTER節點尤其如此。前者控制HDFS的運作,後者則涉及HMASTER和地區伺服器間的I/O。

OSSEC可以偵測這些重要Hadoop檔案的變動。當OSSEC代理程式啟動時,它會遞迴地掃描使用者指定的目錄,計算每一個檔案的MD5和SHA1雜湊值。檔案名稱和雜湊值儲存在OSSEC伺服器的資料庫內。代理程式會根據使用者指定的時間間隔(通常每隔幾個小時)來重複此作業。當伺服器收到某一給定檔案的雜湊值和之前所儲存的不同,伺服器會生成一個安全警報。OSSEC伺服器會在自己的警報日誌檔中記錄每個安全警報。 Continue reading “透過主機入侵偵測來提高Hadoop安全性-1”