華三ASPF技術白皮書

摘自華三網站資料:
ASPF技術白皮書
1           概述
基於華爲通用路由操作系統平臺VRP的Quidway系列中低端路由器採用了多種網絡安全技術,爲企業網絡提供了豐富的安全特性。基於應用層協議狀態檢測的包過濾防火牆(ASPF)就是華爲3Com公司Quidway系列中低端路由器關鍵的安全特性之一。它能爲企業內部網絡與外部網絡之間的通信提供基於應用的訪問控制,保護企業內部用戶和網絡設備免受外部的惡意攻擊,從而爲企業內部網絡的安全保駕護航。
1.1       網絡的安全隱患
對於企業用戶來說,其面臨的安全威脅主要來自於未經授權的非法網絡訪問、傳輸過程中可能出現的關鍵信息竊取、數據完整性被破壞等幾個方面。
網絡安全問題的原因可分爲技術因素和人爲管理因素兩方面。從技術方面來說,Internet是基於開放性標準的。此外,很多基於TCP/IP的應用服務都在不同程度上存在着安全缺陷。另一方面,缺乏必要的安全策略也是造成安全問題的一個重要方面。企業網絡監控、審計和漏洞修補的不充分性會導致網絡的非授權使用。訪問控制的配置通常比較複雜,而網絡管理人員的錯誤配置往往會給企業網絡留下安全漏洞。
網絡中路由器可能遭受的安全威脅主要有以下幾類:
1.       IP地址欺騙
IP地址欺騙是指對IP數據包的源地址進行更改以隱藏發送方的身份。它通過利用位於可靠網絡IP地址範圍內的IP地址,僞裝成可信任的主機訪問受保護的信息資源。因爲Internet中的路由操作只使用目標地址將數據包發送到它的路徑上,而忽略源地址,所以黑客可能會僞裝這個源地址向系統發送破壞性的數據包,而系統卻不瞭解它來自何處。IP欺騙通常會引發拒絕服務攻擊。
2.       拒絕服務(Denial of Service)
拒絕服務攻擊(DoS)是網絡上常見的攻擊形式,也是最難阻止的攻擊。與其他類型的攻擊不同,它不會對網絡產生永久性破壞,而是通過使網絡設備崩潰或網絡資源耗盡來阻止合法用戶獲得網絡服務。
分佈式 DoS (DDoS) 攻擊是指黑客利用多臺被入侵的主機,集中攻擊一臺主機系統。攻擊計算機本身不一定主動發起了這個攻擊,但是由於它們自身的安全漏洞,使得它們自身被黑客利用,指示它們向被攻擊網絡發送大量數據,從而造成網絡擁塞或者設備擁塞。
由於基於HTTP的Web是無狀態的,因而存在一定的危險性。例如開發Web的技術之一Applet,儘管很小,但是能夠產生足夠的代碼,以允許未經授權的用戶獲得訪問權或增加訪問資源的權限,而無需經過用戶認證。Java或JavaScript有可能被利用作爲特洛伊木馬或病毒,導致計算機資源被破壞或耗盡。
3.       網絡偵察
網絡偵察指的是對網絡進行掃描以發現有效的IP地址、域名和IP協議端口等信息。網絡偵察本身沒有危害性,但是通過網絡偵查得到的網絡信息可能會幫助黑客發起惡意的攻擊。典型的偵察包括掃描TCP和UDP偵聽端口,以及一些其它的已知協議的偵聽端口,如FTP、HTTP和SMTP等使用的端口。這種偵察會請求一個響應,通過該響應可確定出被攻擊對象所開啓的網絡服務及地址等信息。
網絡偵察攻擊是無法完全防止的,因爲關閉其中的某些服務可能會限制您的網絡診斷功能。
1.2       企業網絡安全體系結構
在企業網絡的體系結構中,通常有三個區域:
1.       邊界網絡
邊界網絡通過邊界路由器直接面向Internet,以基本網絡通信篩選的形式提供企業網初始層面的保護。邊界路由器在企業網安全中擔當第一道防線,應用集成的防火牆特性限制對TCP/IP服務和應用的訪問,實現網絡邊界安全系統。
2.       外圍網絡
外圍網絡通常稱爲DMZ,是企業網絡與外部世界的緩衝地帶。位於這一區域內的堡壘主機(Bastion Host)可向外界提供必要的應用服務,包括匿名FTP服務,WWW服務,DNS等。外圍網絡將企業外部用戶與Web服務器或其他服務鏈接起來,而Web服務器將會通過內部防火牆鏈接到內部網絡。
3.       內部網絡
內部防火牆之後是被屏蔽的各個內部服務器和內部用戶,重要數據因此被保護起來。
這些網絡如圖 1 所示。

圖1 企業網絡體系結構

1.3       防火牆技術
防火牆是一種用於控制兩個網絡之間的IP通信的機制。對於企業網絡來說,它一方面阻止來自Internet的未授權或未驗證的訪問,另一方面允許企業內部網絡的用戶對Internet進行Web訪問或收發E-mail等。防火牆也可以作爲一個訪問Internet的權限控制關口,如允許組織內的特定的人可以訪問Internet。
Quidway系列中低端路由器提供的防火牆技術,主要包括包過濾技術(Packet Filter)和應用層報文過濾(ASPF)技術。包過濾技術利用訪問控制列表(Access List)實現數據報文的過濾,是路由器實現防火牆的主要技術。應用層報文過濾(ASPF)是華爲Quidway系列中低端路由器獨有的網絡安全特性,它彌補了包過濾防火牆應用中的缺陷,提供針對應用層的報文過濾,是一種智能的高級過濾技術,增強了VRP平臺的防火牆功能。
2           ASPF工作原理
2.1       包過濾防火牆的缺陷
防火牆是位於兩個信任程度不同的網絡之間(如企業內部網絡和Internet 之間)的軟件或硬件設備的組合。它對兩個網絡之間的通信進行控制,通過強制實施統一的安全策略,防止對重要信息資源的非法存取和訪問,以達到保護內部系統安全的目的。
包過濾防火牆是華爲3Com公司Quidway系列中低端路由器上主要採用的防火牆技術。通過對每個IP數據包按照用戶所定義的規則進行過濾,實現對用戶的訪問控制。通常,對於路由器需要轉發的數據包,先獲取包頭信息,包括IP層所承載的上層協議的協議號、數據包的源地址、目的地址、源端口和目的端口等,然後和設定的規則進行比較,根據比較的結果對數據包進行轉發或者丟棄。


圖2 IP包頭格式
包過濾防火牆的優點在於它只處理到網絡層,速度較快。另外,包過濾路由器對於應用以及用戶都是透明的,無須在主機上安裝特定的軟件。儘管包過濾技術具有以上優勢,但是也有以下一些缺陷:
1.       基於IP包頭的靜態數據過濾
IP包中的目的地址、源地址、源端口和目標端口是唯一可以用於判斷是否允許包通過的信息。這種基於靜態IP包頭的匹配,雖然可以允許或拒絕特定的應用層服務,但是無法理解特定服務的上下文會話。對於多通道的應用層協議,部分安全策略配置無法預知。例如文件傳輸協議FTP,初始連接爲控制通道連接:這個連接通道用於FTP的命令和應答。控制命令中包含了用於打開數據通道連接的命令。傳統的包過濾防火牆只能預知控制通道的連接,而數據通道爲動態協商,預先無法知曉,因此也無法制定完善的安全策略。配置訪問控制規則較複雜。
2.       包過濾防火牆的維護比較困難。
網絡管理人員爲了滿足企業網絡安全的需要以及各種Internet應用服務的需求,必須配置複雜繁瑣的訪問控制列表以實現對數據包實現過濾。錯誤的配置也有可能導致安全漏洞的產生。此外,缺少有效的工具對配置規則的正確性進行驗證也是包過濾技術的缺陷。
3.       缺乏有效的日誌功能
包過濾防火牆無法實現對於會話的跟蹤。
4.       無法檢測某些來自於應用層的攻擊行爲。
包過濾防火牆無法對一些來自於應用層的威脅進行防範,如Java applet,TCP SYN等。
2.2       ASPF的優點
由於包過濾防火牆在應用層報文過濾方面具有先天的不足,因而ASPF的應用增強了Quidway系列中低端路由器防火牆的性能。ASPF(Application Specific Packet Filter)是針對應用層的包過濾,即基於狀態的報文過濾。ASPF是一種高級通信過濾技術,它檢查應用層協議信息並且監控基於連接的應用層協議狀態。對於所有連接,每一個連接狀態信息都將被ASPF維護並用於動態地決定數據包是否被允許通過防火牆或丟棄。
許多應用層協議,如Telnet、SMTP等都是使用標準的知名端口地址進行通信,但是大部分多媒體應用協議(如H.323)及FTP等協議先使用約定的端口來初始化一個控制連接,然後再動態的選擇端口用於數據傳輸。端口的選擇是通信雙方動態協商的,其中的某些應用可能會同時用到多個端口。爲避免內部網絡遭受外部的攻擊,包過濾防火牆只能阻止固定端口的應用,因而存在安全隱患。ASPF能夠支持一個控制連接上存在多個數據連接,監聽每一個應用的每一個連接所使用的端口,打開合適的通道讓會話中的數據出入防火牆,在會話結束時則關閉該通道,從而對使用動態端口的應用實現有效的訪問控制。
2.3       ASPF的工作機制
ASPF檢測試圖通過防火牆的應用層協議會話信息,阻止不符合規則的數據報文穿過。與普通的靜態包過濾防火牆相同,它也工作於TCP/IP協議棧中的IP層,並與包過濾防火牆協同工作,以實現企業內部網絡的安全策略。下圖所示爲ASPF在協議棧中所處的位置與設計框架。


圖3 ASPF在協議棧中的位置
2.3.1    ASPF主要技術
Quidway系列中低端路由器上的應用層過濾防火牆ASPF採用了近幾年纔開始應用的狀態檢測技術。傳統的包過濾防火牆只是簡單通過檢測IP包頭的相關內容決定數據流的通過還是拒絕,而狀態檢測技術採用的是一種基於會話的狀態檢測機制,將屬於同一會話的所有包作爲一個整體的數據流看待,構成一個會話狀態表。通過會話狀態表與臨時訪問控制表的共同配合,對流經路由器特定接口的報文的各個連接狀態因素加以識別判定。ASPF主要採用了會話狀態表和臨時訪問控制表實現對傳輸報文的動態過濾。
         會話狀態表
一個會話可以被認爲是一個TCP連接。會話狀態表維護了一次會話中某一時刻會話所處的狀態,用於匹配後續的發送報文,並檢測會話狀態的轉換是否正確。會話狀態表在檢測到第一個外發報文時創建,即通過第一個SYN包建立。
會話狀態表中的記錄的信息既包括當前會話的通信信息,也包括是本次會話之前的通信信息。因此,與傳統包過濾防火牆的靜態過濾相比,ASPF考慮到會話的上下文信息,具有更好的靈活性和安全性。
         臨時訪問控制表
臨時訪問控制表不同於包過濾防火牆的訪問控制列表(ACL)。它獨立於訪問控制列表,在創建會話狀態表項的時候同時創建,會話結束後刪除。其功能相當於一個擴展的訪問控制規則的permit項,用於匹配一個會話中的所有應答報文。
2.3.2    應用層協議檢測的基本原理


圖4 應用層協議檢測的基本原理
如上圖所示,爲了保護企業內部網絡,一般情況下需要在路由器上配置靜態訪問控制列表,以便允許內部網的主機的訪問外部網絡,同時拒絕外部網絡的主機訪問內部網絡。但靜態訪問控制列表會將用戶發起連接後返回的報文過濾掉,導致連接無法正常建立。當在路由器上配置了應用層協議檢測後,ASPF可以檢測每一個應用層的會話,並創建一個狀態表和一個臨時訪問控制表(TACL)。臨時訪問控制表主要用於匹配一個會話中的所有返回的報文,可以爲某一應用返回的報文在防火牆的外部接口上建立了一個臨時的返回通道。
以FTP檢測爲例說明多通道應用層協議檢測的過程。


圖5 FTP檢測過程示意圖
FTP連接的建立過程如下:
假設FTP Client以1333端口向FTP Server的21端口發起FTP控制通道的連接,通過協商決定由Server端的20端口向Client端的1600端口發起數據通道的連接,數據傳輸超時或結束後連接刪除。
FTP檢測在FTP連接建立到關閉過程中的處理如下:
1.       檢查從出接口上向外發送的IP報文,確認爲基於TCP的FTP報文。
2.       檢查端口號確認連接爲控制連接,建立返回報文的臨時訪問控制表和會話狀態表。
3.       檢查FTP控制連接報文,解析FTP指令,根據指令更新狀態表,如果包含數據通道建立指令,則創建數據連接的臨時訪問控制表;對於數據連接,不進行狀態檢測。
4.       對於返回報文,根據協議類型做相應匹配檢查,檢查將根據相應協議的狀態表和臨時訪問控制表決定報文是否允許通過。
5.       FTP連接刪除時,會話狀態表及臨時訪問控制表隨之刪除。
單通道應用層協議(例如SMTP,HTTP)的檢測過程比較簡單,當發起連接時建立會話狀態表和臨時訪問控制表,連接刪除時系統自動刪除。
2.3.3    傳輸層協議檢測基本原理
傳輸層協議檢測是指通用TCP/UDP檢測。通用TCP和UDP檢測與應用層協議檢測不同,是對報文的傳輸層信息進行的檢測,如源、目的地址及端口號等。需要注意的是,應用層協議檢測優先於傳輸層協議檢測。通用TCP/UDP檢測要求流入接口的報文與之前流出接口的報文完全匹配,即源、目的地址及端口號恰好對應,否則返回的報文將被丟棄。因此對於FTP,H.323這樣的多通道應用層協議,在不配置應用層檢測而直接配置TCP檢測的情況下會導致數據通道無法建立。
2.4       ASPF的性能與應用範圍
ASPF通過散列索引實現會話狀態表和臨時訪問控制表的高速存取,支持最大的併發會話數目爲50000個。但是由於ASPF需要額外的資源對會話狀態信息以及訪問控制信息進行存儲,因而設備啓用ASPF後,可能會帶來部分性能的下降。
從安全策略的應用上來說,ASPF應用於邊界網絡,負責企業內部網絡、局域網絡對外接入或者互聯時的安全策略實施。在骨幹網絡應用中,ASPF是無法實現的,因爲無法確定IP報文的路由路徑,發起報文可能從路由器的某個接口上轉發,應答報文則可能從此路由器的其他接口被轉發,或者從其它路由器轉發,因此ASPF無法維護某個端到端連接(例如TCP連接)的上下文狀態信息。
ASPF對於上下文狀態的保存和維護都是基於接口的,因此在實際應用中,必須保證報文入口的一致性,即必須保證連接發起報文的返回基於同一策略配置的接口。
分佈式體系結構的設備通常屬於中高端設備,在應用ASPF時,需考慮只能在邊緣用戶的業務接入網絡中作爲接入層路由器使用。
3           ASPF的安全特性
Quidway系列中低端路由器上提供的ASPF防火牆安全特性包括:
         支持應用層協議檢測,包括:FTP、HTTP、SMTP、RTSP、H.323(Q.931,H.245, RTP/RTCP)檢測;
         支持通用的TCP/UDP協議檢測;
         支持會話狀態動態管理
         支持IP分片報文檢測;
         支持端口到應用的映射;
         支持Java阻塞;
         支持會話日誌與調試跟蹤。
3.1       應用層協議檢測
ASPF支持多種應用層協議的檢測。
         SMTP檢測
SMTP是簡單郵件傳輸協議。ASPF檢測基於TCP/IP傳輸的SMTP應用,包括對SMTP協議狀態機轉換的檢測。錯誤的狀態轉換報文將被阻塞和丟棄。
         HTTP檢測
HTTP是超文本傳輸協議。ASPF檢測基於TCP/IP傳輸的HTTP應用。HTTP是無狀態協議,因此ASPF檢測該應用協議的狀態完全等同於通用TCP檢測。對於HTTP協議,ASPF提供對來自特定網段或主機的基於HTTP傳輸的Java applet的檢測和過濾。
         FTP檢測
FTP是文件傳輸協議。ASPF檢測基於TCP/IP傳輸的FTP應用,包括對FTP控制通道的狀態機轉換的檢測,錯誤的狀態轉換報文將被阻塞和丟棄。支持對PASV和PORT兩種方式數據通道協商的檢測,並根據協商參數動態創建數據通道的會話狀態表和臨時訪問控制表。
         RTSP檢測
RTSP是實時流傳輸協議。ASPF檢測基於TCP/IP傳輸的RTSP應用,包括對RTSP控制通道中媒體傳輸通道(基於UDP的RTP/RTCP)參數協商的檢測,並動態創建媒體通道的會話狀態表和臨時訪問控制表。
         H.323檢測
H.323是ITU-T制定的分組網絡上的多媒體傳輸協議。ASPF檢測基於TCP/IP傳輸的H.323應用,包括對Q.931呼叫信令的檢測,用於檢測和維護動態創建的H.245媒體控制通道;ASPF檢測H.245媒體控制通道中媒體傳輸通道(基於UDP的RTP/RTCP)參數協商的檢測,並動態創建媒體通道的狀態表和訪問控制表。
3.2       通用TCP和UDP協議檢測
ASPF檢測TCP會話發起和結束的狀態轉換過程,包括會話發起的3次握手和關閉的4次握手。根據這些狀態來創建、更新和刪除會話狀態表和臨時訪問控制表。當檢測到TCP會話發起方第一個SYN報文的時候,ASPF開始維護此會話相關狀態,並創建一個臨時訪問控制允許表項,以允許該會話所有相關的報文能夠通過防火牆,而其它的非相關報文則被阻塞和丟棄。TCP檢測是其它基於TCP的應用協議檢測的基礎。
UDP協議沒有連接和狀態的概念。當ASPF檢測到UDP會話發起方的第一個數據報時,ASPF開始維護此會話相關狀態,並創建一個臨時的訪問控制允許表項。ASPF認爲發起方收到第一個接收方回送的UDP數據流的時候,此會話建立。其它與此會話無關的報文則被阻塞和丟棄。UDP檢測是其它基於UDP的應用協議檢測的基礎。
3.3       會話狀態動態管理
ASPF支持通過配置會話超時時間實現會話狀態信息的管理。用戶可以通過對TCP的SYN狀態等待超時值、FIN狀態等待超時值,TCP和UDP會話表項空閒狀態超時值以及應用層協議空閒狀態超時值進行配置,達到根據會話時間對會話狀態進行管理的目的。
此外,在應用層協議檢測部分中也提到,對於存在狀態機轉換的應用層協議,ASPF也支持根據狀態機轉換的正確性與否管理會話狀態信息的目的。ASPF可以實現會話狀態的自動創建,更新與刪除。
3.4       IP分片報文檢測
如果IP數據包的內容大於MTU的大小,數據包將會被分片,形成多個更小的IP數據包。在所有分片後的IP數據包中只有第一個分片包含了完整的IP包信息,其它分片只有IP地址信息。ASPF根據TCP的分片標識把接收到的報文區分爲非分片報文、首片分片報文以及非首片分片報文三類。
ASPF記錄所有被分片報文的狀態信息以提供對分片報文正常檢測和過濾的支持。對於首片分片,ASPF根據報文的IP層信息及IP層以外的信息創建會話狀態表與臨時訪問控制表。當後續分片到達時,ASPF使用保存的會話狀態信息對臨時訪問控制表中的每一個匹配條件進行精確匹配。
3.5       端口到應用的映射
應用層協議使用通用的端口號進行通信。端口映射(PAM,Port to Application Mapping)允許用戶對不同的應用定義一組新的端口號,用於應用使用非通用端口時的情況。例如應用在81端口提供HTTP,就可以通過端口映射設定,從而知道81端口的數據是HTTP報文。端口映射提供了一些機制來維護和使用用戶定義的端口配置信息。
端口到應用的映射提供了對應用協議的非標準端口應用的支持。PAM支持兩類映射機制:通用端口映射和基於基本訪問控制列表(ACL)的主機端口映射。
         通用端口映射
通用端口映射是將用戶自定義端口號和應用層協議建立映射關係,例如:將8080端口映射爲HTTP應用時,所有目標端口是8080的TCP報文都被認爲是HTTP報文,這樣就可以通過端口號來識別應用層協議。通用端口映射可以指定某一個端口和一個應用關聯,也可以支持多個端口到一個應用的映射。
         主機端口映射
主機端口映射指定某一主機範圍的某一端口和一個應用關聯。主機範圍可以通過標準ACL來指定。例如:將去往10.110.0.0網段的主機使用8080端口的TCP報文映射爲HTTP報文。端口到應用的主機映射支持如下兩種情況:
1)       一個或多個端口到一個應用的主機映射方式;
2)       如果主機範圍不同,也可設置一個端口到多個應用的關聯。
3.6       Java阻塞
由於惡意applet會對用戶的計算機系統資源的造成破壞,因而需要限制未經用戶允許的Java applet下載至用戶的網絡中。Java 阻塞(Java Blocking)可實現對來自於不信任站點Java applet的過濾。
通過標準的訪問控制列表(ACL)來標識區分可信任的與不可信的主機或網段。當路由器防火牆配置了HTTP檢測和Java阻斷時,受保護網絡內的用戶如果試圖通過Web頁面訪問不可信站點,則Web頁面中爲獲取包含Java applet程序而發送的請求指令將會被ASPF阻斷過濾。需要注意的是,ASPF的Java 阻斷功能現在只能實現對封裝成.Class的Java applet進行阻斷,而對於以其它方式封裝的applet不能實現過濾。
3.7       會話日誌與調試跟蹤
與包過濾防火牆相比,ASPF提供了增強的會話日誌功能,可以對所有的連接進行記錄,包括:記錄連接的時間、源地址、目的地址、使用的端口和傳輸的字節數。此外,ASPF可以針對不同的應用協議與參數實現對會話狀態的跟蹤與調試,爲系統故障診斷提供了豐富的信息。
4           典型組網方案
4.1       組網需求
在防火牆上配置一ASPF策略,檢測通過防火牆的FTP和HTTP流量。要求:如果該報文是內部網絡用戶發起的FTP和HTTP連接的返回報文,則允許其通過防火牆進入內部網絡,其他報文被禁止;並且,此ASPF策略能夠過濾掉來自服務器2.2.2.11的HTTP報文中的Java Applets。本例可以應用在本地用戶需要訪問遠程網絡服務的情況下。
4.2       組網圖


圖6  ASPF配置案例組網圖
4.3       配置步驟
         選擇應用ASPF接口,確定內部接口和外部接口。
內部接口是指通信會話發起方所在的一側的設備接口,外部接口則是指不能發起會話的一側的設備接口,在這一側發起的會話將被阻止。內部接口和外部接口是相對的,取決於實際的應用環境。
         定義檢測規則和全局參數值。
檢測規則指定了ASPF檢測的TCP/UDP流量的種類,檢測規則可以指定所期望的應用層協議或者一般的TCP和UDP檢測,對於一個檢測規則,可以同時定義對多個應用協議的檢測。全局參數值包括應用協議以及TCP、UDP超時設定等。
         在選定的接口上應用檢測規則。
         配置包過濾防火牆協同工作。
配置方案如下:
# 在ASPF路由器上配置允許防火牆。
[Quidway] firewall enable
# 配置訪問控制列表3111,以拒絕所有TCP和UDP流量進入內部網絡,ASPF會爲允許通過的流量創建臨時的訪問控制列表。
[Quidway] acl number 3111
[Quidway-acl-adv-3111] rule deny
# 創建ASPF策略,策略號爲1,該策略檢測應用層的兩個協議:FTP和HTTP協議,並定義沒有任何行爲的情況下,這兩個協議的超時時間爲3000秒。
[Quidway] aspf-policy 1
[Quidway-aspf-policy-1] detect ftp aging-time 3000
[Quidway-aspf-policy-1] detect http aging-time 3000
[Quidway-aspf-policy-1] detect http java-list 2001
# 配置訪問控制列表2001,以過濾來自站點2.2.2.11的Java Applets。
[Quidway] acl number 2001
[Quidway-acl-basic-2001] rule deny source 2.2.2.11 0
[Quidway-acl-basic-2001] rule permit any
# 在接口上應用ASPF策略
[Quidway-Serial1/0/0] firewall aspf 1 outbound
# 在接口上應用訪問控制列表3111
[Quidway-Serial1/0/0] firewall packet-filter 3111 inbound
5           結論
華爲3Com公司Quidway系列中低端路由器採用ASPF防火牆技術,進一步增強了系統安全特性與靈活性。同時,ASPF也將不斷豐富其所支持的應用,爲用戶提供更多更方便的安全解決方案。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章