歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux基礎知識

防火牆基礎知識



        
    (一)防火牆概念

    防火牆不只是一種路由器、主系統或一批向網絡提供安全性的系統。相反,防火牆是一種獲取安全性的方法;它有助於實施一個比較廣泛的安全性政策,用以確定允許提供的服務和訪問。就網絡配置、一個或多個主系統和路由器以及其他安全性措施(如代替靜態口令的先進驗證)來說,防火牆是該政策的具體實施。防火牆系統的主要用途就是控制對受保護的網絡(即網點)的往返訪問。它實施網絡訪問政策的方法就是逼使各連接點通過能得到檢查和評估的防火牆。
    ____________ ___________
    | | | |
    | Computer | | Computer |
    |__________| |___________| ____________ ________
    | | |應 | |Packet |
    ______|________________|__________| 用 |_____|Filter |___Internet
    | 網 | |Router |
    網點系統 | 關 | |________|
    |__________|


    路由器和應用網關防火牆范例


    防火牆系統可以是路由器,也可以是個人主機、主系統和一批主系統,專門把網

    絡或子網同那些可能被子網外的主系統濫用的協議和服務隔絕。防火牆系統通常位於等

    級較高的網關如網點與Internet的連接處,但是防火牆系統可以位於等級較低的網關,

    以便為某些數量較少的主系統或子網提供保護。

    防火牆基本上是一個獨立的進程或一組緊密結合的進程,運行於Router or Server

    來控制經過防火牆的網絡應用程序的通信流量。一般來說,防火牆置於公共網絡(如Inter-

    -net)人口處。它可以看作是交通警察。它的作用是確保一個單位內的網絡與Internet之間

    所有的通信均符合該單位的安全方針。這些系統基本上是基於TCP/IP,並與實現方法有關

    ,它能實施安全路障並為管理人員提供對下列問題的答案:

    * 誰在使用網絡?

    * 他們在網上做什麼?

    * 他們什麼時間使用過網絡?

    * 他們上網時去了何處?

    * 誰要上網但沒有成功?
    (二)采用防火牆的必要性

    引入防火牆是因為傳統的子網系統會把自身暴露給NFS或NIS等先天不安全的服務,並

    受到網絡上其他地方的主系統的試探和攻擊。在沒有Firewall的環境中,網絡安全性完

    全依賴主系統安全性。在一定意義上,所有主系統必須通力協作來實現均勻一致的高級

    安全性。子網越大,把所有主系統保持在相同安全性水平上的可管理能力就越小。隨著

    安全性的失誤和失策越來越普遍,闖入時有發生,這不是因為受到多方的攻擊,而僅僅

    是因為配置錯誤、口令不適當而造成的。

    防火牆能提高主機整體的安全性,因而給站點帶來了眾多的好處。以下是使用防火牆

    的好處:

    1.防止易受攻擊的服務

    防火牆可以大大提高網絡安全性,並通過過濾天生不安全的服務來降低子網上主系

    統所冒的風險。因此,子網網絡環境可經受較少的風險,因為只有經過選擇的協議才能

    通過Firewall。

    For example, Firewall 可以禁止某些易受攻擊的服務(如NFS)進入或離開受保護

    的子網。這樣得到的好處是可防護這些服務不會被外部攻擊者利用。而同時允許在大大

    降低被外部攻擊者利用的風險情況下使用這些服務。對局域網特別有用的服務如NIS或

    NFS因而可得到公用,並用來減輕主系統管理負擔。

    防火牆還可以防護基於路由選擇的攻擊,如源路由選擇和企圖通過ICMP改向把發送

    路徑轉向遭致損害的網點。防火牆可以排斥所有源點發送的包和ICMP改向,然後把偶發

    事件通知管理人員。


    2.控制訪問網點系統

    防火牆還有能力控制對網點系統的訪問。例如,某些主系統可以由外部網絡訪問

    ,而其他主系統則能有效地封閉起來,防護有害的訪問。除了郵件服務器或信息服務器

    等特殊情況外,網點可以防止外部對其主系統的訪問。

    這就把防火牆特別擅長執行的訪問政策置於重要地位:不訪問不需要訪問的主系

    統或服務。當不用訪問或不需要訪問時,為什麼要提供能由攻擊者利用的主系統和服務

    訪問呢?例如,如果用戶幾乎不需要通過網絡訪問他的台式工作站,那麼,防火牆就可

    執行這一政策。


    3.集中安全性

    如果一個子網的所有或大部分需要改動的軟件以及附加的安全軟件能集中地放在

    防火牆系統中,而不是分散到每個主機中,這樣防火牆的保護就相對集中一些,也相對

    便宜一點。尤其對於密碼口令系統或其他的身份認證軟件等等,放在防火牆系統中更是

    優於放在每個Internet能訪問的機器上。

    當然,還有一些關於網絡安全的出來方法,比如Kerberos,包含了每個主機系統的

    改動。也許,在某些特定場合,Kerberos或其他類似的技術比防火牆系統更好一些。但

    有一點不容忽視,由於只需在防火牆上運行特定的軟件,防火牆系統實現起來要簡單的

    多。


    4.增強的保密、強化私有權

    對一些站點而言,私有性是很重要的,因為,某些看似不甚重要的信息往往回成

    為攻擊者靈感的源泉。使用防火牆系統,站點可以防止finger 以及DNS域名服務。fing-

    -er會列出當前使用者名單,他們上次登錄的時間,以及是否讀過郵件等等。但finger

    同時會不經意地告訴攻擊者該系統的使用頻率,是否有用戶正在使用,以及是否可能發

    動攻擊而不被發現。

    防火牆也能封鎖域名服務信息,從而是Internet外部主機無法獲取站點名和Ip地

    址。通過封鎖這些信息,可以防止攻擊者從中獲得另一些有用信息。


    5.有關網絡使用、濫用的記錄和統計

    如果對Internet的往返訪問都通過防火牆,那麼,防火牆可以記錄各次訪問,並

    提供有關網絡使用率的有價值的統計數字。如果一個防火牆能在可疑活動發生時發出音

    響報警,則還提供防火牆和網絡是否受到試探或攻擊的細節。

    采集網絡使用率統計數字和試探的證據是很重要的,這有很多原因。最為重要的是

    可知道防火牆能否抵御試探和攻擊,並確定防火牆上的控制措施是否得當。網絡使用率

    統計數字也很重要的,因為它可作為網絡需求研究和風險分析活動的輸入。


    6.政策執行

    最後,或許最重要的是,防火牆可提供實施和執行網絡訪問政策的工具。事實上,

    防火牆可向用戶和服務提供訪問控制。因此,網絡訪問政策可以由防火牆執行,如果沒

    有防火牆,這樣一種政策完全取決於用戶的協作。網點也許能依賴其自己的用戶進行協

    作,但是,它一般不可能,也不依賴Internet 用戶
    (三)防火牆的構成

    防火牆的主要組成部分有:

    3.1 * 網絡政策;
    3.2 * 先進的驗證工具;
    3.3 * 包過濾;
    3.4 * 應用網關;


    3.1 網絡政策

    有兩級網絡政策會直接影響防火牆系統的設計、安裝和使用。高級政策是一種發

    布專用的網絡訪問政策,它用來定義那些有受限制的網絡許可或明確拒絕的服務,如何

    使用這些服務以及這種政策的例外條件。低級政策描述防火牆實際上如何盡力限制訪問

    ,並過濾在高層政策所定義的服務。以下是這些政策的描述。


    3.1.1 服務訪問政策

    服務訪問政策應集中與上面定義的Internet專用的使用問題,或許也應集中與所

    有的外部網絡訪問問題(即撥入政策以及SLIP和PPP連接)。這種政策應當是整個機構有關

    保護機構信息資源政策的延伸。要使防火牆取得成功,服務訪問政策必須既切合實際,

    又穩妥可靠,而且應當在實施防火牆前草擬出來。切合實際的政策是一個平衡的政策,

    既能防護網絡免受已知風險,而且仍能使用戶利用網絡資源。如果防火牆系統拒絕或限

    制服務,那麼,它通常需要服務訪問政策有力量來防止防火牆的訪問控制措施不會受到

    帶針對的修改。只有一個管理得當的穩妥可靠政策才能做到這一點。

    防火牆可以實施各種不同的服務訪問政策,但是,一個典型的政策可以不允許從

    Internet訪問網點,但要允許從網點訪問Internet。另一個典型政策是允許從Internet

    進行某些訪問,但是或許只許可訪問經過選擇的系統,如信息服務器和電子郵件服務器

    。防火牆常常實施允許某些用戶從Internet訪問經過選擇的內部主系統的服務訪問政策,

    但是,這種訪問只是在必要時,而且只能與先進的驗證措施組合時才允許進行。


    3.1.2 防火牆設計政策


    防火牆設計政策是防火牆專用的。它定義用來實施服務訪問政策的規則。一個人

    不可能在完全不了解防火牆能力和限制以及與TCP/IP相關聯的威脅和易受攻擊性等問題

    的真空條件下設計這一政策。防火牆一般實施兩個基本設計方針之一:


    1. 拒絕訪問除明確許可以外的任何一種服務;也即是拒絕一切未予特許的東西

    2. 允許訪問除明確拒絕以外的任何一種服務;也即是允許一切未被特別拒絕的東西


    如果防火牆采取第一種安全控制的方針,那麼,需要確定所有可以被提供的服務以及

    它們的安全特性,然後,開放這些服務,並將所有其它未被列入的服務排斥在外,禁止

    訪問。如果防火牆采取第二中安全控制的方針,則正好相反,需要確定那些認為是不安全

    的服務,禁止其訪問;而其它服務則被認為是安全的,允許訪問。


    比較這兩種政策,我們可以看到,第一種比較保守,遵循\"我們所不知道的都會傷害

    我們\"的觀點,因此能提供較高的安全性。但是,這樣一來,能穿過防火牆為我們所用的

    服務,無論在數量上還是類型上,都受到很大的限制。第二種則較靈活,雖然可以提供

    較多的服務,但是,所存在的風險也比第一種大。對於第二種政策,還有一個因素值得

    考慮,即受保護網絡的規模。當受保護網絡的規模越來越大時,對它進行完全監控就會

    變得越來越難。因此,如果網絡中某成員繞過防火牆向外提供以被防火牆所禁止的服務

    ,網絡管理員就很難發現。For example : 有一用戶,他有權不從標准的Telnet端口(po-

    -rt 23)來提供Telnet服務,而是從另一個Port來提供此服務,由於標准的Telnet端口已

    被防火牆所禁止,而另一Port沒有被禁止。這樣,雖然防火牆主觀上想禁止提供Telnet

    服務,但實際上卻沒有達到這種效果。因此,采用第二種政策的防火牆不僅要防止外部

    人員的攻擊,而且要防止內部成員不管是有意還是無意的攻擊。

    總的來說,從安全性的角度考慮,第一種政策更可取一些;而從靈活性和使用方

    便性的角度考慮,則第二種政策更適合。
    (三)防火牆的構成(續1)


    3.2 先進的驗證

    多年來,管理員勸告用戶要選擇那些難以猜測的口令,並且不洩露其口令。但是,

    即使用戶接受這一勸告(而很多人不接受這勸告),入侵者可以監視並確實監視Internet

    來獲取明文傳輸口令這一事實也反映傳統的口令已經過時。

    先進的驗證措施,如智能卡、驗證令牌、生物統計學和基於軟件的工具以被用來克

    服傳統口令的弱點。盡管驗證技術個不相同,但都是相類似的,因為由先進驗證裝置產

    生的口令不能由監視連接的攻擊者重新使用。如果Internet上的口令問題是固有的話,

    那麼,一個可訪問Internet的防火牆,如果不使用先進驗證裝置或不包含使用先進驗證

    裝置的掛接工具,則是幾乎沒有意義的。

    當今使用的一些比較流行的先進驗證裝置叫做一次性口令系統。例如,智能卡或驗證

    牌產生一個主系統可以用來取代傳統口令的響應信號。由於令牌或智能卡是與主系統上的

    軟件或硬件協同工作,因此,所產生的響應對每次注冊都是獨一無二的。其結果是一種

    一次性口令。這種口令如果進行監控的話,就不可能被侵入者重新使用來獲得某一帳號。


    由於防火牆可以集中並控制網點訪問,因而防火牆是安裝先進的驗證軟件或硬件的合

    理場所。雖然先進驗證措施可用於每個主系統,但是,把各項措施都集中到防火牆更切

    合實際,更便於管理。下圖表明,一個不使用先進驗證措施的防火牆的網點,允許TELNET

    或FTP等未經驗證的應用信息量直接傳送到網點系統。如果主系統不使用先進驗證措施,

    則入侵者可能企圖揭開口令奧秘,或者能監視網絡進行的包括有口令的注冊對話。圖還

    顯示出一種備有使用先進驗證措施的防火牆的網點,以致從Internet發送到網點系統的

    TELNET 或FTP對話都必須通過先進的驗證才允許到達網點系統。網點系統可能仍然需要

    靜態口令才允許訪問,但是,只要先進的驗證措施和其他防火牆組成部分可防護入侵者

    滲透或繞過防火牆,這些口令就不會被利用,即使口令受到監視也是如此。
    __________
    | |
    |Computer|
    |________|
    未經驗證的TELNET |
    FTP信息量 ∧ |
    <----------------- __________ ---> ____________ ‖ |
    __________________‖__| |_______| |_________‖___|_________
    | ‖ |Internet| | Firewall |--------------------->
    | ∨ |________| |__________| 防火牆系統
    _____|____ 帶先進驗證軟件
    | | 經過驗證的TELNET
    |Computer| FTP信息量
    |________|

    (三)防火牆的構成(續2)

    3.3 包過濾

    包過濾技術(Ip Filtering or packet filtering) 的原理在於監視並過濾網絡上

    流入流出的Ip包,拒絕發送可疑的包。由於Internet 與Intranet 的連接多數都要使用

    路由器,所以Router成為內外通信的必經端口,Router的廠商在Router上加入IP Filte-

    -ring 功能,這樣的Router也就成為Screening Router 或稱為Circuit-level gateway

    網絡專家Steven.M.Bellovin認為這種Firewall 應該是足夠安全的,但前提是配置合理。

    然而一個包過濾規則是否完全嚴密及必要是很難判定的,因而在安全要求較高的場合,

    通常還配合使用其它的技術來加強安全性。

    Router 逐一審查每份數據包以判定它是否與其它包過濾規則相匹配。(注:只檢查

    包頭的內容,不理會包內的正文信息內容) 過濾規則以用於IP順行處理的包頭信息為基

    礎。包頭信息包括: IP 源地址、IP目的地址、封裝協議(TCP、UDP、或IP Tunnel)、

    TCP/UDP源端口、ICMP包類型、包輸入接口和包輸出接口。如果找到一個匹配,且規則允

    許這包,這一包則根據路由表中的信息前行。如果找到一個匹配,且規則允許拒絕此包,

    這一包則被捨棄。如果無匹配規則,一個用戶配置的缺省參數將決定此包是前行還是被

    捨棄。

    *從屬服務的過濾

    包過濾規則允許Router取捨以一個特殊服務為基礎的信息流,因為大多數服務檢測

    器駐留於眾所周知的TCP/UDP端口。例如,Telnet Service 為TCP port 23端口等待遠程

    連接,而SMTP Service為TCP Port 25端口等待輸入連接。如要封鎖輸入Telnet 、SMTP

    的連接,則Router捨棄端口值為23,25的所有的數據包。

    典型的過濾規則有以下幾種:

    .允許特定名單內的內部主機進行Telnet輸入對話

    .只允許特定名單內的內部主機進行FTP輸入對話

    .只允許所有Telnet 輸出對話

    .只允許所有FTP 輸出對話

    .拒絕來自一些特定外部網絡的所有輸入信息

    * 獨立於服務的過濾

    有些類型的攻擊很難用基本包頭信息加以鑒別,因為這些獨立於服務。一些Router

    可以用來防止這類攻擊,但過濾規則需要增加一些信息,而這些信息只有通過以下方式才

    能獲悉:研究Router選擇表、檢查特定的IP選項、校驗特殊的片段偏移等。這類攻擊有

    以下幾種:

    .源IP地址欺騙攻擊

    入侵者從偽裝成源自一台內部主機的一個外部地點傳送一些信息包;這些信息包似

    乎像包含了一個內部系統的源IP地址。如果這些信息包到達Router的外部接口,則捨棄每

    個含有這個源IP地址的信息包,就可以挫敗這種源欺騙攻擊。

    .源路由攻擊

    源站指定了一個信息包穿越Internet時應采取的路徑,這類攻擊企圖繞過安全措施

    ,並使信息包沿一條意外(疏漏)的路徑到達目的地。可以通過捨棄所有包含這類源路由

    選項的信息包方式,來挫敗這類攻擊。

    .殘片攻擊

    入侵者利用Ip殘片特性生成一個極小的片斷並將TCP報頭信息肢解成一個分離的信

    息包片斷。捨棄所有協議類型為TCP、IP片斷偏移值等於1的信息包,即可挫敗殘片的攻

    擊。

    從以上可看出定義一個完善的安全過濾規則是非常重要的。通常,過濾規則以表

    格的形式表示,其中包括以某種次序排列的條件和動作序列。每當收到一個包時,則按

    照從前至後的順序與表格中每行的條件比較,直到滿足某一行的條件,然後執行相應的

    動作(轉發或捨棄)。有些數據包過濾在實現時,\"動作\"這一項還詢問,若包被丟棄是否

    要通知發送者(通過發ICMP信息),並能以管理員指定的順序進行條件比較,直至找到滿足

    的條件。以下是兩個例子:

    * 例 一

    某公司有一個B類地址 123.45.0.0,它不希望Internet上的其他站點對它進行訪問。

    但是,該公司網中有一個子網123.45.6.0 用於和某大學合作開發項目,該大學有一個B

    類地址 135.79.0.0 ,並希望大學的各個子網都能訪問123.45.6.0 子網。但是,由於

    135.79.99.0 子網中存在著不安全因素,因此,它除了能訪問123.45.6.0 子網之外,不

    能訪問公司網中的其它子網。為了簡單起見,假定只有從大學到公司的包,表一中列出

    了所需的規則集。

    表 一

    規 則 源 地 址 目 的 地 址 動 作

    A 135.79.0.0 123.45.6.0 permit

    B 135.79.99.0 123.45.0.0 deny

    C 0.0.0.0 0.0.0.0 deny


    其中0.0.0.0代表任何地址,規則C是缺省規則,若沒有其它的規則可滿足,則應用

    此規則。如果還有從公司到大學的包,相對稱的規則應加入到此表格中,即源地址與目的

    地址對調,再定義相應的動作。

    現在,我們按照規則ABC的順序來進行過濾和按照BAC的順序來進行過濾後采取的動作

    的結果如表二所示(注意:兩種動作的結果有不同)

    表 二

    Packet 源 地 址 目 的 地 址 希望的動作 執行ABC後 執行BAC後

    1 135.79.99.1 123.45.1.1 deny deny(B) deny(B)

    * 2 135.79.99.1 123.45.6.1 permit permit(A) deny(B)

    3 135.79.1.1 123.45.6.1 permit permit(A) permit(A)

    4 135.79.1.1 123.45.1.1 deny deny(C) deny(c)


    從表二可以看出,以ABC的順序來應用規則的Router能達到預想的結果: 從

    135.79.99.0子網到公司網的包(如包1)都被拒絕(根據規則B),從135.79.99.0子網到

    123.45.6.0子網的包(如包2)將被轉發(根據規則A),從大學中的其它子網到123.45.6.0

    的子網包(如包3)也將被轉發(根據規則A),從大學中的其它子網到公司中的其它字網的

    包(如包4)都被拒絕(根據規則C)。若以BAC的順序來應用規則,則不能達到預計的目的。

    實際上,在上面的規則外集中存在著一個小錯誤,正是由於這個錯誤,導致了以

    ABC的順序和以BAC的順序來應用規則而出現了不同的結果。該錯誤就是:規則B似乎用於

    限制135.79.99.0子網訪問公司網,但實際上這是多余的。如果將這條規則去掉,那麼

    順序ABC和BAC都將歸結為AC順序。以AC的順序進行過濾後的結果如表三所示。


    表 三

    Packet 源 地 址 目 的 地 址 希望的動作 AC 動作

    1 135.79.99.1 123.45.1.1 deny deny(C)

    2 135.79.99.1 123.45.6.1 permit permit(A)

    3 135.79.1.1 123.45.6.1 permit permit(A)

    4 135.79.1.1 123.45.1.1 deny deny(C)




    * 例 二

    ________
    | | Network 199.245.180.0 ______________
    |______| _________ | |
    _________|_______________________________|Packet |______| Internet |
    ___|____ ___|___ |Filter | |____________|
    | | | | |router |
    |______| |_____| |_______|

    圖 一


    如圖一所示的網絡,由包過濾的Router作為在內部被保護的網絡與外部不安全的網

    絡之間的第一道防線。假設網絡的安全策略為:從外部主機來的Internet Mail 在一個指

    定的網關上接收,同時你不信任外部網絡上一個名叫HPVC的主機,准備拒絕任何由它發

    起的網絡通信。

    本例中,關於使用SMTP的網絡安全策略必須轉移為包過濾規則。可以將網絡安全規

    則轉換成下述用語言表示的規則:

    規則1: 拒絕從主機HPVC發起的連接。

    規則2:允許連接到我們的E-Mail網關。

    這些規則可以用下面的表四來表示。星號(*)表示可以匹配該列的任何值。


    表 四

    規則 動作 本地 本地 遠地主機 遠地 說明
    序號 主機 端口號 端口號

    1 Block * * HPVC * Block traffic from
    HPVC

    2 Allow Mail-GW 25 * * Allow Connection to Our
    Mail gateway


    對於表四所示的規則1而言,在遠地主機欄中填入了HPVC,而其它所有欄的內容

    都是星號;在動作欄填入阻塞。這條規則的意義可以理解為:阻塞所有從遠地主機HPVC

    發起的從它的任意端口到我們本地任意主機的任意端口的連接。

    對於表四所示的規則2而言,在本地主機和本地端口號兩欄中都有內容,而其它欄

    都是星號;在動作欄填入允許。這個規則的意義可以理解為:允許從任意遠地主機的任

    意端口發起的到本地主機Mail-GW的25號端口連接(端口25是為SMTP保留的)

    規則是按照它們在表中的順序來執行的。如果一個分組不符合任何規則,則它將被

    拒絕。

    在表四中對規則的描述有一個嚴重的問題,它允許任意外部主機從端口25發起一個

    呼叫。端口25是為SMTP保留的,但是一個外部主機有可能利用這個權利從事其它活動。

    這條規則的一個更好的描述方案是允許本地主機發起呼叫,同遠地主機的端口25進行通

    信。這使得本地主機可以向遠地站點發送電子郵件。如果遠地主機不是用端口25執行

    SMTP,則SMTP的發送進程將不能發送電子郵件。這等價與遠地主機不支持電子郵件。

    一個TCP連接是一個全雙工連接,信息雙向流動。在表四所示的包過濾規則中沒有

    明確指定被發送報文分組中信息的傳遞方向,即是從本地主機發送遠地站點,還是從遠

    地站點發送到本地主機。

    當一個TCP包在某一個方向上傳遞時,它必須被接收方確認。接收方通過設置TCP ACK

    標志來發送應答幀。TCP ACK標志也被用來確認TCP建立連接請求,ACK包將在所有TCP連接

    上發送。當一個ACK包被發送後,發送方向就逆轉過來,包過濾規則應該考慮為響應控制

    或數據包而發回的ACK包。

    對於下面的表五中的規則1,在源主機欄中填入199.245.180.0,在目標主機端口號欄

    中填入25,其它欄中都填入星號,在動作欄中填入允許.整個規則的意義為:允許所有從網

    絡199.245.180.0任意端口發起的任意目標主機端口號為25的連接 (其中199.245.180.0

    是一個C類網絡地址,主機號字段為0表示網絡上任意一台主機).

    基於以上的討論,修改後的包過濾規則如表五中所示.


    表 五
    SMTP的包過濾規則

    規則 動作 源主機 源端 目標主機 遠地 TCP標識 說明
    序號 口號 端口號 /IP選項

    1 Allow 199.245.180.0 * * 25 Allow packet
    from Network
    199.245.180.0

    2 Allow * 25 199.245.180.0 * TCP ACK Allow return
    acknowledgement


    對於表五中的規則2,在源端口號欄中填入25,在目標主機欄中填入199.245.180.0,

    在TCP標志和IP選項欄中填入TCP ACK,其它欄中都填入星號,在動作欄中填入允許.整個

    規則的意義為:允許所有從任何外部網絡主機上源端口號25發起的到任意本地主機(在網

    絡199.245.180.0上)任意端口號的TCP ACK標志置位的連接.

    表五中的兩條過濾規則合並起來的效果是:允許網絡199.245.180上的任意主機同任何

    外部網絡主機的SMTP端口建立連接.

    由於包過濾器只工作在OSI模型的第二和第三層(數據層和網絡層).它無法絕對保證

    返回的TCP確認幀中是否屬於同一個連接.在實際應用中,這個策略運行得很好,因為TCP

    維護連接兩側的狀態信息,它們知道將要發送或接收的序號和確認信息.同時,一些上層

    應用服務,例如TELNET ,SMTP 和FTP等,只能接受遵循應用層協議規則的包,想要偽造包含正確

    應答信息的包是非常困難的.如想要使安全程度更高,可考慮和應用層網關一起使用(下

    節將會討論).


    羅羅嗦嗦說了一大通,可以綜述為下面兩點:

    包過濾路由器的優點:絕大多數Internet 防火牆系統只用一個包過濾路由器.與設計過

    濾器和匹配Router不同的是,執行PACKET FILTER 所用的時間很

    少或幾乎不需要什麼時間.因為Internet 訪問一般被提供給一個

    WAN接口.如果通信負載適中且定義的過濾很少的話,則對Router

    性能沒有多大影響.最後一點,包過濾路由器對終端用戶和應用程

    序是透明的,因此不需要專門的用戶培訓或在每主機上設置特別

    的軟件.


    包過濾路由器的局限性:定義包過濾器可能是一項復雜的工作,因為網管員需要詳細地了

    解Internet 各種服務、包頭格式和他們在希望每個域查找的特

    定的值。如果必須支持復雜的過濾要求的,則過濾規則集可能

    會變得很長和很復雜,從而很難管理。存在幾種自動測試軟件,

    被配置到Router上後即可校驗過濾規則。這可能對未檢測到的

    易損部件開放了一個地點。


    一般來說,一個路由器和信息包吞吐量隨過濾器數量的增加而減少。Router 被優

    化用來從每個包中提取目的IP地址、查找一個相對簡單的路由表,而後將信息包順向運

    行到適當轉發接口。如果過濾可執行,Router還必須對每個包執行所有過濾規則。這可

    能消耗CPU的資源,並影響一個完全飽和的系統性能。
    (三)防火牆的構成(續3)

    3.4 應用網關

    為了克服與包過濾路由器相關聯的某些弱點,防火牆需要使用應用軟件來轉發和過

    濾Telnet和Ftp等服務的連接。這樣一種應用叫做代理服務,而運行代理服務軟件的主系

    統叫做應用網關。應用網關和包過濾路由器可以組合在一起使用,以獲得高於單獨使用

    的安全性和靈活性。

    作為一個例子,請考慮一個用包過濾路由器封鎖所有輸入Telnet 和Ftp 連接的網點

    。路由器允許Telnet和Ftp包只通過一個主系統,即Telnet/Ftp應用網關,然後再連接到

    目的主系統,過程如下:

    1. 用戶首先把Telnet連接到應用網關,並輸入內部主系統的名字;

    2. 網關檢驗用戶的源IP地址,並根據任何合適的訪問准則接受或拒絕;

    3. 用戶可能需要證明自己的身份(可使用一次性口令裝置);

    4. 代理服務軟件在網關和內部主系統之間建立Telnet連接;

    5. 於是,代理服務軟件在兩個連接之間傳送數據;

    6. 應用網關記錄連接情況。

    這一例子指出了使用代理服務軟件的幾個好處。第一,代理服務軟件只允許有代理

    的服務通過。換句話說,如果應用網關包含Telnet和Ftp的代理軟件,則只有Ftp和Teln-

    -et被允許進入受保護的子網,而其它所有服務都完全被封鎖住。對有些網點來說,這種

    程度的安全性是很重要的,因為它保證,只有那些被認為“可信賴的”服務才被允許通

    過防火牆。它還防止其他不可靠的服務不會背著防火牆管理人員實施。

    使用代理服務的另一好處是可以過濾協議。例如,有些防火牆可以過濾FTP連接,並

    拒絕使用FTP 協議中的 put 命令。如果人們要保證用戶不能寫到匿名FTP服務器軟件,

    則這一點是很有用的。

    ___________
    __________ 1 |應 | 2 __________
    | 目的 |------------->| 用 |------------->| 源 |
    | 主系統 |<-------------| 網 |<-------------| 主系統 |
    |________| 4 | 關 | 3 |________|
    |_________|

    應用網關和代理服務軟件實施的虛擬連接

    應用網關有三種基本的原型,分別適用於不同的網絡規模。

    * 雙穴主機網關(Dual-Homed Gateway)

    * 屏蔽主機網關(Screened Host Gateway)

    * 屏蔽子網網關(Screened Subnet Gateway)


    這三種原型有一個共同的特點,就是都需要一台主機(如上面所述一樣),通常稱為

    橋頭堡主機(Bastion Host) 。該主機充當應用程序轉發者、通信登記者以及服務提供者

    的角色。因此,保護該主機的安全性是至關重要的,建立防火牆時,應將較多的注意力

    放在該主機上。

    * 雙穴主機網關

    該原型的結構如圖一所示。

    __________
    __________ | | ___________
    |Internet |___________|Bastion | |Protected |
    |_________| | Host |___________|Network |
    |________| |__________|

    Running Firewall Software

    & Routing disable

    圖一 雙穴主機網關


    其中,橋頭堡主機充當網關,因此,需要在此主機中裝兩塊網卡,並在其上運行

    防火牆軟件。受保護網與Internet之間不能直接進行通信,必須經過橋頭堡主機,因此

    ,不必顯示地列出受保護網與不受保護網之間的路由,從而達到受保護網除了看到橋頭堡

    主機之外,不能看到其他任何系統的效果。同時,橋頭堡主機不轉發TCP/IP包,網絡中

    的所有服務都必須由此主機的相應代理程序支持。

    由於雙穴主機網關容易安裝,所需的硬件設備也較少,且容易驗證其正確性,因

    此,這是一種使用較多的紡火牆。

    雙穴主機網關最致命的弱點是:一旦防火牆被破壞,橋頭堡主機實際上就變成了

    一台沒有尋徑功能的路由器,一個有經驗的攻擊者就能使它尋徑,從而使受保護網完全

    開放並受到攻擊。例如,在基於Unix的雙穴主機網關中,通常是先修改一個名叫IPfor-

    -warding的內核變量,來禁止橋頭堡主機的尋徑能力,非法攻擊者只要能獲得網關上的

    系統特權,就能修改此變量,使橋頭堡主機恢復尋徑能力,以進行攻擊。


    * 屏蔽主機網關

    該原型的結構如圖二所示。


    ___________________
    ____________ 1 Permitted | __________ |
    | |—————————————|——|Bastion | |
    | | 2 Blocked | | Host | |
    | Internet |———————×—————| |________| |
    | |3 router packet screening | |
    |__________|———□—————————| Protected |
    | Network |
    |_________________|

    圖 二

    屏蔽主機網關
    ( Bastion Host Running Firewall software )


    其中,橋頭堡主機在受保護網中,將帶有包屏蔽功能的路由器置於保護網和Inter-

    -net之間,它不允許Internet對保護網的直接訪問,只允許對受保護網中橋頭堡主機的訪

    問。與雙穴網關類似,橋頭堡主機運行防火牆軟件。

    屏蔽主機網關是一種很靈活的防火牆,它可以有選擇地允許那些值得信任的應用程

    序通過路由器。但它不像雙穴網關,只需注意橋頭堡主機的安全性即可,它必須考慮兩

    方面的安全性,即橋頭堡主機和路由器。如果路由器中的訪問控制列表允許某些服務能

    夠通過路由器,則防火牆管理員不僅要管理橋頭堡主機中的訪問控制表,還要管理路由

    器中的訪問控制列表,並使它們互相協調。當路由器允許通過的服務數量逐漸增多時,

    驗證防火牆的正確性就會變得越來越困難。


    * 屏蔽子網網關

    該原型的結構如圖三所示。
    __________
    _____|Bastion | Running
    | | Host | Firewall Software
    | |________|
    |
    ____________ ________ |
    | Internet |____|Router|____|
    | | |______| | ________ ___________
    |__________| |________|Router|_______|Protected|
    Packet |______| | Network |
    Screening |_________|


    圖 三 屏蔽子網網關


    其中,一個小型的獨立網絡放在受保護網與Internet之間,對這個網絡的訪問受到

    路由器中屏蔽規則的保護。因此,屏蔽子網中的主機是唯一一個受保護網和Internet都

    能訪問到的系統。

    從理論上來說,這也是一種雙穴網關的方法,只是將其應用到了網絡上。防火牆被

    破壞後,它會出現與雙穴主機網關同樣的問題。不同的是,在雙穴主機網關中只需配置

    橋頭堡主機的尋徑功能,而在屏蔽子網網關中則需配置三個網絡(受保護網、屏蔽子網

    和Internet)之間的尋徑功能,即先要闖入橋頭堡主機,再進入受保護網中的某台主機,

    然後返回包屏蔽路由器,分別進行配置。這對攻擊者來說顯然是極其困難的。另外,由

    於Internet很難直接與受保護網進行通信,因此,防火牆管理員不需指出受保護網到In-

    -ternet之間的路由。這對於保護大型網絡來說是一種很好的方法。

    應用網關的一個缺點是,就Telnet 等客戶機--服務器協議來說,需要采取兩個

    步驟來連接輸入信息或輸出信息。有些應用網關需要經過修改的客戶機,這一點既可看

    作是缺點,也可看作是優點,視修改的客戶機是否更加容易使用防火牆而定。Telnet應

    用網關不一定需要經過修改的Telnet客戶機,但是,它需要修改用戶行為:用戶必須連

    接到防火牆(但不記錄),而不是直接連接到主系統。但是,經過修改的Telnet客戶機可

    以使防火牆透明,因為它允許用戶用Telnet命令規定目的系統(不是防火牆)。防火牆起

    著通向目的系統通道的作用,從而攔截連接,再按需完成其他步驟,如查詢一次性口令

    。用戶行為仍然是相同的,但其代價是每個系統需要一個經過修改的客戶機。

    除了Telnet 外,應用網關一般用於Ftp 和電子郵件,同時也用於XWindows和其他

    某些服務。有些Ftp應用網關包括拒絕特定主系統的put 和get 命令的能力。例如,一個

    已同內部系統(如匿名Ftp服務器)建立Ftp對話(通過Ftp應用網關)的外部用戶,可能試圖

    把文件上裝到服務器。應用網關可以過濾Ftp協議,並拒絕把所有puts命令發送給匿名Ftp

    服務器;這將保證沒有文件能上裝到服務器,而且所提供的確信程度要高於只依賴由設

    置正確的匿名Ftp服務器進行的文件許可。

    電子郵件應用網關可集中收集電子郵件,並把它分發給內部主系統和用戶。對外部

    用戶來說,所有內部用戶都擁有電子郵件地址,其格式為:user@emailhost 其中,emai-

    -lhost是電子郵件網關的名字。網關會接受外部用戶的郵件,然後按需把郵件轉發到其

    他內部系統。從內部系統發送電子郵件的用戶可以從其主系統直接發送電子郵件,否則

    在內部系統名字只有受保護的子網知道的情況下,郵件會發送給應用網關,然後應用網

    關著把郵件轉發給目的主系統。有些電子郵件網關使用更加安全的sendmail程序版本來

    接收電子郵件。

    發布人:netbull 來自:LinuxAid 
Copyright © Linux教程網 All Rights Reserved