防火牆初接觸

概述

防火牆是位於兩個或多個網絡之間執行訪問控制的軟件或硬件系統,他根據訪問控制規則對進出的網絡的數據流進行過濾。它是一種網絡安全產品,用於對網絡進行安全訪問限制,一般用在互聯網的邊緣,防止外部黑客的攻擊。防火牆可以看成是帶有安全功能的路由器,早期的防火牆就是在路由器的基礎上加入了訪問控制功能,所以防火牆的很多功能可以在路由器上看到,例如路由協議、訪問控制列表和地址翻轉技術等。

防火牆的分類

  • 包過濾防火牆:通過定義的特定規則對數據包中”五元組“屬性進行判斷過濾。(由於每次需要對數據包進行策略檢查,所以速度較慢)
  • 狀態檢測防火牆(ASPF:application specific packet filter):通過檢測連接狀態判斷該數據包是否合法(基於流的判斷)。
  • 代理型防火牆:使防火牆做爲一箇中間節點。

包過濾防火牆

對需要轉發的數據包,先獲取報頭信息,然後和設定的規則進行比較,根據比較的結果對數據包進行轉發或丟棄。

實現包過濾的核心技術是訪問控制列表。

包過濾作爲一種網絡安全保護機制,主要用於對網絡中各種不同的流量是否轉發做一個最基本的控制。傳統的包過濾防火牆對於需要轉發的報文,會先獲取報文頭信息,包括報文的源IP地址、目的IP地址、IP層所承載的上層協議的協議號、源端口號和目的端口號等,然後和預先設定的過濾規則進行匹配,並根據匹配結果對報文采取轉發或丟棄處理。

狀態檢測防火牆(ASPF:application specific packet filter)

早期包過濾防火牆採取的是“逐包檢測”機制,即對設備收到的所有報文都根據包過濾規則每次都進行檢查以決定是否對該報文放行。這種機制嚴重影響了設備轉發效率,使包過濾防火牆成爲網絡中的轉發瓶頸。

於是越來越多的防火牆產品採用了“狀態檢測”機制來進行包過濾。“狀態檢測”機制以流量爲單位來對報文進行檢測和轉發,即對一條流量的第一個報文進行包過濾規則檢查,並將判斷結果作爲該條流量的“狀態”記錄下來。對於該流量的後續報文都直接根據這個“狀態”來判斷是轉發還是丟棄,而不會再次檢查報文的數據內容 。這個“狀態”就是我們平常所述的會話表項。這種機制迅速提升了防火牆產品的檢測速率和轉發效率,已經成爲目前主流的包過濾機制。

狀態監測機制:
  • 狀態監測機制開啓狀態下,只有首包通過設備才能建立會話表項,後續包直接匹配會話表項進行轉發。
  • 狀態監測機制關閉狀態下,即使首包沒有經過設備,後續好只要通過設備也可以生成會話表項。

對於TCP報文

  • 開啓狀態檢測機制時,首包(SYN報文)建立會話表項。對除SYN報文外的其他報文,如果沒有對應會話表項(設備沒有收到SYN報文或者會話表項已老化),則予以丟棄,也不會建立會話表項。
  • 關閉狀態檢測機制時,任何格式的報文在沒有對應會話表項的情況下,只要通過各項安全機制的檢查,都可以爲其建立會話表項。

對於UDP報文

  • UDP是基於無連接的通信,任何UDP格式的報文在沒有對應會話表項的情況下,只要通過各項安全機制的檢查,都可以爲其建立會話表項。

對於ICMP報文

  • 開啓狀態檢測機制時,沒有對應會話的ICMP應答報文將被丟棄。
  • 關閉狀態檢測機制時,沒有對應會話的應答報文以首包形式處理.

代理防火牆

其實代理服務器這樣的防火牆更安全一些,若是外面的人給小姐的物品是有毒的(外面發送有害的數據,或者想獲取 server 信息),那也是丫鬟先中毒,小姐很安全呀(代理服務器中招,內網還是安全的)。

但是這是因爲所有的鏈接,所有的數據包都中轉過一層,多了一個環境,就需要多消耗一些時間,效率便降低了,高帶寬也會到達瓶頸,並且因爲通過代理服務器的轉發那麼便需要修改表頭中的信息和地址轉換,這樣的話對 VPN 的使用也會增加一定的難度。所以相對來說 Netfilter(基於包過濾的防火牆) 比代理服務器式的防火牆應用的更加的廣泛。

安全區域

安全區域(Security Zone):簡稱爲區域(Zone),它是一個或多個接口的集合,防火牆通過安全區域來劃分網絡,標示報文的流動路線。

一般來說,當報文在不同的安全區域之間流動時纔會受到控制。
域分類(按安全級別劃分(數值越大,安全級別越高)):

安全級別 定義範圍
Untrust(非受信任區域) 5 通常用於定義互聯網流量
DMZ[demilitarized zone](非軍事化區域/隔離區) 50 通常用於定義內網服務器所在區域(可以放置一些必須公開的服務器設施,如企業Web服務器、FTP服務器和論壇等)。因爲這些設備雖然部署在內網,但經常要被公網訪問,存在較大安全隱患,同時一般又不允許其主動訪問外網,所以部署安全級別比Trust低,但比Untrust高。
Trust(受信任區域) 85 通常用於定義內網所在區域。
Local區域 100 該區域主要定義設備自身發啓的流量,或者是抵達設備自身流量。比如Telnet、SNMP、NTP、IPsec VPN等流量。用戶不能改變Local區域本身的任何配置,包括添加接口。

安全區域的配置

安全區域的建立主要包括創建安全區域以及將接口加入安全區域。除了物理接口可以加入安全區域,防火牆還支持邏輯接口,如子接口,VLANIF接口等,這些邏輯接口使用時也需要加入安全區域。

報文在安全區域之間的流動:

  • 報文從低級別的安全區域向高級別的安全區域流動時爲入方向(Inbound),
  • 報文從高級別安全區域向低級別安全區域流動時爲出方向(Outbound)。
防火牆如何判斷報文在哪兩個安全區域之間流動呢?

首先,源安全區域很容易確定,防火牆從哪個接口接收報文,該接口所屬的安全區域就是報文的源安全區域。

確定目的安全區域時分三種情況:

  • 三層模式下,防火牆通過查找路由表確定報文將要從哪個接口發出,該接口所屬的安全區就是報文的目的安全區域;

  • 兩層模式下,防火牆通過查找MAC地址轉發表確定報文要從哪個接口發出,該接口所屬的安全區域就是報文的目的安全區域。

  • 另外還有一種情況:
    在VPN場景中,防火牆收到的是封裝的報文,將報文解封裝後得到原始報文,然後還是通過查找路由表來確定目的安全區域,報文從哪個接口發出,該接口所屬的安全區域就是報文的目的安全區域。
    而源安全區域不能簡單地根據收到的接口來確定,此時防火牆會採用“反向查找路由表”的方式來確定原始報文的源安全區域。

    具體來說,防火牆把原始報文中的源地址假設成是目的地址,然後通過查找路由表確定這個目的的地址的報文將要從哪個接口發出,該接口所屬的安全區域是報文將要去往的安全區域。反過來說,報文也就是從該區域發出的,所以反查路由表得到的這個安全區域就是報文的源安全區域。

源安全區域和目的安全區域確定後,就可以知道報文從哪兩個安全區域之間流動了。

安全策略分類:

  • 域間安全策略

    域間安全策略用於控制域間流量的轉發(此時稱爲轉發策略),適用於接口加入不同安全區域的場景。域間安全策略按IP地址、時間段和服務(端口或協議類型)、用戶等多種方式匹配流量,並對符合條件的流量進行包過濾控制(permit/deny)或高級的UTM(統一威脅管理Unified Threat Management)應用層檢測。域間安全策略也用於控制外界與設備本身的互訪(此時稱爲本地策略),按IP地址、時間段和服務(端口或協議類型)等多種方式匹配流量,並對符合條件的流量進行包過濾控制(permit/deny),允許或拒絕與設備本身的互訪。

  • 域內安全策略

    缺省情況下域內數據流動不受限制,如果需要進行安全檢查可以應用域內安全策略。與域間安全策略一樣可以按IP地址、時間段和服務(端口或協議類型)、用戶等多種方式匹配流量,然後對流量進行安全檢查。例如:市場部和財務部都屬於內網所在的安全區域Trust,可以正常互訪。但是財務部是企業重要數據所在的部門,需要防止內部員工對服務器、PC等的惡意攻擊。所以在域內應用安全策略進行IPS檢測,阻斷惡意員工的非法訪問。

  • 接口包過濾

    當接口未加入安全區域的情況下,通過接口包過濾控制接口接收和發送的IP報文,可以按IP地址、時間段和服務(端口或協議類型)等多種方式匹配流量並執行相應動作(permit/deny)。基於MAC地址的包過濾用來控制接口可以接收哪些以太網幀,可以按MAC地址、幀的協議類型和幀的優先級匹配流量並執行相應動作(permit/deny)。硬件包過濾是在特定的二層硬件接口卡上實現的,用來控制接口卡上的接口可以接收哪些流量。硬件包過濾直接通過硬件實現,所以過濾速度更快。

防火牆的三種工作模式:

  • 路由模式:防火牆以第三層對外連接(接口具有IP地址),此時可以完成ACL包過濾,ASPF動態過濾、NAT轉換等功能(路由模式需要對網絡拓撲進行修改)。
  • 透明模式:防火牆以第二層對外連接(接口沒有IP地址),此時相當於交換機,部分防火牆不支持STP。
  • 混合模式:混合上面兩種。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章