在前面的眾多文章當中,我介紹了許多能夠在各種資安方面進行協助開源軟體,這些軟體都是非常優秀的套件,可以解決許多實際上遇到的問題。
不過,有些工具分別負責不同的功能,例如 OpenVAS 負責弱點檢測、Lynis 負責安全稽核、Graylog 負責記錄收集...等,那麼有沒有一種系統,可以幫我們自動化分析問題所在且集中查看呢?
方案介紹
在開源的世界裡從不缺方案,只看是否願意踩坑看看。有一套成名已久的套件,由已經被 AT&T 併購的 AlienVault 公司所開發,名為 OSSIM,它同時也俱備有商業版本可以選用。
作為一個開源的 SIEM (Security information and event management) 系統,OSSIM 能夠提供許多實用的功能:
- 全 Web 化操作
- 監看系統事件記錄
- 惡意程式檢測
- 系統弱點檢測
- 主機上線檢測
- 攻擊行為檢測
- 發送警報機制
- 提供 HTML、PDF、XLSX 報表產出
- 代理程式 Agent 支援 Windows、Unix/Linux
- 繁體中文介面支援 (非全部)
OSSIM 能夠達成的功能其實還有很多,對我來說能夠自動化檢測出已知的問題及匯整為警報,就足以讓 IT 管理者省下大量的時間。
Open Threat Exchange
AlienVault 建立了一個名為 OTX (Open Threat Exchange) 的平台,在這個開放的平台上面有來自 140個國家/地區、擁有超過八萬多以上的參與者,並且每天共享超過一千九百萬種的潛在威脅。經由這些資訊讓 OSSIM 能夠具有不斷更新的檢測能力。
安裝方式
OSSIM 整了許多開源套件而成,例如 OpenVAS、Nagios... 等等,不過它將整個系統與應用程式重新打包成一個 ISO 檔形式的安裝程序,只要以 ISO 檔開機進行對話式的流程,即可快速完成安裝。
安裝 OSSIM Server
請先至官網下載 OSSIM 安裝 ISO 檔,並以 ISO 檔開機後,即可開始進行安裝。
安裝程序開機選單
依據畫面引導持續的下一步安裝,例如語言 (他有內建繁體中文)、網路、帳密,即可完成,非常容易又快速。
登入畫面
安裝完成以後,請以瀏覽器開啟 https://ip ,即可來到登入介面,真是簡單的過份。
主要功能
第一次登入成功後,會啟動引導程序協助完成所需的工作項目,在當中的第二項 [ASSET DISCOVERY] 步驟裡,可以利用 [SCAN NETWORKS] 功能一次把所有要監測的主機掃描加入,以便於接下來要部署 Agent 代理程式的方便性。
引導程序
在第三項 [DEPLOY HIDS] 步驟裡,可以指定帳號密碼之後,右邊勾選要部署的目標裝置,OSSIM 即會自動將代理程式安裝至這些裝置上去。
部署代理程式
在引導程序中,第四項 [LOG MANAGEMENT],可以依據 OSSIM 所掃描到有支援的網路裝置型號予以設定。而第五項 [JOIN OTX] 就是前面所提到相重要的安全資訊平台,請一定要依據畫面上的引導進行註冊與啟用,方能讓 OSSIM 的能力更加強大。
當完成上面的初次引導程序以後,即可來到 OSSIM 主畫面的資訊看板。
資訊看板
在這個畫面上,可以快速的看出各種情況的圖表,提供參考。而這些圖表都可以再點選進去,查看更多詳細的資料清單,並提供了多種篩選條件用以查詢使用。
點選功能按鈕上的 [ANALYSIS] > [ALARMS],可以來到一個綜合的顯示畫面,同時以時間表與清單方式列出相關的警報。
警報
下方清單中的項目還可以點進去查閱細節,裡面會包含相關事件的詳細資訊,例如來源與目標主機、帳號、記錄內容等等。
警報細節
上圖中的第五筆項目,即是被認定為暴力攻擊的事件,總共被嘗試了 10 次的錯誤密碼,點進去可以看到記錄內容與被用來登入的帳號名稱。
如果有將防火牆的記錄檔丟給 OSSIM,它也會依據內容做出記錄與判讀,外部 IP 則以國旗標示。
安全事件
OSSIM 內建了 OpenVAS,因此也能提供弱點掃描的能力,而且使用起來比自己安裝 OpenVAS 的過程容易,操作畫面也容易閱讀。
安全事件
為了能夠取得更多詳細的系統稽核資訊,在裝置上安裝 Agent 是必要的工作。OSSIM 使用了另一款開源套件 OSSEC 的 Agent,而且使用上並不困難,在此以 Windows 與 Linux (Ubuntu 18.04) 做為說明範例。
部署 Windows Agent
在 OSSIM 中有多種部署方式,可以設定管理者帳號密碼,掃網段後直接派送過去,也可以手動將 msi 檔丟進去安裝,不過前者我一直沒有成功,所以我會介紹後者。
請到功能按鈕的 [ENVIRONMENT] > [DETECTION] > [AGENTS],再按下 [ADD AGENT] 按鈕。
Agent 清單
在第一個欄位輸入 IP,即會帶出之前曾經掃描過的裝置,點選後可以再修改想要顯示的 Agent 名稱或 IP,再按下 [Save]。
新增 Agent
於方才剛新增出來的 Agent 項目後方,點選下載安裝程式的按鈕 (如下圖),並於下載完成後將此安裝檔放到要納管的裝置裡面去準備使用。
注意,這裡的安裝檔是下載時自動打包好相關資訊的封裝,請勿再安裝於不同的裝置,以免資訊重疊。
安裝完成以後,可以到開始功能表裡找到 [Manage Agent],並以系統管理員身份執行後打開它,確認運作情況是否正常。
在畫面中的區塊中,如果 Agent 後面有顯示正確的名稱與 IP,且 Status 為 Running,即表示運作正常。
若想要查看進一步的細節,可以點選功能表的 [View] > [View Logs] 進行查閱。
等待一段時間後,就可以在 OSSIM 上面看到 Agent 已經連線上來,開始回傳資訊。
部署 Linux Agent
相較 Windows 有一鍵安裝的簡單安裝程式,Linux 靠的則是一行指令搭配設定修改,其實也不算太複雜。
安裝 OSSEC HIDS Agent
wget -q -O - https://updates.atomicorp.com/installers/atomic | bash apt update apt install ossec-hids-agent
安裝完成以後,需要修改設定檔以指向 OSSIM 伺服器位址。請開啟 /var/ossec/etc/ossec.conf 這個設定檔,找到 <server-ip></server-ip> 這一行,在中間輸入 OSSIM 伺服器的 IP,並存檔離開。
接下來,請到 OSSIM 頁面上,至功能按鈕的 [ENVIRONMENT] > [DETECTION] > [AGENTS],再按下 [ADD AGENT] 按鈕,這邊建立的程序相同就不贅述。重點是在建立出來的那一筆項目上,按下取出金鑰的按鈕 (如下圖) 後會顯示在下方,請將他複製起來。
匯出 Agent 金鑰
回到剛才安裝好 Agent 的 Linux 主機上,執行匯入金鑰的作業。
匯入 Agent 金鑰
/var/ossec/bin/manage_agents
執行後依據畫面指示,按下 [I] 再將剛才複製起來的金鑰貼上即可。最後利用指令將服務設為開機啟動,即可開始回傳資訊。
啟動 Agent 服務
systemctl enable ossec systemctl restart ossec
若想要查看 Agent 的運作狀況,可以查看記錄檔,它位在 /var/ossec/logs/ossec.log 裡。
結論
感謝 OSSIM 的存在,讓我們艱困的 IT 工程師們可以有一個整合式的方案,幫我們完成許多資訊的判讀與處理,從而將寶貴的工作時間運用在許多更重要的項目上,而不用被許多瑣碎小繁複的工作程序給綁住。
有人說:「浪費別人的時間是謀財害命,浪費自己的時間是慢性自殺。」
正是如此。
又所謂:「磨刀不誤砍柴工。」
說的真好。
所以,在經費不足的情況下,更要選擇可以幫助我們快完成工作並節省時間的開源套件,以免讓自己的生命消逝於沒有意義的事務上。
參考資料
- OSSIM: The Open Source SIEM | AlienVault
https://www.alienvault.com/products/ossim
- OSSIM ISO Download
https://www.alienvault.com/products/ossim/download