天天看點

防火牆技術之----包過濾(Packet Filter)

1.包過濾防火牆簡介

  防火牆是指設定在不同網絡(任何信任的企業内部網絡和不信任的公網)或網絡安全域之間的一系列的部件組合。她可以通過檢測、限制、分析跨越防火牆的資料流,按照使用者的需要對這些資料流進行安全性劃分,盡可能的對外部屏蔽内部網絡的資訊、結構和運作情況,以此來實作網絡的安全保護。在邏輯上,防火牆是一個分離器,一個限制器,也是一個分析器,有效的監控了内網和Internet之間的任何活動,保證了内部網絡的安全。

  防火牆是一把利器,它的發展經曆了技術和市場的考驗,典型的防火牆技術包括如下幾類:包過濾防火牆,狀态防火牆,NAT位址轉換技術和ALG應用層網關技術等。之是以将NAT技術也劃分到防火牆的行列,是因為他天然采用了公司網位址将公網和私網分割開來,對外網屏蔽了内網。

  那麼包過濾防火牆正如其名是對通過防火牆的資料包逐層進行解析,一般之作用于協定第三層,對防火牆裝置的IP標頭進行解析,根據事先定義的通路控制清單(ACL)規則對資料包進行過濾。ACL的出現就是配合防火牆的設計而被定義出來的。是以包過濾防火牆的精華之處就在于ACL。當然Packet-filtering即可作用在入方向也可作用在出方向,可能是全局也可能是基于接口的。

2.包過濾防火牆的具體實作細節

1)防火牆預設規則(Firewall default permit/deny)

   一般來說包過濾防火牆都有一個預設的預設規則,該種方式一般是全局的配置,是對于那些無法比對定義的ACL的資料包采取的Action,其中需要注意的是當firewall default deny時,資料包會建立會話後立即删除,以保證deny操作對後續封包因比對session而透傳的情況的發生。

2)基于ACL的包過濾

  前面也講到包過濾的核心在于ACL的定義。而ACL的核心其實就是一個典型的五元組(源IP位址、目的IP位址、源端口、目的端口、協定号)。也就是網管需要提前根據需要将網絡中的資料流進行劃分,根據五元組定義不同的ACL,然後對不同的ACL定義不同的防火牆政策(permit or deny)。是以可以看出ACL是防火牆的基礎。一般來說目前的安全裝置廠商有一些如cisco,H3C等都是細分了ACL,根據協定層次将ACL分為基礎ACL(隻對源IP位址有效),進階ACL(五元組),可定義ACL等,還有一些廠商如聯想網禦則是隻提供包分類卻不細分,讓使用者自已根據需要來定義。不管如何劃分其實質都是一樣的,都是根據五元組,或出入接口,或底層的MAC位址等等作為定義ACL的基礎。本文對ACL不作詳細的介紹,會單獨給予介紹。現在先建立一個概念即可。

  定義了ACL之後,然後會在防火牆裝置接口上将提前定義的ACL規則跟防火牆進行綁定,進而對IN、OUT方向對Packet進行比對處理。如:firewall packet-filtering acl 2000 oubound/inbound。當然有些廠商防火牆規則是基于接口的,這種好處顯而易見基于接口友善定義,便于細分網絡。而有些廠商卻是全局的,這樣定義上不是很明确,了解起來有點難。

3)防火牆對分片封包的處理

   傳統的防火牆隻對封包首片進行比對,如首片通過則允許後續分片通過。而實際上使用者希望防火牆不僅可以過濾首片,還可以阻止非法後續分片封包。對于傳統的防火牆使用者可以構造滿足防火牆規則的後續分片封包進行攻擊。為了解決這個這個問題,ACL增加了fragment選項,增加了對于分片封包的檢測。

  如:acl number 3000

      rule 0 deny icmp source 20.0.0.2 0 fragment

   分片封包和非分片封包都包含三層IP資訊(以UDP為例),是以将比對分為三層資訊比對和三層以外的資訊比對兩種,而對三層以外資訊比對分為标準比對和精确比對兩種。

   對于三層IP資訊比對,由于IP分片封包同樣包含了三層位址資訊和協定類資訊,和傳統的處理一樣,隻需将分片考慮進來。而對于三層以外的資訊比對,分為标準比對和精确比對兩種:

   标準比對:忽略三層以外資訊,對permit的acl,該acl項有效且隻比對三層資訊;對deny的acl,該acl無效,被忽略。

   精确比對:要求滿足所有項,對于分片封包。将儲存首片以外的資訊,後續分片到達,首先檢查屬于該分片的首片封包中的三層以外的資訊後與acl項比對,該比對要求分片首片先于分片到達,否則分片将不比對。

4)二層以太幀過濾Ethenet Frame filtering(EFF)

繼續閱讀