摘要:在當(dāng)前網(wǎng)絡(luò)攻擊方式不斷變化的背景下,新出現(xiàn)的安全隔離技術(shù)直接阻斷網(wǎng)絡(luò)在鏈路層上的連接,并進(jìn)行數(shù)據(jù)交換。日志是網(wǎng)絡(luò)安全體系中的重要部分。針對(duì)一個(gè)網(wǎng)絡(luò)隔離系統(tǒng),討論了日志管理系統(tǒng)的架構(gòu)、設(shè)計(jì)實(shí)現(xiàn)方法,并在實(shí)際中得到應(yīng)用。
關(guān)鍵詞:網(wǎng)絡(luò)隔離; 日志審計(jì); 安全隔離與信息交換網(wǎng)閘
中圖分類號(hào):TP309文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2007)07-0114-03
在當(dāng)今計(jì)算機(jī)網(wǎng)絡(luò)高度發(fā)達(dá)的信息化社會(huì),網(wǎng)絡(luò)安全越來越受到重視,出現(xiàn)了各種安全措施。日志審計(jì)作為一種安全措施也受到關(guān)注。通過對(duì)日志信息的分析可以達(dá)到查找網(wǎng)絡(luò)安全隱患,彌補(bǔ)安全漏洞的目的。
安全隔離技術(shù)(GAP技術(shù))指通過專用硬件使兩個(gè)彼此隔離的網(wǎng)絡(luò)進(jìn)行安全數(shù)據(jù)交換。該技術(shù)逐漸發(fā)展并被應(yīng)用。在實(shí)際應(yīng)用中,針對(duì)外網(wǎng)攻擊和系統(tǒng)異常會(huì)產(chǎn)生大量日志文件,而傳統(tǒng)的GAP設(shè)備一般由內(nèi)網(wǎng)處理單元、隔離傳輸硬件、外網(wǎng)處理單元三個(gè)部分組成,并沒有特別針對(duì)日志信息進(jìn)行處理。如果利用這些日志對(duì)其進(jìn)行分析,并進(jìn)行嚴(yán)密監(jiān)控,識(shí)別入侵和入侵企圖,會(huì)大大提高系統(tǒng)的安全性能。
1SGAP系統(tǒng)整體概述
SGAP(安全隔離與信息交換網(wǎng)閘系統(tǒng))利用先進(jìn)的安全隔離技術(shù)保證了安全、高效、可靠的數(shù)據(jù)交換,可以與防火墻或其他網(wǎng)絡(luò)安全設(shè)備無縫地協(xié)同工作。它一般部署于信任域與非信任域之間,并且是不同域之間唯一的連接,如圖1所示。
SGAP系統(tǒng)在結(jié)構(gòu)上分為內(nèi)、外網(wǎng)處理單元和中間的隔離傳輸硬件三個(gè)部分。內(nèi)、外網(wǎng)處理單元均為獨(dú)立工作的主機(jī),安裝運(yùn)行Linux操作系統(tǒng);隔離傳輸硬件與內(nèi)、外網(wǎng)服務(wù)器之間通信通過USB外部總線連接,傳輸交換數(shù)據(jù)。隔離傳輸硬件內(nèi)有一塊CPU,一塊存儲(chǔ)數(shù)據(jù)用的緩存區(qū)域數(shù)據(jù)池(即一塊移動(dòng)硬盤);CPU對(duì)通過的擺渡數(shù)據(jù)進(jìn)行安全檢查和病毒掃描,這也是與傳統(tǒng)隔離設(shè)備的區(qū)別之處,在很大程度上提高了系統(tǒng)的安全級(jí)別。
隔離硬件保證了內(nèi)、外網(wǎng)之間在任何時(shí)刻都不存在直接的通路;硬件與主機(jī)之間用USB進(jìn)行通信,USB總線的即插即用特性,使硬件設(shè)計(jì)大大簡化。主機(jī)上安裝Linux Red Hat 2.6版本的操作系統(tǒng),利用其自帶Iptables配置,實(shí)現(xiàn)防火墻功能。SGAP系統(tǒng)中的代理功能由位于內(nèi)網(wǎng)處理單元的代理存根和位于外網(wǎng)單元的代理引擎協(xié)同工作完成,檢查應(yīng)用層數(shù)據(jù),不同代理服務(wù)的實(shí)現(xiàn)與具體的協(xié)議內(nèi)容相關(guān)。
防火墻部分日志文件傳輸?shù)綄iT的日志服務(wù)器端,導(dǎo)入數(shù)據(jù)庫中,便于根據(jù)審計(jì)分析規(guī)則審記日志。
2系統(tǒng)功能要求描述
一個(gè)安全系統(tǒng)中的安全審計(jì)系統(tǒng),是對(duì)系統(tǒng)中任一或所有安全相關(guān)事件進(jìn)行記錄、分析和再現(xiàn)。對(duì)于安全產(chǎn)品,美國已經(jīng)有一套比較完整的CC(Common Criteria),如US Government Application Level Firewall Protection Profile for Low Risk Environments,而且國外一些大的網(wǎng)絡(luò)安全公司也有其自己的安全指標(biāo)。這些安全指標(biāo)的規(guī)范化和標(biāo)準(zhǔn)化為網(wǎng)絡(luò)安全技術(shù)的發(fā)展起到了推動(dòng)作用。
2.1系統(tǒng)架構(gòu)
日志數(shù)據(jù)的產(chǎn)生由Linux系統(tǒng)的防火墻模塊實(shí)現(xiàn),并發(fā)送到專門的日志服務(wù)器。日志服務(wù)器接收到防火墻發(fā)來的日志信息后,存儲(chǔ)在數(shù)據(jù)庫中,并通過審計(jì)界面來完成審計(jì)數(shù)據(jù)查找、統(tǒng)計(jì)等功能。其系統(tǒng)架構(gòu)如圖2所示。
2.2功能模塊劃分
根據(jù)系統(tǒng)功能要求描述,并參考公安部《信息安全技術(shù)日志分析產(chǎn)品安全要求檢驗(yàn)規(guī)范》,日志系統(tǒng)設(shè)計(jì)具有以下功能:①日志收集。只有授權(quán)的審計(jì)數(shù)據(jù)源發(fā)送的審計(jì)信息才能被系統(tǒng)分析處理。②日志分析管理。能對(duì)數(shù)據(jù)源產(chǎn)生的日志進(jìn)行實(shí)時(shí)監(jiān)控,能提供基于時(shí)間、源地址、目的地址、協(xié)議類型、危險(xiǎn)級(jí)別等字段的組合查詢;能生成統(tǒng)計(jì)報(bào)表、支持一個(gè)常用的數(shù)據(jù)庫,對(duì)數(shù)據(jù)進(jìn)行備份/刪除、導(dǎo)入/導(dǎo)出。③安全功能。保證只有授權(quán)管理員和可信主機(jī)才有權(quán)使用產(chǎn)品的管理功能,具備對(duì)授權(quán)管理員和可信主機(jī)進(jìn)行身份鑒別的功能。④審計(jì)功能。能針對(duì)網(wǎng)絡(luò)訪問行為和網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行審計(jì)。
將日志系統(tǒng)分為以下功能模塊:
(1)用戶身份驗(yàn)證。對(duì)登錄用戶進(jìn)行角色劃分和身份驗(yàn)證管理,保證系統(tǒng)使用安全。
(2)日志信息管理。接收日志信息模塊,與防火墻進(jìn)行通信,下載日志信息;日志查詢模塊,對(duì)日志信息進(jìn)行查詢、瀏覽;日志審計(jì)模塊,根據(jù)審計(jì)規(guī)則對(duì)日志庫中的數(shù)據(jù)進(jìn)行審計(jì);日志數(shù)據(jù)庫管理模塊,對(duì)日志信息進(jìn)行刪除、存儲(chǔ)、備份。
(3)參數(shù)設(shè)置模塊。對(duì)系統(tǒng)中的參數(shù)進(jìn)行設(shè)置,如登錄防火墻的口令、網(wǎng)絡(luò)參數(shù)。
3系統(tǒng)實(shí)現(xiàn)
3.1日志格式和數(shù)據(jù)庫設(shè)計(jì)
目前日志服務(wù)器采用一臺(tái)PC機(jī),系統(tǒng)配置為:處理器PentiumⅢ 1.67 GHz,內(nèi)存1 GB,操作系統(tǒng)Windows Server 2003。內(nèi)、外網(wǎng)服務(wù)器中采用Linux Kernel 2.6版本,內(nèi)核提供的Iptables防火墻與IP協(xié)議棧緊密結(jié)合,方便記錄日志。
由于從防火墻傳輸過來的日志文件為文本格式,存儲(chǔ)、檢索、統(tǒng)計(jì)均不方便,設(shè)計(jì)將日志導(dǎo)入數(shù)據(jù)庫中,提高效率;日志服務(wù)器安裝Windows操作系統(tǒng),選擇使用Access數(shù)據(jù)庫較為方便。
考慮到詳細(xì)存儲(chǔ)所花費(fèi)的空間較大,且傳輸花費(fèi)時(shí)間較長,日志只記錄一些最主要的信息,如防火墻記載源地址(Source Address)、目的地址(Destination Address)、源端口、目的端口、傳輸協(xié)議、TCP標(biāo)志、數(shù)據(jù)包長度、字節(jié)數(shù)及記錄時(shí)間。
數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)如表1所示。
3.2日志傳輸與數(shù)據(jù)導(dǎo)入
完成日志下載,最主要的有:
(1)CPreLog類。它主要定義特定段日志下載的信息。
主要變量說明如下:
{
Cstring m_strDate //最近日志日期
Cstring m_strLocation //最近日志結(jié)尾在日志文件中的偏移量
Cstring m_strLocHead //最近日志開頭在日志文件中的偏移量
…}
(2)CLogDownDlg類。它主要負(fù)責(zé)封裝日志下載的Socket通信類,同時(shí)可以顯示下載日志的狀態(tài)和封裝網(wǎng)絡(luò)通信等。
主要成員變量如下:
{ CLogDownSocket m_socket //CLogDownSocket 類對(duì)象
short m_sport //要連接的端口
Cstring m_strIP //要連接的IP
Cstring m_strSend //要發(fā)送的數(shù)據(jù)
…}
(3)CLogDownSocket類。它直接由CAsyncSocket派生,負(fù)責(zé)日志下載過程中與防火墻通信。
主要成員變量如下:
{ CObArray m_aryLog
//消息級(jí)別與文件名數(shù)組,元素類型為CLogLevelToName
CObArray m_aryLogInfo //各元素為CPreLog的數(shù)組
CFile m_curFile //當(dāng)前打開的日志文件
int m_nLogLen //要接收到的日志數(shù)據(jù)的字節(jié)數(shù)
int m_nRead //已經(jīng)接收到的日志字節(jié)數(shù)
int m_nStatus //狀態(tài)
Cstring m_strRecHead //接收到的消息頭
Cstring m_strSend //發(fā)送的數(shù)據(jù)
…}
它的主要成員函數(shù)有
ONSend: 由框架調(diào)用,通知可以發(fā)送數(shù)據(jù),根據(jù)m_nStatus發(fā)送數(shù)據(jù)。
SendReqCmm: 發(fā)送請(qǐng)求下載日志消息頭。
SendReady: 發(fā)送ready,通知防火墻客戶端準(zhǔn)備好接收日志數(shù)據(jù)。
SendOk: 發(fā)送OK,通知防火墻某級(jí)別日志接收完畢,可以開始發(fā)送下一個(gè)日志。
OnReceive: 由框架調(diào)用,處理讀準(zhǔn)備好通知消息。
ReceiveHead: 接收日志消息頭。
ReceiveLog: 接收日志數(shù)據(jù),并存入相應(yīng)文件。
3.3數(shù)據(jù)庫訪問
具體實(shí)現(xiàn)中,完成把文本日志導(dǎo)入數(shù)據(jù)庫的類為CDBClass,主要包括三個(gè)函數(shù):
ConnectToDB:初始化ADO.NET并連接數(shù)據(jù)庫;
CloseToDB:關(guān)閉數(shù)據(jù)庫連接;
ImportToDB:把指定目錄下的日志文件導(dǎo)入數(shù)據(jù)庫。
考慮到日志數(shù)據(jù)很多時(shí),導(dǎo)入時(shí)間會(huì)很長,程序不會(huì)響應(yīng)用戶操作,就像死機(jī)一樣,所以設(shè)計(jì)了一個(gè)用戶可以活動(dòng)的界面,告訴用戶程序正在進(jìn)行導(dǎo)入數(shù)據(jù)庫工作。類CAVIDLG實(shí)現(xiàn)了這個(gè)功能,開啟了一個(gè)后臺(tái)工作者線程。由這個(gè)工作者線程FileToDBThread來生成下面CDBClass類的一個(gè)對(duì)象,然后使用這個(gè)對(duì)象來完成數(shù)據(jù)的導(dǎo)入;函數(shù)返回值表示此線程的運(yùn)行情況。執(zhí)行數(shù)據(jù)庫日志查詢和瀏覽的類為CLogShowFrame,由CListView類派生。
3.4用戶身份認(rèn)證
對(duì)使用系統(tǒng)的用戶進(jìn)行身份認(rèn)證,是系統(tǒng)安全可靠的前提,也是日志信息長久安全的保障。
系統(tǒng)采用基于角色的認(rèn)證方式,將用戶分為系統(tǒng)管理員和高級(jí)用戶、一般用戶三種角色。系統(tǒng)管理員權(quán)限級(jí)別最高,可查看、備份、刪除、審計(jì)日志,并可增加、刪除、修改一般用戶和高級(jí)用戶的信息;高級(jí)用戶可以查看、備份、刪除、審計(jì)日志;一般用戶只可查看日志。用戶登錄時(shí),身份認(rèn)證模塊根據(jù)用戶輸入的用戶名和密碼,查找其所屬的角色,賦予相應(yīng)的權(quán)限。
3.5日志審計(jì)
分析引擎的結(jié)構(gòu)如圖3所示,主要功能是按照規(guī)則語言對(duì)規(guī)則庫中的規(guī)則進(jìn)行解釋,對(duì)原始數(shù)據(jù)進(jìn)行匹配,包括規(guī)則分析和規(guī)則匹配兩個(gè)步驟。在規(guī)則分析過程中,需要?jiǎng)h除重復(fù)規(guī)則,歸并相似規(guī)則。規(guī)則庫中的規(guī)則針對(duì)TCP、UDP、ICMP等協(xié)議,由管理人員自行編寫。一般系統(tǒng)采用默認(rèn)規(guī)則進(jìn)行審計(jì)。針對(duì)實(shí)際應(yīng)用,規(guī)則可增加、刪除、修改,在參數(shù)設(shè)定模塊完成。分析即把規(guī)則庫的規(guī)則變成字節(jié)符號(hào)流,使得規(guī)則信息變?yōu)榭衫斫獾男问剑瑥亩鶕?jù)這些信息進(jìn)行有目的的獲取。
4結(jié)束語
針對(duì)安全隔離與信息交換網(wǎng)閘系統(tǒng)中產(chǎn)生的日志文件,本文設(shè)計(jì)了一個(gè)日志管理系統(tǒng),將日志文件讀取到日志服務(wù)器中進(jìn)行分析審計(jì)。它是管理人員查找漏洞和制定安全策略的依據(jù)。此系統(tǒng)的應(yīng)用,進(jìn)一步提高了該網(wǎng)絡(luò)隔離系統(tǒng)的實(shí)用性。
該系統(tǒng)還有需要完善的地方,如果能在這些方面進(jìn)一步研究和改進(jìn),則該網(wǎng)絡(luò)隔離系統(tǒng)性能會(huì)得到進(jìn)一步提高。概括起來,有如下幾點(diǎn):
(1)通信及其安全性。在防火墻與日志服務(wù)器的日志傳輸過程中,沒有特別的加密措施,在數(shù)據(jù)傳輸?shù)陌踩苑矫嫘枰訌?qiáng)。
(2)統(tǒng)計(jì)分析方法。目前采用的是一般的統(tǒng)計(jì)方法。一些新的分析方法,如模糊規(guī)則等,還有對(duì)于處理海量數(shù)據(jù)信息,如何提高其效率與準(zhǔn)確性,需進(jìn)一步研究。
(3)規(guī)則庫的匹配效率和自適應(yīng)能力。目前采用的是記錄和規(guī)則簡單順序匹配的方法,可以對(duì)規(guī)則匹配算法優(yōu)化,并可進(jìn)一步使規(guī)則庫根據(jù)管理員對(duì)審計(jì)報(bào)告的評(píng)價(jià),動(dòng)態(tài)調(diào)整規(guī)則的參數(shù)。
參考文獻(xiàn):
[1]ANDERSON J P. Computer security threat monitoring and surveilance[R]. Washington: James P. Anderson Co.,1980.
[2]MSCTC-GFJ-04.信息技術(shù)網(wǎng)閘產(chǎn)品安全檢驗(yàn)規(guī)范[S].上海:公安部計(jì)算機(jī)信息系統(tǒng)安全產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)中心, 2003.
[3]OGLETREE T W.防火墻原理與實(shí)施[M].李之棠,等譯.北京:電子工業(yè)出版社,2001.
[4]李建華,潘理.安全隔離與信息交換系統(tǒng)及其在電子政務(wù)中的應(yīng)用研究[J].計(jì)算機(jī)安全,2003(9):51-54.
[5]鄧智群,劉福,慕德俊,等.網(wǎng)絡(luò)隔離體系結(jié)構(gòu)研究[J].計(jì)算機(jī)應(yīng)用研究,2005,22(3):219-221.
[6]何鵬舉,王萬誠,李高盈,等.網(wǎng)絡(luò)隔離器的設(shè)計(jì)與實(shí)現(xiàn)[J].控制工程,2002,9(6):52-53.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文”