唐言
(黑龍江省教育學(xué)院,黑龍江 哈爾濱 150080)
二十一世紀(jì),隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,一個實時網(wǎng)絡(luò)通訊、資源信息共享的網(wǎng)絡(luò)時代已經(jīng)來臨,可以說現(xiàn)在人們的工作、生活己經(jīng)和它密不可分了。但是計算機(jī)網(wǎng)絡(luò)在給我們提供快捷、方便、可靠服務(wù)的同時,也帶來了不容忽視的網(wǎng)絡(luò)安全問題。計算機(jī)網(wǎng)絡(luò)不僅要保護(hù)計算機(jī)網(wǎng)絡(luò)設(shè)備安全和計算機(jī)網(wǎng)絡(luò)系統(tǒng)安全,還要保護(hù)數(shù)據(jù)安全。目前,運(yùn)用較廣泛的網(wǎng)絡(luò)安全的主要技術(shù)有防火墻技術(shù)、入侵檢測技術(shù)。本文集兩種技術(shù)之所長提出了一種將防火墻與網(wǎng)絡(luò)入侵檢測系統(tǒng)進(jìn)行聯(lián)動的體系框架。
隨著網(wǎng)絡(luò)安全技術(shù)的整體發(fā)展和網(wǎng)絡(luò)應(yīng)用的不斷變化,現(xiàn)代防火墻技術(shù)也在不斷發(fā)展,防火墻所采用的主要技術(shù)為。
包過濾技術(shù)是對數(shù)據(jù)包實施有選擇的通過,包過濾技術(shù)的核心是安全策略,即過濾算法的設(shè)計。它能攔截和檢查所有進(jìn)出的數(shù)據(jù),通過包檢查模塊驗證包否符合過濾規(guī)則,符合的包允許通過,不符合規(guī)則的數(shù)據(jù)包要進(jìn)行報警或通知管理員。另外,不管是否符合過濾規(guī)則,防火墻一般都要記錄數(shù)據(jù)包的情況。對于丟棄的數(shù)據(jù)包,防火墻可以給發(fā)送方一個消息,也可以不發(fā),這要取決于包過濾策略。包檢查模塊能檢查包中的所有信息,一般是網(wǎng)絡(luò)層的IP 頭和傳輸層的頭。
代理型防火墻也可以被稱為代理服務(wù)器。代理服務(wù)器位于客戶機(jī)與服務(wù)器之間,完全阻擋了二者的數(shù)據(jù)交換。從客戶機(jī)來看,代理服務(wù)器相當(dāng)于一臺真正的服務(wù)器;而從服務(wù)器來看,代理服務(wù)器又是一臺真正的客戶機(jī)。當(dāng)客戶機(jī)需要使用服務(wù)器上的數(shù)據(jù)時,首先將數(shù)據(jù)請求發(fā)給代理服務(wù)器。代理服務(wù)器再根據(jù)這一請求向服務(wù)器索取數(shù)據(jù),然后由代理服務(wù)器將數(shù)據(jù)傳輸給客戶機(jī)。由于外部系統(tǒng)與內(nèi)部服務(wù)器之間沒有直接的數(shù)據(jù)通道,外部的惡意侵害也就很難危害到企業(yè)內(nèi)部網(wǎng)絡(luò)系統(tǒng)。代理防火墻通常支持的一些常見的應(yīng)用協(xié)議有HTTP、SISSL、SMTP、POP3 等。
傳統(tǒng)的包過濾防火墻只是通過檢測IP 包頭的相關(guān)信息來決定數(shù)據(jù)流的通過或拒絕,而狀態(tài)檢測技術(shù)采用的是一種基于連接的狀態(tài)檢測機(jī)制,將屬于同一連接的所有包作為一個整體的數(shù)據(jù)流看待,構(gòu)成連接狀態(tài)表,通過規(guī)則表與狀態(tài)表的共同配合,對表中的各個連接狀態(tài)因素加以識別。這里動態(tài)連接狀態(tài)表中的記錄可以是以前的通信信息,也可以是其他相關(guān)應(yīng)用程序的信息。因此,與傳統(tǒng)包過濾防火墻的靜態(tài)過濾規(guī)則表相比,它具有更好的靈活性和安全性。
網(wǎng)絡(luò)地址轉(zhuǎn)換是把IP 地址轉(zhuǎn)換成臨時的、外部的、注冊的IP 地址標(biāo)準(zhǔn)。它允許具有私有IP 地址的內(nèi)部網(wǎng)絡(luò)訪問因特網(wǎng)。它還意味著用戶不需要為其網(wǎng)絡(luò)中每一臺機(jī)器取得注冊的IP地址。當(dāng)受保護(hù)網(wǎng)絡(luò)連到Internet上時,受保護(hù)網(wǎng)絡(luò)可以使用非正式IP 地址,為此網(wǎng)絡(luò)地址轉(zhuǎn)換器在防火墻上裝一個合法IP 地址集。當(dāng)內(nèi)部某一用戶訪問Internet 時,防火墻動態(tài)地從地址集中選一個未分的地址分配給該用戶,該用戶即可使用這個合法地址進(jìn)行通信。同時,對內(nèi)部的某些服務(wù)器,網(wǎng)絡(luò)地址轉(zhuǎn)換器允許為其分配一個固定的合法地址。外部網(wǎng)絡(luò)的用戶就可以通過防火墻來訪問內(nèi)部的服務(wù)器。這種技術(shù)即緩解了少量的IP 地址和大量的主機(jī)之間的矛盾,又對外隱藏了內(nèi)部主機(jī)的IP 地址,提高了安全性。
個人防火墻是一種能夠保護(hù)個人計算機(jī)系統(tǒng)安全的軟件,它可以直接在用戶計算機(jī)上運(yùn)行,使用與狀態(tài)防火墻相同的方式,保護(hù)一臺計算機(jī)免受攻擊。通常,這些防火墻安裝在計算機(jī)網(wǎng)絡(luò)接口的較低級別上,使得它們可以監(jiān)視傳入、傳出網(wǎng)卡的所有網(wǎng)絡(luò)通信。對遇到的每一種的網(wǎng)絡(luò)通信,個人防火墻都會提示用戶一次,詢問如何處理那種通信。然后個人防火墻便記住響應(yīng)方式,并應(yīng)用于以后遇到的相同的網(wǎng)絡(luò)通信。
專用的攻擊檢測設(shè)備一般是監(jiān)聽網(wǎng)絡(luò)傳輸?shù)男畔?,不是串接在其中,不能保證能夠切斷檢測出來的攻擊。只有將攻擊檢測和防火墻結(jié)合才一能夠保證網(wǎng)絡(luò)不受攻擊。入侵檢測系統(tǒng)與防火墻聯(lián)動實現(xiàn)的過程如圖所示?;ヂ?lián)網(wǎng)上的黑客開始對受保護(hù)網(wǎng)絡(luò)內(nèi)的主機(jī)發(fā)動攻擊,這時位于網(wǎng)絡(luò)監(jiān)聽狀態(tài)的入侵檢測系統(tǒng)檢測到黑客對內(nèi)網(wǎng)主機(jī)的攻擊行為后,入侵檢測系統(tǒng)通過它與防火墻之間的‘公共語言’發(fā)送通知報文通知防火墻,防火墻收到并驗證報文后生成動態(tài)規(guī)則實現(xiàn)對攻擊行為的控制和阻斷。
圖1 防火墻和入侵檢測系統(tǒng)聯(lián)動
聯(lián)動控制是基于客戶服務(wù)器模式,通過擴(kuò)展入侵檢測系統(tǒng)和防火墻的功能,在防火墻中駐留一個Server 程序,在IDS 端駐留一個Client端程序,Client 端在發(fā)現(xiàn)需防火墻阻斷的攻擊行為后,產(chǎn)生控制信息,將控制信息傳送給Server端,Server 端接到Client 的控制消息后,動態(tài)生成防火墻的過濾規(guī)則,最終實現(xiàn)聯(lián)動,攔截攻擊后且攻擊停止時,添加的防火墻規(guī)則自動超時刪除。
圖2 聯(lián)動軟件框架
聯(lián)動控制模塊啟動或停止防火墻入侵檢測報告的接收,在一個入侵檢測系統(tǒng)向多個防火墻的發(fā)送數(shù)據(jù)的情況下,可以控制每個防火墻入侵報告的接收的啟、停狀態(tài)。防火墻報告接受模塊啟動報告接受線程,負(fù)責(zé)接收入侵檢測系統(tǒng)實時發(fā)送的入侵報告,并對發(fā)送來的報告進(jìn)行解析。入侵檢測報告發(fā)送模塊根據(jù)入侵檢測系統(tǒng)的告警,實時發(fā)送入侵報告給注冊的防火墻系統(tǒng)。
SSL 協(xié)議即安全套接層協(xié)議能使用戶/服務(wù)器應(yīng)用之間的通信不被攻擊者竊聽,并且始終對服務(wù)器進(jìn)行認(rèn)證,還可選擇對用戶進(jìn)行認(rèn)證。SSL 協(xié)議要求建立在可靠的傳輸層協(xié)議(TCP)之上。SSL 協(xié)議的優(yōu)勢在于它是與應(yīng)用層協(xié)議獨立無關(guān)的,高層的應(yīng)用層協(xié)議(例如:HTTP、FTP、TELNET 等)能透明地建立于SSL 協(xié)議之上。SSL 協(xié)議在應(yīng)用層協(xié)議通信之前就已經(jīng)完成加密算法、通信密鑰的協(xié)商及服務(wù)器認(rèn)證工作。在此之后應(yīng)用層協(xié)議所傳送的數(shù)據(jù)都會被加密,從而保證通信的私密性。通過以上敘述,SSL 協(xié)議提供的安全信道有以下三個特性。
數(shù)據(jù)的保密性。信息加密就是把明碼的輸入文件用加密算法轉(zhuǎn)換成加密的文件以實現(xiàn)數(shù)據(jù)的保密。加密的過程需要用到密鑰來加密數(shù)據(jù)然后再解密。沒有了密鑰,就無法解開加密的數(shù)據(jù)。數(shù)據(jù)加密之后,只有密鑰用一個安全的方法傳送。加密過的數(shù)據(jù)可以公開地傳送。
數(shù)據(jù)的一致性。加密也能保證數(shù)據(jù)的一致性。例如:消息驗證碼(MAC,能夠校驗用戶提供的加密信息,接收者可以用MAC 來校驗加密數(shù)據(jù),保證數(shù)據(jù)在傳輸過程中沒有被篡改過。
安全驗證。加密的另外一個用途是用來作為個人的標(biāo)識,用戶的密鑰可以作為他的安全驗證的標(biāo)識。SSL 是利用公開密鑰的加密技術(shù)(RSA)來作為用戶端與服務(wù)器端在傳送機(jī)密資料時的加密通訊協(xié)定。
SSL 安全協(xié)議為網(wǎng)絡(luò)應(yīng)用層通信提供了認(rèn)證、數(shù)據(jù)保密和數(shù)據(jù)完整性的服務(wù),較好地解決了聯(lián)動系統(tǒng)數(shù)據(jù)傳輸?shù)陌踩珕栴}。聯(lián)動系統(tǒng)的數(shù)據(jù)交互利用了OpenSSL 提供的開發(fā)庫,其通信過程和HTTP 協(xié)議類似,在客戶端和服務(wù)器建立TCP 連接(connet 和accept)成功之后,SSL開始運(yùn)行,首先進(jìn)行安全握手連接即SSL cornet和SSL_accept,以確定協(xié)議版本、密碼算法、密鑰和壓縮方式等密碼學(xué)參數(shù),并實現(xiàn)了防火墻與入侵檢測系統(tǒng)數(shù)據(jù)交互前的身份認(rèn)證;握手成功之后,入侵檢測系統(tǒng)的使用SSL write 函數(shù)對應(yīng)用層數(shù)據(jù)進(jìn)行加密并將密文向其TCP 層發(fā)送,而后系統(tǒng)通過網(wǎng)絡(luò)將報文向?qū)Φ萒CP 層(防火墻服務(wù)端)傳送。防火墻使用SSL read 函數(shù)對其TCP 層傳上來的數(shù)據(jù)進(jìn)行解密,然后再將明文向上層發(fā)送,從而實現(xiàn)了防火墻與入侵檢測系統(tǒng)數(shù)據(jù)交互的保密性。
[1]劉文濤,網(wǎng)絡(luò)安全開發(fā)包詳解,電子工業(yè)出版社,2005
[2]李曉鶯,協(xié)議分析在入侵檢測系統(tǒng)中的應(yīng)用,網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2002
[3]韓東海等著,《入侵檢測系統(tǒng)實例剖析》[M],清華大學(xué)出版社,2002