摘 要: 分析了防火墻和入侵檢測各自的優缺點,提出了一種防火墻與入侵檢測系統聯動的新方法,并描述了具體實施方案。該方法有效地提升了聯動設備之間的協調性,并具有很好的擴展性。
關鍵詞: 入侵檢測系統;聯動;防火墻;網絡安全
隨著網絡規模的日益擴大和網絡技術的飛速發展,網絡攻擊變得越來越復雜。對網絡的防護不再局限于采用單一的產品與手段,大部分網絡已經使用了各種各樣的安全產品,如防火墻、人侵檢測系統、病毒防護系統和信息審計系統等。它們在一定程度上保障了網絡環境的安全性,但各安全產品之間存在無交流或很淺層次交流的局面,只對網絡形成獨立、被動的防護,沒有從整體和設備聯動的角度去解決網絡安全問題。而網絡安全是一個系統工程,它們的簡單集成和疊加已不能應對越來越復雜的網絡環境和安全威脅。人們已經開始研究不同技術手段的協同與融合。只有將多種安全產品聯合起來,各自發揮自身優點,互相彌補不足,才能最大程度地發揮安全產品的性能,保障網絡運行的安全。
1 防火墻與入侵檢測系統
1.1 防火墻
防火墻指的是一個由軟件和硬件組合而成的高級訪問控制設備,是在被保護網和外網之間執行訪問控制策略的一種或一系列部件的組合,它是現在市場上應用范圍最廣的網絡安全產品之一。作為一種強制執行的訪問控制機制,防火墻是確保網絡安全的重要手段。防火墻能在保證網絡暢通的情況下,盡可能地保證內部網絡的安全。它的主要功能有:訪問控制、內容控制和日志記錄。
根據防范的方式和側重點的不同,可將防火墻分為包過濾型和代理服務型。(1)包過濾技術:防火墻在網絡層中根據數據包中的包頭信息有選擇地實施允許、通過或阻斷操作。其核心是安全策略即過濾規則的設計。策略就是讓包過濾防火墻在轉發數據包之前打開TCP/IP封裝,檢查進出網絡的數據包的各種屬性,決定是否允許該數據包通過防火墻。(2)代理服務技術:代理服務作用在應用層,它用來提供應用層服務的控制,在內部網絡向外部網絡申請服務時起到中間轉接作用。
防火墻本質上是一種訪問控制系統,存在如下缺點:
(1)防火墻提供的是靜態防御,所有規則需預先設置,并需要人工實施和維護,對于實時的攻擊或異常的行為不能做出實時反應。
(2)防火墻規則的制定很大程度上是一種粗粒度的檢測,對一些協議細節無法做到完全解析,不能預防來自應用層的攻擊,也不能預防病毒攻擊。
(3)防火墻具有防外不防內的局限性,對于內部用戶的非法行為或已經滲透的攻擊無法檢測和響應。
1.2 入侵檢測系統
入侵檢測系統(IDS)是一種主動的網絡安全防護技術,它通過網絡不同關鍵點監視網絡數據(網絡數據包、系統日志、用戶活動的狀態行為)以分析入侵行為的可能性。一旦發現入侵,立即告警和記錄日志,并實施安全控制操作,以保證數據的機密性、完整性和可用性。作為網絡安全防護體系的重要組成部分,入侵檢測系統提供了對內部攻擊、外部攻擊和誤操作的實時檢測。它不同于防火墻,采用的是一種動態的安全防護技術,對通信流量不做任何限制。
IDS從數據來源上可以分成三類:(1)主機型入侵檢測系統(H-IDS),它一般保護所在的系統,以系統日志、應用程序日志等作為數據源,采集這些信息并進行分析;(2)網絡型入侵檢測系統(N-IDS),其保護整個網段,以網絡上的數據包作為數據源,監聽所有本網段內的數據包并進行判斷;(3)混合式入侵檢測系統,其兼備前兩種方式的優點,既從主機系統采集數據,也通過網絡以監聽方式采集數據發現可疑行為。按照分析方法,IDS可以分為誤用檢測和異常檢測兩種。
入侵檢測系統存在著以下一些不足:難以保證檢測的準確性和高效性;易受拒絕式服務攻擊(DOS),被攻破后導致失效;即使檢測到攻擊,也很難采取有效的保護措施。
2 防火墻與入侵檢測系統聯動
防火墻側重于控制,而IDS側重于主動發現入侵信號,這決定了它們不能獨立完成網絡防護任務,且不能相互取代。例如,當IDS檢測到一種攻擊行為時,如不能及時有效地采取措施,這種攻擊行為將對網絡應用造成損害;若僅有防火墻,攻擊者會利用防火墻合法的通道進入內部網絡,使防火墻形同虛設。因此,IDS應該通過與防火墻的聯動,動態地改變或增加防火墻的策略,通過防火墻從源頭上徹底阻斷入侵行為。
防火墻和IDS之間的聯動方式可分成以下三種。
(1)嵌入結合方式。把IDS嵌入到防火墻中,即IDS的數據來源不再來源于抓包,而是所有流經防火墻的數據流。所有通過的數據包不僅要接受防火墻檢測規則的判定,還需要經過IDS的檢測,分析其安全性,以達到真正的實時檢測,這實際上是把兩個產品合成一體。由于IDS本身就是一個復雜的系統,合成后的系統從實施到性能都會受到很大影響。
(2)接口開放方式。即防火墻和IDS各開放一個接口供對方調用,并按照預定的協議進行通信。目前常見的形式是安全廠家以自己的產品為核心,提供開放接口,以實現互動。這種方式比較靈活,但這種依附于一種安全設備的方式容易產生瓶頸,不能有效發揮網絡安全設備的優點,且不易擴展。
(3)端口映像方式。防火墻將網絡中指定的一部分流量鏡像到入侵檢測系統中,入侵檢測系統再將分析后的結果反饋防火墻,并執行相應安全措施。
如果讓防火墻與入侵檢測系統直接進行交互,它們之間需要統一的通信接口,雖然具有可靠性高和速度快等優點,但由于缺乏綜合性的分析將會生成錯誤的防火墻訪問控制規則(由入侵檢測的誤報造成),從而造成DoS和防火墻性能下降(訪問控制規則數量過多)。
2.1 聯動模型
通過以上對聯動方式的分析,本文提出一種基于聯動控制中心的聯動思想,充分發揮防火墻與入侵檢測系統的優點,更有效地保護網絡安全。聯動部署圖如圖1所示。將IDS放在防火墻之后,根據網絡的規模和安全要求可在多個位置安置數據采集點,并可根據實際情況在網絡不同位置安裝不同類型的防火墻。日志庫用來存儲IDS節點和防火墻大量日志和報警,進行統一分析并把分析結果傳送到控制中心,由控制臺分析制定聯動控制策略,傳送給相應聯動節點。根據實際網絡需求可添加其他網絡安全設備,由聯動系統作統一協調工作,對系統做進一步擴展。
聯動系統主要由以下部分組成:
(1)控制臺。它是整個系統的控制中心。在控制臺上運行聯動控制程序,接收網絡安全設備發送過來的信息,根據現行網絡狀況制定相應的聯動措施,并對各安全設備進行統一管理,確保聯動系統中所有設備正常有效地工作。
(2)防火墻。在網絡中的不同位置可安置不同類型的防火墻。安置于Internet與內部網連接點處的防火墻起主導作用,其將來自Internet上的網絡數據包過濾,并可以鏡像一部分數據給特定安全設備,由安全設備做更深層次的檢測。這樣不但可以阻止某些惡意數據包進入內部網,還可以分析不同網絡協議的狀態。而處于其他位置的防火墻在發生入侵時可以起到安全隔離的作用。另外,為了保護特殊區域的網絡,還可以為防火墻添加網絡地址轉換的功能,讓服務器在內網中使用內部IP,在Internet上使用防火墻的Public IP。
(3)入侵檢測系統(IDS)。從IDS檢測點采集數據,根據規則庫作對比分析,當檢測到網絡系統中發生攻擊行為或異常行為時,可以及時進行記錄和報警等響應。其中,規則庫可通過聯動系統做動態更新,以增強入侵檢測系統的健壯性。
(4)日志庫。它用于存儲網絡安全事件記錄,還可以有選擇性地調用IDS和防火墻的日志,用戶在查看警告日志的同時,可以根據日志的相關信息(如IP地址、協議、協議端口等)進行審計,更有效地發現網絡潛在威脅,進而構建新的規則,并通知控制臺實施聯動,添加到防火墻的規則集中或更改入侵檢測規則。
(5)其他安全設備。根據網絡安全的需要可以添加防病毒設備、認證設備等。添加的設備可由控制臺統一管理,對聯動系統起一定的擴展作用。
2.2 聯動系統的設計
本系統采用的是一種間接的聯動方式,采用客戶/服務器模式。服務器端不依附任何安全產品,是獨立的應用程序。客戶端分設在各聯動安全設備上,根據設備不同客戶端也不同。這種把聯動控制程序單獨分離出來的方式使系統能集中精力協調聯動安全設備之間的工作,對網絡安全事件進行更有效的分析,能提高聯動的準確性和有效性,防止潛在的進一步攻擊。該系統框架如圖2所示。
服務器端包括數據接發模塊、數據分析模塊、策略生成模塊和聯動控制模塊。
(1)數據接發模塊:把從客戶端收集到的數據進行簡單分組,然后存儲到數據庫的表中。由于數據來自不同節點和設備,可能會出現冗余數據。該模塊對數據記錄進行歸并,刪除冗余和無用數據,并將相關數據進行規范化處理,以便作進一步處理。當聯動系統實施聯動時,該模塊發送聯動信息到客戶端。
(2)數據分析模塊:將接收過來的數據進行分析,判斷各種入侵行為的精確度和危險度,根據分析結果進行數據分類,存儲到相關表中。
(3)策略生成模塊:根據分析結果,結合知識庫制定或調用策略,并將策略加入到相應表中。
(4)聯動控制模塊:根據需要聯動的安全設備確定需聯動的客戶端,將策略按照事先的約定封裝成數據包,并作相應的加密處理,再由數據接發模塊發送到相應設備,實施聯動。
客戶端是網絡狀態數據的采集端和聯動操作的執行端,采用定時執行腳本文件來實現聯動,包含數據接發模塊、聯動響應模塊和策略執行模塊。
(1)數據接發模塊:發送數據到服務器端,并接收服務器端的信息。
(2)聯動響應模塊:保持與服務器端的連接。
(3)策略執行模塊:執行服務器發送的聯動策略。
本系統客戶端與服務器端事先約定并設定通信端口。當客戶端發現網絡中有情況時,便向聯動中心發送經過統一約定格式的數據包,經過聯動中心作進一步分析判斷,然后聯動中心再發送經過統一約定格式的數據包,通知相關設備實施聯動措施。
聯動的具體步驟如下:
(1)初始化通信連接時,由服務器端向客戶端發起連接。
(2)建立正常連接后,當客戶端產生需要通知服務器端的安全事件時,通過發送約定格式的數據包來完成向服務器端傳遞信息。
(3)服務器端收到信息后,作相應分析,并作出判斷,需要時發送聯動策略給客戶端。
(4)客戶端接收服務器端發送的聯動信息,實施聯動行為,并將結果(成功與否)反饋給服務器端。
2.3 聯動系統的通信安全
客戶端與服務器端之間通信采用安全套接層協議SSL(Secure Socket Layer),它能使客戶/服務器應用之間的通信不被非法竊聽或截取,并且始終進行認證。SSL協議位于TCP/IP協議與各種應用層協議之間,它的優點在于獨立于應用層協議,應用層協議(如HTTP、FTP等)能透明地建立于SSL協議之上。SSL協議在應用層協議通信之前就已經完成加密算法、通信密鑰的協商及認證工作。此后,應用層協議所傳送的數據都會先加密后傳輸,從而保證通信的安全性。
SSL協議提供的安全信道有以下三個特性。
(1)數據保密性。數據加密就是把明文信息經加密算法轉換后變成加密的信息以實現數據的保密。加密的過程需要用到密鑰來加密數據,然后再用密鑰解密。沒有了密鑰,就無法正確解密已加密的數據。數據加密之后,密鑰用一個安全的方法傳送。加密過的數據可以公開地傳送。
(2)數據一致性。加密能保證數據的一致性。例如,消息驗證碼能夠校驗用戶提供的加密信息,接收者可以用來校驗加密后的數據,保證數據在傳輸過程中沒有被篡改過。
(3)安全驗證。加密的另外一個功能是作為個人的標識,用戶的密鑰作為其安全驗證的標識。
SSL協議的工作流程為:服務器認證階段,客戶端向服務器發送一個開始信息“Hello”以便開始一個新的會話連接;服務器根據客戶的信息確定是否需要生成新的主密鑰,如需要,則服務器在響應客戶的“Hello”信息時將包含生成主密鑰所需的信息;客戶根據收到的服務器響應信息,產生一個主密鑰,并用服務器的公開密鑰加密后傳給服務器;服務器恢復該主密鑰,并返回給客戶一個用主密鑰認證的信息,以此讓客戶認證服務器。
SSL安全協議為網絡應用層通信提供了認證、數據保密和數據完整性的服務,較好地解決了網絡上數據傳輸的安全問題。SSL協議保證了系統內部各組件之間的通信安全。SSL協議的SSL記錄協議與SSL握手協議兩個工作協議提供的身份認證和安全傳輸的服務,能夠滿足各組件之間的安全通信要求。采用SSL協議可以保證系統不會因數據傳輸帶來新的安全漏洞。
現代信息網絡發揮著重要作用,對網絡的安全性有較高的要求。在網絡安全防護體系中,各種安全設備以控制中心為核心,通過安全通信協議進行有機聯動,形成一個動態的、完整的安全防御系統。各安全設備不是簡單集成疊加,而是有效地協同配合,整個系統的安全性得到了很大的提高,可以滿足現代網絡安全的要求,與防火墻的結合使其更加完美,力爭創造一個無漏洞、智能的安全防護系統。
參考文獻
[1] 陳明忠.入侵檢測技術在數據庫系統的應用研究[J].計算機工程與科學,2009,31(4):79-83.
[2] 李聲,蔣明華,李俊.利用SNMP實現防火墻與入侵檢測系統的聯動[J].網絡安全,2007,29(9):39-40.
[3] 李飛,甘剛,陳艾東.基于Linux的入侵防御系統的研究與實現[J].計算機應用研究,2007,29(7):102-103.
[4] 王麗輝,李濤,張曉平,等.一種聯動防火墻的網絡入侵檢測系統[J].計算機應用研究,2006,23(3):95-97.
[5] 余志高,周國祥.入侵檢測與防火墻協同應用模型的研究與設計[J].計算機工程與應用,2010,31(3):22-24.
[6] 肖立中,邵志清,馬漢華,等.網絡入侵檢測中的自動決定聚類數算法[J].軟件學報,2008(8):2140-2148.
[7] 宋文功,唐琎.基于Linux的防火墻技術研究[J].微計算機信息,2006(4X):37-39,157.