03-ASPF配置
本章節下載: 03-ASPF配置 (266.67 KB)
目 錄
為了解決包過濾防火牆存在的問題,提出了狀態防火牆——ASPF(Advanced Stateful Packet Filter,高級狀態包過濾)的概念。
ASPF能夠實現的主要功能有:
· 應用層協議檢測:檢查應用層協議信息,如報文的協議類型和端口號等信息,並且監控每一個連接的應用層協議狀態。對於所有連接,每一個連接狀態信息都將被ASPF維護,並用於動態地決定數據包是否被允許通過防火牆進入內部網絡,以阻止惡意的入侵。
· 傳輸層協議檢測:檢測傳輸層協議信息,包括TCP協議、UDP協議、UDP-Lite協議、SCTP協議、Raw IP協議、ICMP協議、ICMPv6協議和DCCP協議。例如TCP/UDP檢測,能夠根據源、目的地址及端口號決定TCP或UDP報文是否可以通過防火牆進入內部網絡。
· ICMP差錯報文檢測:正常ICMP差錯報文中均攜帶有本報文對應連接的相關信息,根據這些信息可以匹配到相應的連接。如果匹配失敗,則根據當前配置決定是否丟棄該ICMP報文。
· TCP連接首包檢測:對TCP連接的首報文進行檢測,查看是否為SYN報文,如果不是SYN報文則根據當前配置決定是否丟棄該報文。缺省情況下,不丟棄非SYN首包,適用於不需要嚴格TCP協議狀態檢查的組網場景。例如當防火牆設備首次加入網絡時,網絡中原有TCP連接的非首包在經過新加入的設備時如果被丟棄,會中斷已有的連接,造成不好的用戶體驗,因此建議暫且不丟棄非SYN首包,等待網絡拓撲穩定後,再開啟非SYN首包丟棄功能。
在網絡邊界,ASPF和包過濾防火牆協同工作,包過濾防火牆負責按照ACL規則進行報文過濾(阻斷或放行),ASPF負責對已放行報文進行信息記錄,使已放行的報文的回應報文可以正常通過配置了包過濾防火牆的接口。因此,ASPF能夠為企業內部網絡提供更全麵的、更符合實際需求的安全策略。
ASPF將應用層協議劃分為:
· 單通道協議:完成一次應用的全過程中,隻有一個連接參與數據交互,如SMTP、HTTP。
· 多通道協議:完成一次應用的全過程中,需要多個連接配合,即控製信息的交互和數據的傳送需要通過不同的連接完成的,如FTP。
安全域間實例用於指定ASPF需要檢測的業務流的源安全域和目的安全域,它們分別描述了經過網絡設備的業務流的首個數據包要進入的安全域和要離開的安全域。關於安全域的詳細介紹,請參見“安全配置指導”中的“安全域”。
如圖1-1所示,為了保護內部網絡,可以在邊界設備上配置訪問控製列表,以允許內部網絡的主機訪問外部網絡,同時拒絕外部網絡的主機訪問內部網絡。但是訪問控製列表會將用戶發起連接後返回的報文過濾掉,導致連接無法正常建立。利用ASPF的應用層協議檢測可以解決此問題。
當在設備上配置了應用層協議檢測後,ASPF可以檢測每一個應用層的連接,具體檢測原理如下:
· 對於單通道協議,ASPF在檢測到第一個向外發送的報文時創建一個會話表項。該會話表項中記錄了對應的正向報文信息和反向報文信息,用於維護會話狀態並檢測會話狀態的轉換是否正確。匹配某條會話表項的所有報文都將免於接受靜態包過濾策略的檢查。
· 對於多通道協議,ASPF除了創建會話表項之外,還會根據協議的協商情況,創建一個或多個關聯表項,用於關聯屬於同一個應用業務的不同會話。關聯表項在多通道協議協商的過程中創建,在多通道協議協商完成後刪除。關聯表項主要用於匹配會話首報文,使已通過協商的會話報文可免於接受靜態包過濾策略的檢查。
單通道應用層協議(如HTTP)的檢測過程比較簡單,當發起連接時建立會話表項,連接刪除時隨之刪除會話表項即可。下麵以FTP檢測為例說明多通道應用層協議檢測的過程。
圖1-2 FTP檢測過程示意圖
如圖1-2所示,FTP連接的建立過程如下:假設FTP client以1333端口向FTP server的21端口發起FTP控製通道的連接,通過協商決定在FTP server的20端口與FTP Client的1600端口之間建立數據通道,並由FTP server發起數據連接,數據傳輸超時或結束後數據通道刪除。
FTP檢測在FTP連接建立到拆除過程中的處理如下:
(1) 檢查FTP client向FTP server發送的IP報文,確認為基於TCP的FTP報文。檢查端口號,確認該連接為FTP client與FTP server之間的控製連接,建立會話表項。
(2) 檢查FTP控製連接報文,根據會話表項進行TCP狀態檢測。解析FTP指令,如果包含數據通道建立指令,則創建關聯表項描述對應數據連接的特征。
(3) 對於返回的FTP控製連接報文,根據會話表項進行TCP狀態檢測,檢測結果決定是否允許報文通過。
(4) FTP數據連接報文通過設備時,將會觸發建立數據連接的會話表項,並刪除所匹配的關聯表項。
(5) 對於返回的FTP數據連接報文,則通過匹配數據連接的會話表項進行TCP狀態檢測,檢查結果決定是否允許報文通過。
(6) 數據連接結束時,數據連接的會話表項將被刪除。FTP連接刪除時,控製連接的會話表項也會被刪除。
傳輸層協議檢測通過建立會話表項記錄報文的傳輸層信息,如源地址、目的地址及端口號等,達到動態放行報文的目的。
傳輸層協議檢測要求返回到ASPF外部接口的報文要與之前從ASPF外部接口發出去的報文完全匹配,即源地址、目的地址及端口號完全對應,否則返回的報文將被丟棄。因此對於FTP這樣的多通道應用層協議,在不配置應用層檢測而直接配置TCP檢測的情況下會導致數據連接無法建立。
若配置了detect命令,則對報文的應用層協議進行ASPF檢查;若沒有配置detect命令,則對報文的傳輸層協議和應用層協議FTP進行ASPF檢查。
如果設備上其他業務模塊開啟ALG功能時,即便未配置多通道應用層協議的ASPF檢測,多通道協議的數據連接也可以建立成功。例如:開啟DPI相關業務功能時會打開ALG功能,此時DPI處理的多通道協議(如SIP等)報文進行ASPF處理時,即便未配置SIP協議的ASPF檢測,SIP協議的數據連接也可以建立成功;開啟NAT ALG功能時,即便未配置多通道協議的ASPF檢測,多通道協議的數據連接也可以建立成功。但是在設備上未配置DPI(Deep Packet Inspection,深度報文檢測)相關業務功能隻配置了ASPF功能的情況下,必須配置detect命令,否則會導致數據連接無法建立。detect命令支持的應用層協議中除HTTP、SMTP和TFTP之外的所有應用層協議均為多通道應用層協議。
ASPF策略默認已經開啟對傳輸層協議的檢測,無需進行配置,也不能修改。
可以根據需要在ASPF策略中配置應用層協議檢測。目前,設備對於部分應用層協議(DNS、FTP、H323、HTTP、SCCP、SIP、SMTP),還支持進行協議狀態合法性檢查功能,對不符合協議狀態的報文進行丟棄。對於其它應用層協議,僅進行連接狀態信息的維護,不做協議狀態合法性檢查。
ASPF配置任務如下:
(1) 配置ASPF策略
(2) 在安全域間實例上應用ASPF策略
(3) (可選)開啟域間策略丟包時發送ICMP差錯報文功能
(4) (可選)開啟日誌的實時發送功能
(1) 進入係統視圖。
system-view
(2) 創建ASPF策略,並進入ASPF策略視圖。
aspf policy aspf-policy-number
創建ASPF策略後,係統默認開啟對傳輸層協議的檢測,無需進行配置,也不能修改。
(3) (可選)配置對應用層協議的ASPF檢測。
detect { dns [ action { drop | logging } * ] | { ftp | h323 | http | sccp | sip | smtp } [ action drop ] | gtp | ils | mgcp | nbt | pptp | rsh | rtsp | sqlnet | tftp | xdmcp }
缺省情況下,配置了應用層協議FTP的ASPF檢測。
配置action參數時,ASPF還會對應用層協議進行協議狀態合法性檢查,對不符合協議狀態的報文執行所配置的相應動作。
(4) (可選)開啟ICMP差錯報文丟棄功能。
icmp-error drop
缺省情況下,不丟棄ICMP差錯報文。
(5) (可選)開啟非SYN的TCP首報文丟棄功能。
tcp syn-check
缺省情況下,丟棄非SYN的TCP首報文。
隻有將定義好的ASPF策略應用到安全域間實例上,才能對通過安全域間實例的流量進行檢測。如果安全域間實例上應用了ASPF策略,所有通過該域間實例的報文都需要與會話表項進行匹配,查找不到與之匹配的會話表項並且符合包過濾放行條件時會觸發創建會話表。
在域間實例上ASPF必須與包過濾防火牆協同工作:通過在域間實例上應用包過濾策略,可以允許源安全域的用戶主動訪問目的安全域所連接網絡;通過在域間實例上應用ASPF策略,由ASPF策略對源安全域用戶訪問目的安全域的報文以及對應的反向報文進行檢測和放行。
(1) 進入係統視圖。
system-view
(2) 進入安全域間實例視圖。
zone-pair security source source-zone-name destination destination-zone-name
關於安全域間實例的具體配置,請參見“安全命令參考”中的“安全域”。
(3) 在安全域間實例上應用ASPF策略。
aspf apply policy aspf-policy-number
缺省情況下,安全域間實例上應用了一個缺省的ASPF策略,該策略支持對所有傳輸層協議和FTP協議報文進行ASPF檢測,但是ICMP差錯報文檢查功能和非SYN的TCP首報文丟棄功能處於關閉狀態。
缺省情況下,設備在安全域間實例下配置安全域間策略,丟棄不符合策略的報文,但不發送ICMP差錯報文,這樣可以減少網絡上的無用報文,節約帶寬。
使用traceroute功能時用到ICMP差錯報文,需要開啟發送ICMP差錯報文的功能。
(1) 進入係統視圖。
system-view
(2) 開啟域間策略丟包時發送ICMP差錯報文功能。
aspf icmp-error reply
缺省情況下,在域間策略丟包時,設備不發送ICMP差錯報文。
日誌實時發送功能僅對安全策略和包過濾模塊的日誌發送有效。
日誌的發送方式支持如下兩種:
· 緩存發送方式:同一數據流的首報文匹配相關策略生成並發送日誌後,設備緩存此日誌,同時啟動發送日誌的時間間隔定時器,隻有時間間隔到達後,才會判斷是否繼續發送此日誌。在此時間間隔內若有流量匹配此日誌,則發送日誌,若沒有則刪除緩存的此日誌。日誌緩存數目達到上限後,新增數據流匹配相關策略時不能生成日誌。日誌發送時間間隔缺省為5分鍾,且不能修改。
· 實時發送方式:同一數據流的首報文匹配相關策略生成並發送日誌後,設備不緩存此日誌,因此這種方式無日誌數目的限製。對於一條不間斷的流量,若匹配的相關策略允許報文通過,則設備僅發送一次日誌,若匹配的策略拒絕報文通過,則設備將對此條數據流的每個報文均發送一次日誌。
有關安全策略和包過濾開啟記錄日誌功能的詳細介紹,請參見各自模塊的相關配置介紹。
(1) 進入係統視圖。
system-view
(2) 開啟日誌的實時發送功能。
aspf log sending-realtime enable
缺省情況下,日誌的實時發送功能處於關閉狀態,使用緩存方式發送。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ASPF的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除ASPF的統計信息。
表1-1 ASPF顯示和維護
操作 |
命令 |
查看ASPF策略配置信息及應用ASPF策略的信息 |
display aspf all |
查看ASPF策略的配置信息 |
display aspf policy { aspf-policy-number | default } |
查看ASPF的會話表信息 |
display aspf session [ ipv4 | ipv6 ] [ slot slot-number ] [ verbose ] |
刪除ASPF的會話表 |
reset aspf session [ ipv4 | ipv6 ] [ slot slot-number ] |
Device為連接內部網絡與外部網絡的邊界設備,內部網絡中的本地用戶需要訪問外部網絡提供的應用(例如FTP)服務。要求配置ASPF策略,檢測通過Device的流量。如果該報文是內部網絡用戶發起的應用(例如FTP)連接的返回報文,則允許其通過Device進入內部網絡,其它外部主動訪問內部網絡的報文被禁止。
圖1-3 檢測FTP應用的ASPF配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 10.1.1.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到Server的下一跳IP地址為10.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 2.2.2.0 24 10.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
(4) 配置ACL
# 配置ACL 3500,定義規則:允許內網主機訪問Internet。
[Device] acl advanced 3500
[Device-acl-ipv4-adv-3500] rule permit ip source 192.168.1.0 0.0.0.255
[Device-acl-ipv4-adv-3500] quit
(5) 配置ASPF策略
# 創建ASPF策略1,配置檢測應用層協議FTP,具體配置步驟如下。
[Device] aspf policy 1
[Device-aspf-policy-1] detect ftp
[Device-aspf-policy-1] quit
(6) 應用ASPF策略
# 在安全域間實例上應用包過濾策略和ASPF策略,放行內網主機訪問Internet的報文及其回應報文,具體配置步驟如下。
[Device] zone-pair security source trust destination untrust
[Device-zone-pair-security-Trust-Untrust] packet-filter 3500
[Device-zone-pair-security-Trust-Untrust] aspf apply policy 1
[Device-zone-pair-security-Trust-Untrust] quit
# 以上配置完成後,從Host向Server發起的FTP連接可正常建立,而從外部網絡發起連接的報文則無法進入內部網絡。在Device上可以查看到已經建立的ASPF會話。
<Device> display aspf session ipv4
Slot 0:
Initiator:
Source IP/port: 192.168.1.2/1877
Destination IP/port: 2.2.2.11/21
VPN instance/VLAN ID/Inline ID: -/-/-
Protocol: TCP(6)
Inbound interface: GigabitEthernet1/0/1
Source security zone: Trust
Total sessions found: 1
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!