防火牆技術分為三種:包過濾防火牆,代理防火牆,狀态包過濾;
包過濾防火牆:使用ACL控制進入或離開的網絡流量,ACL可以比對包的類型或其他參數(如源IP位址,目的ip位址,端口号等)來制定。該類防火牆有以下不足,ACL制定和維護都比較困難;可以使用IP欺騙很容易繞過ACL;
代理防火牆:也叫做代理伺服器。他在OSI的高層檢查資料包,然後和制定的規則相比較,如果資料包的内容符合規則并且被允許,那麼代理伺服器就代替源主機向目的位址發送請求,從外部主機收到請求後,在轉發給被保護的源請求主機。代理防火牆的缺點就是性能問題,由于代理防火牆會對每個經過它的包都會做深度檢查,即使這個包以前檢查過,是以對系統和網絡的性能都有很大的影響。
狀态包過濾防火牆:Cisco ASA就是使用的狀态包過濾防火牆,該防火牆會維護每個會話的狀态資訊,這些狀态資訊寫在狀态表裡,狀态表的條目有源位址,目的位址,端口号,TCP序列号資訊以及每個tcp或udp的其他的标簽資訊。所有進入或外出的流量都會和狀态表中的連接配接狀态進行比較,隻有狀态表中的條目比對的時候才允許流量通過。防火牆收到一個流量後,首先檢視是否已經存在于連接配接表中,如果沒有存在,則看這個連接配接是否符合安全政策,如果符合,則處理後将該連接配接寫入狀态表;如果不符合安全政策,那麼就将包丢棄。狀态表也叫Fast path,防火牆隻處理第一個包,後續的屬于該連接配接的包都會直接按照FastPath轉發,是以性能就有很高的提升。
防火牆功能和許可證:
防火牆出廠的時候自帶有一些基本的功能,如果需要增加一些額外的功能,那麼就需要購買許可證(license)激活相應的功能。可以使用show version指令檢視目前防火牆擁有的功能清單:
防火牆的許可證類型有:
Unrestricted(UR)--無限制的許可證使得該防火牆所能支援的所有特性全部打開。如無限制的活動連接配接數,打開防火牆所支援的所有端口,可以使用防火牆的Failover(故障切換功能)等等。
Restricted(R)--限制版,限制防火牆開啟的特性,比如限制活動連接配接數,使防火牆不支援Failover,限制防火牆支援的最大接口數等;
Failover(FO)--該版本使得防火牆可以作為Secondary裝置參與Failover(故障切換);
Failover-active/active(FO-AA)--該版本使得防火牆可以作為secondary裝置參與active/active Failover ,同時還要求另一個防火牆使用UR版。
Cisco ASA 安全算法
ASA 處理TCP連接配接的安全算法
1. 一個内部主機的第一個IP資料包導緻一個轉換槽的産生,這個資訊會被保留在記憶體中,用來檢查以後的資料包,做位址轉換,然後防火牆利用TCP内的相關資訊來建立一個連接配接槽
2. 這個連接配接被标記為“未完成”是一個TCP的半開連接配接。
3. 防火牆随機産生一個用于連接配接的初始序列号,,并且将資料包轉發到外連接配接口。
4. 在這一步,防火牆期待從目的主機收到一個同步确認包(syn/ack),然後防火牆将收到的包的相關資訊依照連接配接槽記憶體儲的資訊進行比對,計算資訊的先後順序,并将傳回的資料包轉發到内部主機。
5. 内部主機通過發送一個ACK完成了連接配接建立和3次握手。
6. 防火牆上的連接配接槽被标記為connected或者active-established。這時就可以發送資料了。連接配接的“未完成”計數器也将被重置。
以上是防火牆處理TCP連接配接的安全算法。
ASA處理UDP連接配接的安全算法
1. 防火牆從内部主機收到第一ip資料包,在檢驗已經配置好的轉換設定後,防火牆将會建立一個轉換槽,它将儲存這個資訊在記憶體中用來檢查以後的資料包流。然後,防火牆利用UDP内的相關資訊建立一個UDP連接配接槽。
2. 在使用者配置的UDP timeout時間内,防火牆将會維護這個UDP連接配接槽。但是當UDP連接配接槽的idle時間超出所配置的UDPtimeout時間,就會從連接配接表中删除。
3. 在UDP的timeout周期内,防火牆執行适應性安全算法(ASA)對 從目的主機收到的UDP資料包進行全狀态檢查。
4. 如果傳回的UDP資料包完全比對并且沒有逾時,那麼這個資料将被傳回内部主機。
最後要注意,ASA的所有安全政策都是應用到狀态連接配接中,是以要首先生成一個連接配接表,然後才會比較安全政策等内容。
UDP的一些特性
1. UDP是一個不可靠(無連接配接的),但卻很高效的傳輸協定,其不可靠展現在它不提供傳輸的确認。
2. 僞造UDP資料包很容易,因為他沒有握手和序列的機制。由于沒有狀态機制,是以傳輸的發起者或者目前的狀态經常不确定。
3. UDP不提供傳輸保障
4. 沒有連接配接的建立和中止。
5. UDP沒有擁塞管理和避免機制
6. 使用UDP的服務通常被分為兩類:
請求-回應,或稱之為乒乓服務。例如域名服務(DNS)
流服務,例如視訊,VOIP,網絡檔案系統(NFS)
配置接口參數:
1. Securitylevel 對asa/pix來講,每個接口都必須有一個安全級别,安全級别是0到100之間的數字,0代表低安全級别,100代表高安全級别;
2. 預設情況下,所有從高安全級别接口到低安全級别接口的流量都是允許的,所有從低安全級别接口到高安全級别接口的流量都是被拒絕的,都需要使用ACL來允許想要允許的流量;當然,高安全級别接口到低安全級别接口的流量也可以通過ACL來控制。
3. 預設情況下,相同安全級别接口之間不允許通信,可以使用指令:
Hostname(config)#same-security-trafficpermit inter-interface
允許相同安全級别接口之間互相通信:
4. 對于防火牆的任何接口,都必須配置以下内容:
Name
Ip address
Security level
靜态路由
在防火牆模式下,ASA支援靜态和預設路由,ASA隻支援RIP和OSPF,是以如果你的網絡運作的是其他的路由協定,那麼就要使用靜态路由,使用靜态路由可以節省CPU的負載。ASA在相同的接口,最多支援3條等價靜态路由。
Hostname(config)#route接口名稱 目标網段 掩碼 下一跳位址
配置ACL
一個ACL是由多個通路控制條目(Access Control Entries,ACE)組成,一個ACE指明一個permit或deny規則,一個ACE可以根據協定,指定的源位址和目的位址、端口号、ICMP類型等來定義,ACE的執行是按照順序執行的,一旦發現比對的ACE,那麼就不會再繼續往下比對。
對于TCP和UDP連接配接,不需要使用ACL來允許傳回的流量進入,因為防火牆的安全算法會生成一個連接配接表來允許這些流量的傳回;對于無連接配接流量,比如ICMP,需要使用ACL來明确允許傳回的流量進入防火牆,或者可以打開ICMP審查引擎。
關于ACL相關指令參考書上的指令。
多區域預設的通路規則:
Inside可以通路outside。
Inside可以通路dmz
Dmz可以通路outside
Dmz不能通路inside
Outside不能通路inside
Outside不能通路dmz.