ASPF(Application Specific Packet Filter,應用層報文過濾)也叫高級狀態(tài)包過濾,ASPF功能可以自動檢測某些報文的應用層信息并根據(jù)應用層信息放開相應的訪問規(guī)則(生成Server-map表)。開啟ASPF功能后,F(xiàn)W通過檢測協(xié)商報文的應用層攜帶的地址和端口信息,自動生成相應的Server-map表,用于放行后續(xù)建立數(shù)據(jù)通道的報文,相當于自動創(chuàng)建了一條精細的“安全策略”。在HCIE-Security面試考試中,我們經(jīng)常會遇到關于 ASPF的相關考題,下文就針對這個考點的相關知識點進行詳細解讀。
ASPF將應用層協(xié)議劃分為單通道協(xié)議和多通道協(xié)議:
單通道協(xié)議:數(shù)據(jù)交互過程中,只有一個連接參與數(shù)據(jù)交互?;蛘咧刚加靡粋€端口的協(xié)議如Telnet、SSH、SMTP、HTTP等。
多通道協(xié)議:控制信息的交互和數(shù)據(jù)的傳送需要通過不同的連接完成。或者指占用二個或二個以上端口的協(xié)議如FTP、QQ、SIP、PPTP等。
FTP協(xié)議介紹
FTP(File Transfer Protocol,文件傳輸協(xié)議)協(xié)議是一個典型的基于C/S架構的多通道協(xié)議。在其工作過程中,F(xiàn)TP Client和FTP Server之間將會建立兩條連接(也稱為信道):控制連接和數(shù)據(jù)連接??刂七B接用來傳輸FTP指令和參數(shù),其中就包括建立數(shù)據(jù)連接所需要的信息;數(shù)據(jù)連接用來傳輸數(shù)據(jù)。
FTP協(xié)議有兩種工作模式:被動模式(PASV)和主動模式(PORT)。如果在第二信道中,F(xiàn)TP Server被動接收FTP Client發(fā)起的數(shù)據(jù)連接就是被動模式;如果在第二信道中,F(xiàn)TP Server主動向FTP Client發(fā)起數(shù)據(jù)連接就是主動模式。也就是說區(qū)分主被模式,主要是看第二信道由誰先發(fā)起。
FTP協(xié)議主動模式舉例說明如下圖:

由于FTP協(xié)議使用的是TCP協(xié)議,首先要建立TCP三次握手,F(xiàn)TP客戶端使用隨機端口xxxx向FTP服務器的目的端口21發(fā)起連接請求建立控制連接。當三次握手建議成功后。FTP客戶端使用PORT命令協(xié)商兩者進行數(shù)據(jù)連接的端口號,協(xié)商出來的端口是yyyy,第一信道建立完成。所以FTP主模式也叫PORT模式,因為在第一信道中,客戶端使用PORT命令協(xié)商。
在第二信道中,同樣要建立TCP三次握手。FTP服務器以源端口20主動向FTP客戶端的yyyy端口發(fā)起連接請求,建立數(shù)據(jù)連接。數(shù)據(jù)連接建立成功后,才能進行數(shù)據(jù)傳輸。第一信道建立完成。
通過上圖分析,我們理解了FTP主動模式協(xié)商過程。如果FTP客戶端和FTP服務器之間有防火墻設備,我們該如何處理呢?下面我們通過實驗進行分析。
解決方案一 通過安全策略解決,實驗拓撲如下圖:

由于華為防火墻默認啟用了ASPF FTP功能,所以我們要手動關閉
[NGFW]undo firewall detect ftp
防火墻安全策略配置:
security-policy
rule name ftp1 ##放行控制信道流量
source-zone trust
destination-zone untrust
destination-address 202.100.1.1 mask 255.255.255.255
service ftp
action permit
rule name ftp2 ##放行數(shù)據(jù)信道流量
source-zone untrust
destination-zone trust
source-address 202.100.1.1 mask 255.255.255.255
destination-address 192.168.1.1 mask 255.255.255.255
action permit
測試結果如下:

查看防火墻會話表如下:

查看客戶端日志信息:

如果通過安全策略解決此問題,數(shù)據(jù)連接使用的端口是在控制連接中臨時協(xié)商出來的,具有隨機性,無法精確預知,所以只能開放客戶端的所有端口,這樣就會給FTP客戶端帶來安全隱患。所以華為防火墻中引入了ASPF。
FTP協(xié)議ASPF主動模式舉例說明如下圖:

當防火墻啟用ASPF功能后,F(xiàn)W分析了報文的應用層信息,提前預測到后面報文的行為方式,記錄應用層信息中關鍵數(shù)據(jù)并動態(tài)生成Server-map表,報文命中該表項后,不再受安全策略的控制。ASPF生成的Server-map表項,相當于在FW上打開了一個隱藏的通道,使類似FTP的多通道協(xié)議的后續(xù)報文不受安全策略的控制,利用該通道就可以穿越FW。
解決方案二 通過ASPF解決:
防火墻全局啟用ASPF FTP功能,默認開啟
[NGFW]firewall detect ftp
防火墻安全策略配置:
security-policy
rule name ftp1 ##放行控制信道流量
source-zone trust
destination-zone untrust
destination-address 202.100.1.1 mask 255.255.255.255
service ftp
action permit
測試結果如下:


Web界面啟用ASPF功能:

通過上面的內容,我們詳細解讀了ASPF。最后留下幾個問題,引導大家去思考:
1. FTP ASPF被動模式如何協(xié)商的?
2. FTP ASPF被動模式會話表是怎么樣的?
3. 如何通過會話表得知已開啟ASPF功能?
4. 華為安全技術中哪些會生成Server-map表項?
5. 如果華為防火墻作為FTP Server,是否需要開啟ASPF功能?