內部網路若遭到惡意入侵,企業將蒙受難以估計的損失,所以即時偵測及早防制就變得非常重要。其實只要使用開源碼程式Sagan搭配NetFlow通訊協定,就可以使Sagan兼具網路型和主機型入侵偵測系統的功能,這樣一來管理者便能夠隨時判讀網路現狀,防堵惡意入侵。
隨著網路威脅事件的日益猖獗,有越來越多的企業會在自家的系統上部署入侵偵測系統(Intrusion Prevention System,IDS)來及早發現潛在的資安問題。入侵偵測系統依其偵測型式可區分為網路型入侵偵測系統(Network Intrusion Prevention System,NIDS)及主機型入侵偵測系統(Host Intrusion Prevention System,HIDS),在應用上各有其優缺點。
但是能否僅部署一套入侵偵測系統即可同時具有網路型及主機型入侵偵測系統的功能呢?答案是肯定的。本文將說明如何利用開源碼社群頗富盛名的主機型入侵偵測系統Sagan搭配NetFlow通訊協定,讓Sagan同時擁有網路型入侵偵測系統(NIDS)及主機型入侵偵測系統(HIDS)的功能,所使用的軟體套件如表1所示。
表1 實作所需軟體套件
什麼是NetFlow
NetFlow是一種網路流量統計網路通訊協定(Protocol),主要的目的在於收集進入及離開網路介面的IP封包之數量及相關資訊(利用取樣的方式擷取)。管理者可藉由分析NetFlow的資訊來得知相關封包的來源、目的地及網路服務種類等資訊,進而得知目前網路的狀況,甚至可推斷出造成網路壅塞的原因。
NetFlow網路協定最早是由Cisco所提出,主要應用在路由器及交換器等網路產品,由於其開放便利的特性,時至今日,大部分網路產品均會內建支援NetFlow網路協定。隨著時代的演進,NetFlow也隨之發展出幾種版本(如V5、V7、V8、V9),目前V5版本為主流,因此本文將僅說明V5版本的NetFlow網路通訊協定。
一個NetFlow的封包可分為標頭(Header)和內容(Body)兩個部分,表2為標頭(Header)資訊的常用的欄位說明意義。而表3是內容(Body)資訊的常用的欄位說明意義。
表2 標頭(Header)資訊的常用欄位說明
表3 內容(Body)資訊的常用欄位說明
簡介Sagan程式
說起入侵偵測系統(Intrusion Prevention System,IDS),相信絕大部分人的腦海裡想到的畫面應該是部署在網路的閘道(Gateway)上,監控著整個網路的入口,並根據所設定的規則(Rule)來比對是否有樣式相符的網路封包,並藉此辨識出惡意的網路行為,此即為一般人對於入侵偵測系統的認知。在入侵偵測系統的分類上,此類系統被劃分為網路型入侵偵測系統(NIDS),在開源碼社群中,此類軟體以Snort(官方網址為https://www.snort.org/)最廣為人知。
除了以監控網路封包來辨識惡意的網路行為外,另外一種方式即是依附在主機上,監控主機內的系統資源(例如CPU、記憶體或網路連線的狀態等)是否有異常現象的情況,以判別主機是否有遭受到入侵的可能性,此類型的入侵偵測系統即稱為主機型入侵偵測系統(HIDS)。主機型入侵偵測系統最大的優勢在於直接依附在主機系統上,因此可即時根據系統的狀態來判別惡意的行為,所以其誤判率會比網路型入侵偵測系統來得低。但其缺點為由於是依附在個別主機上來監控,所以在部署時必須根據個別主機的狀態來分別部署,部署的難度較高且較為煩雜。