![]() |
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(75):防火牆技朮 |
![]() |
防火牆技朮將本地網絡連接到Internet之后,Internet上的計算機就能自由訪問本地網絡中的計算機了。顯然 ,由于本地網絡屬于同一個組織,本地網絡中的計算機相互之間都可以信任,而外部Internet上的計算機可能來自任 意地方,因此不可信任。如何給可信任的本地網絡中的計算機提供資源,而不給其他Internet上的計算機提供訪問或 入侵的機會,同時又不妨礙本地網絡中的計算機正常訪問Internet,就成為了建立內部網絡的一個要求。 當然,針對每個計算機進行設置,也可以達到屏蔽外部網絡訪問的目的。然而這樣做一方面不太方便,對每個計算機 都要進行設置,另一方面不太安全,內部網絡中不是每台計算機使用的操作系統都具備良好的保護措施,而外部網絡中的計算 機可以通過這些不安全的操作系統進入內部網絡,提供了攻擊的途徑。因此更好的辦法是御入侵者于網絡之外,在內部網絡和 外部網絡中架設一個防火牆,所有的訪問都需要經過它進行驗証,對內部網絡提供了保護作用。
為了對內部網絡提供保護,就有必要對通過防火牆的數據包進行檢查,例如檢查其源地址和目的地址、端口地址、數 據包的類型等,根據這些數據來判斷這個數據包是否為合法數據包,如果不符合預定義的規則,就不將這個數據包發送到其目 的計算機中去。由于包過濾技朮要求內外通信的數據包必須通過使用這個技朮的計算機,才能進行過濾,因而包過濾技朮必須 用在路由器上。因為只有路由器才是連接多個網絡的橋梁,所有網絡之間交換的數據包都得經過它,所以路由器就有能力對每 個數據包進行檢查。 通常的路由器都支持基本的包過濾能力,路由器在轉發IP數據包的時候,缺省狀態并不涉及數據包中的內容,只是 按照IP包的目的地址和本身的路由表進行轉發。為了使得它進行包過濾,就必須定義一系列過濾規則,使得路由器能進行過 濾。通常情況下,過濾能針對IP地址、端口地址、連接類型等進行設定,還能夠針對數據包進行轉發,將數據包轉發到合適 的計算機中。 在包過濾的條件下,內部網絡的計算機還是直接和外部計算機相通信的。由于這是直接在IP層工作,可以適合所有 的應用服務,靈活性和效率都較高。但也存在缺點,比如不能了解應用協議的具體形式,也不能提供清晰的日志記錄等。
代理服務是另一種防火牆技朮,與包過濾不同,它直接和應用服務程序打交道。它不會讓數據包直接通過,而是自己 接收了數據包,并對其進行分析。當代理程序理解了連接請求之后,它將自己啟動另一個連接,向外部網絡發送同樣的請求, 然后將返回的數據發送回那個提出請求的內部網計算機。 雖然代理服務器不必連接到兩個網絡上就能提供代理服務,然而要想通過代理服務器限制網絡之間的通信,提供代理 服務的計算機必須連接到兩個網絡上,所有的網絡之間通信都需要通過它的代理才行,而不能直接連接到Internet上 。因此代理服務器也不能打開包轉發能力,如果代理服務器同時也是路由器,那么內部計算機就可以通過它的路由能力而非代 理能力在不同的網絡之間通信,代理服務器就起不到防火牆的作用。除非特定情況下,才能設置路由能力,此時也應該配置了 更嚴格的包過濾規則,以保護網絡安全。 在有代理服務的情況下,內部網絡的計算機必須配置具體的代理服務使用的代理服務器,它只同代理服務器打交道, 而由代理服務器發送請求并返回結果。代理服務器必須要了解它要代理的服務,并為每一種服務都提供詳細的訪問日志記錄, 并能針對不同的使用者進行認証。 一般來講,由于代理服務器要針對一個請求啟動一個代理服務連接,因此代理服務器效率不高,但是如果針對具體的 服務應用,可以在代理服務器上配置大量的緩沖區,通過緩沖區可以提高其工作效率,提供更高的性能。例如對于使用HTTP 代理服務器時,代理服務器就能在緩沖區中查找到同樣的數據,因而不必再次訪問Internet,減少了對寶貴的Internet 帶寬的占用。代理服務器不僅是一個防火牆技朮,它還能用來提高訪問Internet的效率。 常用的代理服務器有http代理,ftp代理等,所有的代理服務能力都需要客戶軟件的支持,這也意味著當用戶 要使用代理功能的時候,需要設置客戶軟件,如瀏覽器,如果客戶軟件不支持代理功能,就無法使用代理服務器。然而,為了 減輕配置負擔、利用代理服務器的緩沖能力,可以設置一種透明代理服務器,這種方式不需要設置客戶軟件,通過設置路由器 ,將本來發送到其他計算機的IP數據包,依據IP地址和端口轉發到代理服務器中。
在TCP/IP開始開發的時候,沒有人會想象到它發展的如此之快。當前使用的IPv4地址空間為32位大小, 因而地址資源已經十分緊張了。而下一代的IPv6還沒有得到大家的認可。FreeBSD雖然有支持IPv6的開發計划 ,正由于整個Internet上IPv6還沒有實施,因此FreeBSD還沒有將以開發的IPv6合并入正式發布的系 統中去。 為了解決地址緊張的問題,提出了網絡地址翻譯(Network Address Translation, NAT)的方法。NAT能處理每個IP數據包,將其中的地址部分進行轉換,將對內部和外部IP進行直接映射,從一批可 使用的IP地址池中動態選擇一個地址分配給內部地址,或者不但轉換IP地址,也轉換端口地址,從而使得多個內部地址能 共享一個外部IP地址。 動態分配外部IP地址的方法只能有限的解決IP地址緊張的問題,而讓多個內部地址共享一個外部IP地址的方式 能更有效的解決IP地址緊張的問題。讓多個內部IP地址共享一個外部IP地址,就必須轉換端口地址,這樣內部不同IP 地址但具有同樣端口地址的數據包就能轉換為同一個IP地址而端口地址不同,這種方法又被稱為端口地址轉換(Port Address Translation, PAT),或者稱為IP偽裝(IP masquerading) 網絡地址翻譯也是一個重要的防火牆技朮,因為它對外隱藏了內部的網絡結構,外部攻擊者無法確定內部計算機的連 接狀態。并且不同的時候,內部計算機向外連接使用的地址都是不同的,給外部攻擊造成了困難。同樣NAT也能通過定義各 種映射規則,屏蔽外部的連接請求,并可以將連接請求映射到不同的計算機中。 網絡地址翻譯都和IP數據包過濾一起使用,就構成一種更復雜的包過濾型的防火牆。僅僅具備包過濾能力的路由器 ,其防火牆能力還是比較弱,抵抗外部入侵的能力也較差,而和網絡地址翻譯技朮相結合,就能起到更好的安全保証。
無論是包過濾,還是代理服務,都是根據管理員預定義好的規則提供服務或者限制某些訪問。然而在提供網絡訪問能 力和防止網絡安全方面,顯然存在矛盾,只要允許訪問某些網絡服務,就有可能造成某種系統漏洞,然而如果限制太嚴厲,合 法的網絡訪問就受到不必要的限制。代理型的防火牆的限制就在這個方面,必須為一種網絡服務分別提供一個代理程序,當網 絡上的新型服務出現的時候,就不可能立即提供這個服務的代理程序。事實上代理服務器一般只能代理最常用的几種網絡服務 ,可提供的網絡訪問十分有限。 為了在開放網絡服務的同時也提供安全保証,必須有一種方法能監測網絡情況,當出現網絡攻擊時就立即告警或切斷 相關連接。主動監測技朮就是基于這種思路發展起來的,它維護一個記錄各種攻擊模式的數據庫,并使用一個監測程序時刻運 行在網絡中進行監控,當一旦發現網絡中存在與數據庫中的某個模式相匹配時,就能推斷可能出現網絡攻擊。由于主動監測程 序要監控整個網絡的數據,因此需要運行在路由器上,或路由器旁能獲得所有網絡流量的位置。由于監測程序會消耗大量內存 ,并會影響路由器的性能,因此最好不在路由器上運行。 主動檢測方式作為網絡安全的一種新興技朮,由于需要維護各種網絡攻擊的數據庫,因此需要一個專業性的公司維護 。理論上這種技朮能在不妨礙正常網絡使用的基礎上保護網絡安全,然而這依賴于網絡攻擊的數據庫和監測程序對網絡數據的 智能分析,而且在網絡流量較大時,使用sniffing技朮的監測程序可能會遺漏數據包信息,因此這種技朮主要用于要 求較高,只用于對網絡安全要求非常高的網絡系統中,常用的網絡并不需要使用這種方式。 未完,待續。。。 |
|||
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(75):防火牆技朮 | ||||
Copyright(C) 1999 SINA.com, Stone Rich Sight. All Rights Reserved
版權所有 四通利方 新浪網