本文將介紹主機型入侵偵測系統sagan,它將善用即時監控系統主機上的syslog資訊,並且比對是否內有符合的惡意樣式,倘若結果符合,就立即阻擋惡意來源,或是寄發電子郵件通知管理者。
表4 sagan.conf組態檔主要組態說明
在說明主要的組態內容後,接下來講解sagan程式所使用的規則檔案樣式(以下稱為rules),sagan程式所使用的rules設定樣式極度相似於snort(網路型入侵偵測系統),如圖2所示即為一實際設定樣式,而相關規則描述如表5所示。
|
▲圖2 rules設定樣式。 |
表5 規則描述
圖2中所舉的範例主要是偵測是否有SSH的暴力攻擊事件,其設定的門檻值為在5分鐘(seconds 300)內,如果發生超過5次的SSH登入失敗,即判定為暴力攻擊事件。
可自行撰寫符合本身環境的rules,也可至sagan官方網站取得官方的rules,本文中以使用官方rules為例。
下載完成後,將相關的rules置於「/usr/local/etc/sagan-rules/」目錄下即可。接下來的動作是建立一個FIFO的裝置,以及與rsyslog建立一個通道,來取得相關的syslog資訊,相關指令如下(其中#為注釋):
然後,在rsyslog主要組態檔「rsyslog.conf」內加上以下的設定:
接下來再重啟rsyslog服務,然後以「cat /var/run/sagan.fifo」指令查看sagan. fifo裝置檔案,如果一切正常,應可看到關於syslog相關的資訊。
在確認sagan.fifo已經正常運作之後,就可以設定sagan.conf並且啟動sagan程式。設定sagan.conf很簡單,僅須更改sagan軟體所附組態範例檔中的「sagan_host」選項,將其改成所在主機的IP位置資訊,而其餘使用預設即可,並且使用以下的指令格式:
至此,讀者可以利用SSH登入方式,故意輸入錯誤的帳號和密碼(製造SSH暴力攻擊的假象),如果輸入的錯誤次數達到所設定的門檻值,那麼在「/var/log/sagan/alert」檔案內將會記錄如圖3所示的資訊。
|
▲圖3 相關提示訊息。 |
往後,只要定時地查看「/var/log/sagan/alert」檔案內容,即可獲知目前主機被攻擊的情況。至此,sagan系統即已完成!
<本文作者:吳惠麟,多年資安經驗,喜好利用開源碼建構相關解決方案,著有「資訊安全原理與實驗」等書。>