一、訪問控制簡介
訪問控制是網(wǎng)絡(luò)安全防范和保護(hù)的主要策略,它的主要任務(wù)是保證網(wǎng)絡(luò)資源不被非法使用和訪問。它是保證網(wǎng)絡(luò)安全最重要的核心策略之一。訪問控制涉及的技術(shù)也比較廣,包括入網(wǎng)訪問控制、網(wǎng)絡(luò)權(quán)限控制、目錄級控制以及屬性控制等多種手段。
1、入網(wǎng)訪問控制
入網(wǎng)訪問控制為網(wǎng)絡(luò)訪問提供了第一層訪問控制。它控制那些能夠登錄到服務(wù)器并獲取網(wǎng)絡(luò)資源的用戶,控制準(zhǔn)許用戶入網(wǎng)的時間和準(zhǔn)許他們在哪臺工作站入網(wǎng)。用戶的入網(wǎng)訪問控制可分為三個步驟:用戶名的識別與驗證、用戶口令的識別與驗證、用戶賬號的缺省限制檢查。三道關(guān)卡中只要任何一關(guān)未過,該用戶便不能進(jìn)入該網(wǎng)絡(luò)。對網(wǎng)絡(luò)用戶的用戶名和口令進(jìn)行驗證是防止非法訪問的第一道防線。用戶還可采用一次性用戶口令,也可用便攜式驗證器(如智能卡)來驗證用戶的身份。網(wǎng)絡(luò)管理員可以控制和限制普通用戶的賬號使用、訪問網(wǎng)絡(luò)的時間和方式。用戶賬號應(yīng)只有系統(tǒng)管理員才能建立。用戶口令應(yīng)是每用戶訪問網(wǎng)絡(luò)所必須提交的“證件”,用戶可以修改自己的口令,但系統(tǒng)管理員應(yīng)該可以控制口令的以下幾個方面的限制:最小口令長度、強(qiáng)制修改口令的時間間隔、口令的惟一性、口令過期失效后允許入網(wǎng)的寬限次數(shù)。用戶名和口令驗證有效之后,再進(jìn)一步履行用戶賬號的缺省限制檢查。網(wǎng)絡(luò)應(yīng)能控制用戶登錄入網(wǎng)的站點、限制用戶入網(wǎng)的時間、限制用戶入網(wǎng)的工作站數(shù)量。網(wǎng)絡(luò)應(yīng)對所有用戶的訪問進(jìn)行審計。如果多次輸入口令不正確,則認(rèn)為是非法用戶的入侵,應(yīng)給出報警信息。
2、權(quán)限控制
網(wǎng)絡(luò)的權(quán)限控制是針對網(wǎng)絡(luò)非法操作所提出的一種安全保護(hù)措施。用戶和用戶組被賦予一定的權(quán)限。網(wǎng)絡(luò)控制用戶和用戶組可以訪問哪些目錄、子目錄、文件和其他資源。可以指定用戶對這些文件、目錄、設(shè)備能夠執(zhí)行哪些操作。受托者指派和繼承權(quán)限屏蔽(IRM)可作為兩種實現(xiàn)方式。受托者指派控制用戶和用戶組如何使用網(wǎng)絡(luò)服務(wù)器的目錄、文件和設(shè)備。繼承權(quán)限屏蔽相當(dāng)于一個過濾器,可以限制子目錄從父目錄那里繼承哪些權(quán)限。我們可以根據(jù)訪問權(quán)限將用戶分為以下幾類:特殊用戶(即系統(tǒng)管理員);一般用戶,系統(tǒng)管理員根據(jù)他們的實際需要為他們分配操作權(quán)限;審計用戶,負(fù)責(zé)網(wǎng)絡(luò)的安全控制與資源使用情況的審計。用戶對網(wǎng)絡(luò)資源的訪問權(quán)限可以用訪問控制表來描述。
3、目錄級安全控制
網(wǎng)絡(luò)應(yīng)允許控制用戶對目錄、文件、設(shè)備的訪問。用戶在目錄一級指定的權(quán)限對所有文件和子目錄有效,用戶還可進(jìn)一步指定對目錄下的子目錄和文件的權(quán)限。對目錄和文件的訪問權(quán)限一般有八種:系統(tǒng)管理員權(quán)限、讀權(quán)限、寫權(quán)限、創(chuàng)建權(quán)限、刪除權(quán)限、修改權(quán)限、文件查找權(quán)限、訪問控制權(quán)限。用戶對文件或目標(biāo)的有效權(quán)限取決于以下兩個因素:用戶的受托者(獲準(zhǔn)訪問文件、目錄或?qū)ο蟮挠脩舫蔀槭芡姓撸碩rustee)指派、用戶所在組的受托者指派,以及繼承權(quán)限屏蔽取消的用戶權(quán)限。一個網(wǎng)絡(luò)管理員應(yīng)當(dāng)為用戶指定適當(dāng)?shù)脑L問權(quán)限,這些訪問權(quán)限控制著用戶對服務(wù)器的訪問。八種訪問權(quán)限的有效組合可以讓用戶有效地完成工作,同時又能有效地控制用戶對服務(wù)器資源的訪問,從而加強(qiáng)了網(wǎng)絡(luò)和服務(wù)器的安全性。
4、屬性安全控制
當(dāng)使用文件、目錄和網(wǎng)絡(luò)設(shè)備時,網(wǎng)絡(luò)系統(tǒng)管理員應(yīng)給文件、目錄等指定訪問屬性。屬性安全在權(quán)限安全的基礎(chǔ)上提供更進(jìn)一步的安全性。網(wǎng)絡(luò)上的資源都應(yīng)預(yù)先標(biāo)出一組安全屬性。用戶對網(wǎng)絡(luò)資源的訪問權(quán)限對應(yīng)一張訪問控制表,用以表明用戶對網(wǎng)絡(luò)資源的訪問能力。屬性設(shè)置可以覆蓋已經(jīng)指定的任何受托者指派和有效權(quán)限。屬性往往能控制以下幾個方面的權(quán)限:向某個文件寫數(shù)據(jù)、拷貝一個文件、刪除目錄或文件、查看目錄和文件、執(zhí)行文件、隱含文件、共享、系統(tǒng)屬性等。
5、服務(wù)器安全控制
網(wǎng)絡(luò)允許在服務(wù)器控制臺上執(zhí)行一系列操作。用戶使用控制臺可以裝載和卸載模塊,可以安裝和刪除軟件。網(wǎng)絡(luò)服務(wù)器的安全控制包括可以設(shè)置口令鎖定服務(wù)器控制臺,以防止非法用戶修改、刪除重要信息或破壞數(shù)據(jù);可以設(shè)定服務(wù)器登錄時間限制、非法訪問者檢測和關(guān)閉的時間間隔。
二、防火墻簡介
一般認(rèn)為,防火墻是位于兩個信任程度不同的網(wǎng)絡(luò)之間(如企業(yè)內(nèi)部網(wǎng)絡(luò)和因特網(wǎng)之間)的軟件或硬件設(shè)備的組合,它對兩個網(wǎng)絡(luò)之間的通信進(jìn)行控制,通過強(qiáng)制實施統(tǒng)一的安全策略,防止對重要信息資源的非法存取和訪問,以達(dá)到保護(hù)系統(tǒng)安全的目的。
通常的做法是將防火墻安放在組織機(jī)構(gòu)與外部網(wǎng)絡(luò)之間,不過大的機(jī)構(gòu)可能還需要內(nèi)部防火墻將安全域(Security Domain,也叫管理域(Administrative Domain))隔離開來。安全域即一組在共同管理控制之下,具有相同安全策略和安全等級的系統(tǒng)。在實際設(shè)計時,防火墻通常被設(shè)計為一個過濾器,用于阻斷一定類型的通信傳輸。有時,在網(wǎng)絡(luò)內(nèi)部還要把一些對外提供公共服務(wù)的服務(wù)器劃分出來,另外建立一個停火區(qū),也叫非軍事區(qū)(DeMilitarized Zone,DMZ),DMZ中的堡壘主機(jī)由一個內(nèi)部網(wǎng)關(guān)(Internal Gataway)來協(xié)助工作。外部過濾器可用來保護(hù)整體網(wǎng)絡(luò)免受攻擊,而內(nèi)部過濾器則用來保證當(dāng)某個堡壘主機(jī)遭到破壞后內(nèi)部網(wǎng)絡(luò)仍能夠保持安全,兩個過濾器均可保護(hù)內(nèi)部網(wǎng)絡(luò),使之免受攻擊。一般情況下,建立兩個過濾器還是建立一個過濾器,依賴于網(wǎng)絡(luò)的安全需求。
實現(xiàn)防火墻的技術(shù)主要包括兩大類:網(wǎng)絡(luò)級防火墻(也叫包過濾型防火墻)、應(yīng)用級防火墻(代理級防火墻),下面我們就詳細(xì)介紹一下這兩類防火墻。
1、網(wǎng)絡(luò)級防火墻
一般是基于源地址和目的地址、應(yīng)用或協(xié)議以及每個IP包的端口來作出通過與否的判斷。從這個意義上講,路由器就是一個最簡單的網(wǎng)絡(luò)級防火墻,它們能通過檢查這些數(shù)據(jù)包的信息來決定是否將所收到的包轉(zhuǎn)發(fā)。網(wǎng)絡(luò)級防火墻在規(guī)則表中定義了各種規(guī)則來表明是否同意或拒絕包的通過,然后每當(dāng)一個數(shù)據(jù)包通過時,把需要判斷的數(shù)據(jù)包的一些信息同規(guī)則表進(jìn)行比較,檢查每一條規(guī)則直至發(fā)現(xiàn)包中的信息與某規(guī)則相符。如果沒有一條規(guī)則能符合,防火墻就會使用默認(rèn)規(guī)則,一般情況下,默認(rèn)規(guī)則就是要求防火墻丟棄該包。通過定義基于TCP或UDP數(shù)據(jù)包的端口號,防火墻能夠判斷是否允許建立特定的連接,如Telnet、FTP連接。
高級的防火墻系統(tǒng)通常還有狀態(tài)檢測功能,狀態(tài)檢測又稱動態(tài)包過濾,是在傳統(tǒng)包過濾上的功能擴(kuò)展,最早由 checkpoint提出。傳統(tǒng)的包過濾在遇到利用動態(tài)端口的協(xié)議時會發(fā)生困難,如FTP,防火墻事先無法知道一個FTP服務(wù)會使用哪些端口,需要打開哪些端口,如果采用原始的靜態(tài)包過濾的話,就需要將所有可能用到的端口打開,這就違反了最小服務(wù)準(zhǔn)則,會給安全帶來不必要的隱患。基于狀態(tài)檢測的防火墻通過檢查應(yīng)用程序信息(如FTP的PORT和PASS命令),來判斷此端口是否允許需要臨時打開,而當(dāng)傳輸結(jié)束時,端口又馬上恢復(fù)為關(guān)閉狀態(tài)。另外,基于狀態(tài)檢測的防火墻在數(shù)據(jù)包過濾時,先將該數(shù)據(jù)包歸并到某個現(xiàn)有會話中,這樣過濾時只要看一下這個會話所適用的規(guī)則就可以了,這樣做有兩個好處:一個是避免了NMAP之類的掃描程序利用異常數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)掃描,另一方面,也加快了防火墻匹配的速度。狀態(tài)檢測概念已經(jīng)在防火墻研究中得到廣泛認(rèn)可,而且,越來越多的產(chǎn)品也在向這個方向邁進(jìn)。
通常來說,網(wǎng)絡(luò)級防火墻簡潔、速度快、費用低,并且對用戶透明,但是對網(wǎng)絡(luò)的保護(hù)依賴于對網(wǎng)絡(luò)更高協(xié)議層的信息的理解能力。在傳統(tǒng)的網(wǎng)絡(luò)級防火墻中,對網(wǎng)絡(luò)更高層次的信息的理解能力是十分有限的。
2、應(yīng)用級防火墻
應(yīng)用級防火墻能夠檢查進(jìn)出的數(shù)據(jù)包,通過防火墻復(fù)制傳遞數(shù)據(jù),防止在受信任服務(wù)器和客戶機(jī)與不受信任的主機(jī)間直接建立聯(lián)系。應(yīng)用級防火墻能夠理解應(yīng)用層上的協(xié)議,能夠做復(fù)雜一些的訪問控制,并做精細(xì)的注冊和稽核。但每一種協(xié)議需要相應(yīng)的代理軟件,使用時工作量大,效率不如網(wǎng)絡(luò)級防火墻。
常用的應(yīng)用級防火墻已有了相應(yīng)的代理服務(wù)器,例如HTTP、NNTP、FTP、Telnet、Rlogin、X-Window 等,但是,對于新開發(fā)的應(yīng)用,尚沒有相應(yīng)的代理服務(wù),它們將通過網(wǎng)絡(luò)級防火墻和一般的代理服務(wù)。
應(yīng)用級防火墻有較好的訪問控制功能,而且能夠?qū)崿F(xiàn)內(nèi)容檢查等高級功能,但實現(xiàn)困難,需要針對不同的協(xié)議開發(fā)不同的代理服務(wù)器,而且其身份認(rèn)證相比來說要更復(fù)雜一些。
從近年的發(fā)展來看,正在有兩種防火墻不斷融合的趨勢。目前很多防火墻產(chǎn)品中,都集成了這兩大類功能,用以滿足不同的需求。而且,透明代理技術(shù)的發(fā)展,也使二者的結(jié)合成為可能。最早的透明代理實質(zhì)上屬于NAT(網(wǎng)絡(luò)地址翻譯)的一種,當(dāng)內(nèi)網(wǎng)主機(jī)訪問外網(wǎng)時,防火墻將數(shù)據(jù)包的源地址變成自己的地址,轉(zhuǎn)發(fā)給相應(yīng)的服務(wù)器,得到服務(wù)器的應(yīng)答數(shù)據(jù)包后,將該數(shù)據(jù)包的目的地址改成原內(nèi)網(wǎng)主機(jī)的地址,這樣內(nèi)網(wǎng)主機(jī)在訪問外網(wǎng)服務(wù)時,不需要做任何特殊的設(shè)置。隨著防火墻技術(shù)的不斷發(fā)展,已經(jīng)有廠商開始在防火墻內(nèi)部進(jìn)行數(shù)據(jù)包的重組和上層協(xié)議的分析,防火墻將數(shù)據(jù)包重組后取出請求,由自己向相應(yīng)的服務(wù)器取得結(jié)果,并將結(jié)果返回給源客戶。這樣,不需要客戶端采取任何特殊配置,防火墻就可以以類似代理的方式來進(jìn)行工作,從而使防火墻能夠在更高的層次上保護(hù)網(wǎng)絡(luò)。這樣的防火墻已經(jīng)具備了一些入侵檢測系統(tǒng)的功能,所不同的是,這些防火墻檢查到攻擊后,可以立即采取措施將會話終止,因此具有更強(qiáng)大的功能。當(dāng)然,由于引入了更多的處理,如何使這樣的防火墻在具有這些功能后,工作效率、強(qiáng)壯性、穩(wěn)定性達(dá)到較高的水平,還是一個難題。
三、防火墻主要功能
防火墻的主要功能的實現(xiàn)都使用下述的三種技術(shù)方法。
1、包過濾
包過濾功能(Packert Filtering)拒絕接受從未授權(quán)的主機(jī)發(fā)送的TCP/IP包,并拒絕接受使用未授權(quán)的服務(wù)的連接請求。
互聯(lián)網(wǎng)絡(luò)上,所有信息都是以數(shù)據(jù)包的形式來傳輸?shù)模瑪?shù)據(jù)包中包含發(fā)送方的IP地址和接收方的IP地址。數(shù)據(jù)包過濾就是將所有通過的數(shù)據(jù)包中發(fā)送方IP地址、接收方IP地址、TCP端口、TCP鏈路狀態(tài)等信息讀出,并按照預(yù)先設(shè)定的過濾原則過濾數(shù)據(jù)包,那些不符合規(guī)定的數(shù)據(jù)包會被防火墻丟棄,以保證內(nèi)部網(wǎng)絡(luò)系統(tǒng)的安全。
包過濾防火墻通常是基于訪問控制來實現(xiàn)的。它利用數(shù)據(jù)包的頭信息(源IP地址、封裝協(xié)議、端口號等)判定與過濾規(guī)則相匹配與否以決定取舍。建立這類防火墻需要按照如下步驟進(jìn)行:建立安全策略、寫出所允許的和禁止的服務(wù)、將安全策略轉(zhuǎn)化為數(shù)據(jù)包分組字段的邏輯表達(dá)式、用相應(yīng)的句法重寫邏輯表達(dá)式并設(shè)置之。包過濾防火墻主要用來防止外來攻擊,或是限制內(nèi)部用戶訪問某些外部的資源。如果是防止外部攻擊,針對典型攻擊的過濾規(guī)則,大體有:
(1)源IP地址欺騙式攻擊(Source IP Address Spoofing Attacks)。對入侵者假冒內(nèi)部主機(jī),從外部傳輸一個源IP地址為內(nèi)部網(wǎng)絡(luò)IP地址的數(shù)據(jù)包的這類攻擊,防火墻只需把來自外部端口的使用內(nèi)部源地址的數(shù)據(jù)包丟棄即可。
(2)殘片攻擊(Tiny Fragment Attacks)。入侵者使用TCP/IP數(shù)據(jù)包分段特性,創(chuàng)建極小的分段并強(qiáng)行將TCP/IP頭信息分成多個數(shù)據(jù)包,以繞過用戶防火墻的過濾規(guī)則。攻擊者期望防火墻只檢查第一個分段而允許其余的分段通過。目前,大多數(shù)防火墻已經(jīng)實現(xiàn)了碎片的重組功能,可以進(jìn)行相應(yīng)的過濾設(shè)置。
(3)針對FTP服務(wù)的過濾。由于FTP服務(wù)分為數(shù)據(jù)通道和命令通道,而且有正常模式和被動模式之分,因此普通數(shù)據(jù)包過濾防火墻無法進(jìn)行恰當(dāng)?shù)脑O(shè)置,對于具有狀態(tài)檢測功能的防火墻,則可以輕易地實現(xiàn)。例如,使用Linux下面的iptables,可以利用relate關(guān)鍵來匹配FTP服務(wù)及其相關(guān)的動態(tài)連接。
(4)URL過濾、病毒過濾等。目前一些包過濾防火墻還具有這些擴(kuò)展功能。在實現(xiàn)時,這些防火墻通常需要審查數(shù)據(jù)包的內(nèi)容,以發(fā)現(xiàn)可疑的字段,然后進(jìn)行訪問控制設(shè)置。這些功能通常按照實現(xiàn)方式的不同,可以分為按照數(shù)據(jù)包的過濾和按照會話的過濾。在按照數(shù)據(jù)包的過濾方式中,只是對各個數(shù)據(jù)包進(jìn)行檢查,這樣的檢查機(jī)制,很容易被繞過;按照會話重組,則不大容易被欺騙,但是代價則是在性能上的犧牲。
事實上,隨著防火墻的發(fā)展,已經(jīng)越來越多地融合了入侵檢測技術(shù)。但是,由于防火墻對于穩(wěn)定性、效率等都有著很嚴(yán)格的要求,因此二者的融合方式以及具體的方法,都還在不斷的研究之中。
2、網(wǎng)路地址翻譯
網(wǎng)絡(luò)地址翻譯(Network Address Translation,NAT),NAT 也稱為 IP 偽裝(IP Masquerading)。防火墻在接收到數(shù)據(jù)包后,將源地址或者是目的地址修改后發(fā)送,主要是為了解決IP地址不足問題。此外,由于使用網(wǎng)絡(luò)地址翻譯導(dǎo)致網(wǎng)絡(luò)外部無法訪問網(wǎng)絡(luò)內(nèi)部的未經(jīng)授權(quán)的服務(wù),因此從一定意義來說可以有效地保護(hù)網(wǎng)絡(luò)內(nèi)部的系統(tǒng)。
NAT主要是通過防火墻、路由器等網(wǎng)絡(luò)邊緣設(shè)備來實現(xiàn)。當(dāng)網(wǎng)絡(luò)數(shù)據(jù)包流入防火墻時,系統(tǒng)會檢查該數(shù)據(jù)包是否符合用戶設(shè)定的NAT規(guī)則,如果找到符合的規(guī)則,系統(tǒng)會按照規(guī)則對數(shù)據(jù)包進(jìn)行轉(zhuǎn)換,同時建立一條NAT進(jìn)程,當(dāng)有數(shù)據(jù)包返回時,將檢查進(jìn)程表,進(jìn)行相應(yīng)的處理。
3、代理服務(wù)
代理服務(wù)(Proxy Service),代理服務(wù)器從客戶端接到請求后,訪問需要訪問的服務(wù)器,并將結(jié)果返回給客戶端,這種技術(shù)通常能夠提供更為強(qiáng)大的訪問控制。
代理服務(wù)器接收客戶請求后會檢查驗證其合法性,如其合法,代理服務(wù)器像一臺客戶機(jī)一樣取回所需的信息再轉(zhuǎn)發(fā)給客戶。它將內(nèi)部系統(tǒng)與外界隔離開來,從外面只能看到代理服務(wù)器而看不到任何內(nèi)部資源。代理服務(wù)器只允許有代理的服務(wù)通過,而其他所有服務(wù)都完全被封鎖住。
代理服務(wù)器非常適合那些根本就不希望外部用戶訪問企業(yè)內(nèi)部的網(wǎng)絡(luò),而也不希望內(nèi)部的用戶無限制地使用或濫用互聯(lián)網(wǎng)絡(luò)。采用代理服務(wù)器,可以把企業(yè)的內(nèi)部網(wǎng)絡(luò)隱藏起來,內(nèi)部的用戶需要驗證和授權(quán)之后才可以去訪問因特網(wǎng)。
以上我們簡要介紹了防火墻相關(guān)的一些知識,事實上,作為目前網(wǎng)絡(luò)安全研究上一個重要的組成方面,防火墻正在迅速的發(fā)展之中。出現(xiàn)了很多具有新功能的防火墻系統(tǒng),如基于內(nèi)容的檢測、透明模式等。