本文將介紹主機型入侵偵測系統sagan,它將善用即時監控系統主機上的syslog資訊,並且比對是否內有符合的惡意樣式,倘若結果符合,就立即阻擋惡意來源,或是寄發電子郵件通知管理者。
在一般企業中,除了設置防火牆設備來阻擋直接的惡意攻擊外,通常也會部署所謂的入侵偵測系統(IDS)來監控進入網路的相關連線,並且在發現符合樣式的惡意行為後加以記錄並發出警訊,有些設備更可以在發現惡意的連線後,直接中斷相關的連線,此即所謂的IPS。
但是,一般所部署的入侵偵測系統(在開源碼社群中最有名的即為snort)通常為網路型的入侵偵測系統,此種設備通常是架設在網路的閘道(Gateway)上,對所有來往的網路封包進行比對,再從中比對是否有符合的惡意樣式,此種方式的優點在於可監控的範圍最大(幾乎可監控整個網域),但其最大的缺點是誤判率也相當高。
如果以現實生活來比喻,網路型的入侵偵測系統就像是架設在街道上的監視器,監控街道上來往的行人。
假設定義一種惡意樣式「手上拿刀的人,均是惡意的」,那在街道上手上拿刀的人就會被判別為惡意,但在現實上,手上拿刀的人也許有其背後的理由,不完全是有惡意動機。引申至網路型的入侵偵測系統,其最為人所詬病的,即是經常將某些正常軟體的行為誤判為惡意的,也因此主機型入侵偵測系統的概念應運而生。
主機型入侵偵測系統是架構在個別主機上,所以其優缺點恰巧與網路型的入侵偵測系統相反,其監控範圍僅限於個別主機,但準確率相當高。
以上面的例子來說,假設將個別主機比喻成住家,主機型入侵偵測系統只有在「手上拿刀的人,而且來敲你家的門,甚至未經你的允許就進入到家裡」才會判別為惡意的行為,如此一來,其判別的準確率相當高。
對此,本文將介紹一套主機型入侵偵測系統(名稱為sagan),它主要的功能在於利用即時監控系統主機上的syslog資訊,並比對是否有符合的惡意樣式。
表1 實作所需軟體套件
如果結果符合,即可採取管理者所設定的相關指令,例如設定記錄相關資訊、阻擋惡意來源或是寄發電子郵件通知管理者等動作,而本文所使用的軟體套件如表1所示。
syslog說明
syslog又被稱為系統日誌,這是一種定義在網際網路協定(TCP/IP)上傳遞紀錄檔(Log)訊息的標準。syslog協定是一種主從式的架構(稱為客戶端-伺服器端),syslog客戶端利用傳送出一個小的文字訊息到syslog伺服器端進行記錄。syslog系統日誌訊息可以利用UDP通訊協定或TCP通訊協定來傳送。
基本上,如果沒有做任何的額外處理,相關系統日誌資料是以明碼型態傳送。syslog的所定義的標準格式如下所示:
以上標準格式定義共分為四個欄位:
‧記錄事件發生時的日期與時間
‧記錄發生此事件的主機名稱(如上述的Spampc)
‧記錄啟動此事件的服務名稱(如上述的sshd)
‧記錄訊息的實際資料內容
syslog是以Facility與Level來定義事件的種類及嚴重等級,其中Facility指的是那些種類的事件,通常是以服務來區分,如FTP、Mail等類型事件,而事件類型區分如表2所示。
表2 事件類型區分
Level則是用來描述事件嚴重的程度,可區分成如表3所示嚴重級別。
表3 Level的嚴重級別(嚴重程度由低至高)