一、引言
防火墻是在被保護網絡和互聯網之間,或是在其他網絡之間限制訪問的一種或一系列部件,主要具有過濾網絡數據包、管理網絡訪問行為、封堵禁止訪問行為、記錄通過的信息內容和活動、對網絡攻擊進行檢測和告警等基本功能。防火墻作為網絡安全保護的第一道屏障,直接影響著網絡的正常應用。
二、防火墻性能測試指標
建立一套科學合理的測試指標是保證測試有效進行的必要前提。一般來說,選取的測試指標應具備以下特征。代表性:所選指標在體現網絡設備特征方面應具有代表性。可執行性:所選取指標在測試時應便于執行。可對比性:所選取指標應使不同設備的測試結果可進行對比。完整性:所選取指標應能完全反映設備的性能狀況。
網絡互聯設備基準方法(RFC2544)中定義了4個網絡設備的性能指標:吞吐量、延遲、丟包率和背靠背。防火墻性能基準方法
(RFC3511)中則定義了10個網絡設備的性能指標:IP吞吐率、傳輸控制協議(TCP)并發連接數、最大TCP連接建立速率、最大TCP連接拆除速率、抗攻擊能力、HTTP傳輸速率、最大HTTP處理速率、異常流量處理、IP分片處理及延遲。GB/T20281-2015《信息安全技術防火墻技術要求和測試評價方法》中則對防火墻規定了4個性能指標:吞吐量、延遲、最大并發連接數和最大新建連接速率。
為建立一套科學合理的測試指標體系,本文綜合以上標準要求并結合測試經驗,在進行實際防火墻測試時,主要考慮6個性能指標:吞吐量、延遲、丟包率、背靠背、最大并發連接數和最大新建連接速率。吞吐量:在沒有數據幀丟失的情況下,設備能接受的最大包轉發速率。延遲:數據幀最后一位的末尾達到防火墻內部網絡輸入端口,至數據幀第一位的首部到達防火墻外部網絡輸出端口之間的時間間隔。丟包率:在連續負載的情況下,防火墻由于資源不足,應轉發但卻未轉發的幀百分比。背靠背:從空閑狀態開始,以達到傳輸設備最小合法間隔極限的傳輸速率發送相當數量的固定長度的幀,當出現第一個幀丟失時,發送的幀數。最大并發連接數:防火墻能保持的最大TCP連接數。最大新建連接速率:防火墻在單位時間內所建立的最大TCP連接數。
三、防火墻性能測試方法
防火墻性能是硬件和軟件的綜合表現,硬件的設計和配置直接影響設備的性能。在相同硬件配置條件下,高效的算法和優化的管理軟件也能大大提高防火墻性能。
測試指標會針對每個性能提供多個測試用例,在執行性能測試用例過程中,主要涉及測試環境的搭建和性能測試工具參數的設置,而參數的設置將直接影響測試結果的準確性和公正性。防火墻性能測試中的主要測試儀表包括:Spirent公司的性能分析儀(TestCenter)、Avalanche和IXIA公司的Ixload等。
(一)吞吐量。作為衡量防火墻性能的重要指標之一,吞吐量小會造成網絡的瓶頸,從而影響整個網絡的性能。性能測試儀測定的是被測設備在不丟包的情況下,正常轉發的最大吞吐量。一般選端口的理論最大值(如100%),通過二分算法得出最終不丟包的情況下的最大吞吐量。延長測試時間和選取不同幀長的數據包等方法可提高吞吐量性能測試結果的精確度。但測試時間的延長及選取不同幀長的數據包又將大幅增加測試時間。所以綜合考慮,根據RFC2544的要求,每一輪數據包的發送時間為120秒。此外,不同幀長的數據包吞吐量的差別很大,這是因為同一帶寬下,幀長與數據包數成反比,幀長越小,包數越大,防火墻對包的處理耗費時間就越多,從而導致吞吐量下降,反之亦然。根據RFC2544的要求,測試時的幀長一般選取為64字節、128字節、256字節、512字節、1280字節、1518字節。
(二)延遲。延遲能力將體現防火墻的數據處理速度。一般延遲是通過按一個固定的持續時間發送幀,每一秒會有一個打了時間戳T1的幀被傳輸出去,當測試儀收到這個幀時,將完成傳輸時的時間與幀攜帶的時間戳T2的比較,從而計算出延時值為T2-T1。考慮時鐘同步問題,一般將發出的幀環回到發送方進行比較。延遲測試是建立在吞吐量指標測試的基礎上,首先要進行吞吐量測試,然后根據吞吐量的測試結果向設備發送對應每個幀長吞吐量的數據包。
(三)丟包率。丟包率對防火墻的穩定性、可靠性有很大影響。一般測試時按初始速率開始發送幀,記錄收到的幀數量,如果被測設備不能完全轉發,會降低一點速率再次發送,測試會一直持續到防火墻可完全轉發為止,最后的結果會顯示出各種幀長度的幀丟失情況。丟包率測試是通過發送端向防火墻發送一定數量的測試幀,幀數計為A;接收端在收到數據包后對其進行統計,得出成功轉發的數據幀個數為B;則可得丟包率為B/A×100%。
(四)背靠背。該指標能體現出被測防火墻的緩沖能力。通過向被測設備連續發送具有最小幀間隔的N個幀,并統計被測設備轉發幀的個數。如果發送幀的個數和轉發幀的個數相等,則增加N值,再重復上述測試過程。
(五)最大并發連接數。主要用來測試被測防火墻建立和維持TCP連接的性能。利用性能測試儀測試最大并發連接數時,在服務器上設定一定大小的時延,使服務器和客戶端一直保持聯接狀態,然后使客戶端和服務器快速建立大量聯接,直到設備達到最大承受的連接數。
(六)最大新建連接速率。主要用來衡量單位時間內防火墻建立和維持TCP連接的能力。利用性能測試儀測試每秒新建聯接時,客戶端向服務器發起建立聯接并請求一個設定好的網頁,收到請求的網頁立即關閉聯接,不斷提高建立聯接的速率,直到設備中有聯接沒有成功建立為止。
四、防火墻性能測試的考慮因素
筆者通過性能測試儀進行的是一種模擬測試,希望盡可能逼近現實網絡環境,這里真實的環境可以是防火墻的使用場景,也可以是防火墻中的流量內容。防火墻各個性能指標值之間是強關聯,但按照RFC測試理論,測試某一個性能指標時,應盡量排除其他指標的影響,實際測試的是這個指標的最優值。在實際應用中,往往對各種指標進行綜合考慮,但在實驗室環境中,會受到一些因素的限制。
(一)性能設置的各個參數都是強關聯的,并將影響結果的準確性。筆者在進行TCP連接性能測試時,沒有考慮并發連接數對新建數產生的影響,同樣對新建數進行測試時,也沒有考慮并發連接數對其的影響。實際上,防火墻在某一時間內運行TCP連接時,可能存在3種情況:正在建立聯接、正在傳輸數據、正在關閉聯接。測試并沒有考慮這樣復雜的情況,性能測試儀所創建的測試流量模型是不斷地建立聯接,再傳輸數據,而后依次關閉聯接,失去了一定的真實性。
(二)用戶在實際上網時會考慮認證時間、接入速度、網頁聯接時間等,而這些因素往往在性能測試中被忽略。
(三)在相同網絡環境背景下,防火墻一些功能的開啟將會對其性能產生影響:網絡地址轉換(NAT)是將防火墻的源地址、目的地址及端口進行轉換,從而隱藏受保護的網絡真實地址。防火墻的性能應考慮最真實性能,因此要求防護功能全部開啟,才能更真實地體現防火墻的性能。
(四)在實際網絡流量中,混合加密的SSL流越來越普遍,防火墻應能迅速截獲SSL數據流并進行解密。在性能測試時,加載一定加密流量也是應該考量的一部分。
(五)性能優良的防火墻能不僅阻攔來自外部的惡意攻擊,還能使內部網絡與外界正常通信,對外提供服務。因此,應考慮防火墻在正常聯接情況下的防攻擊能力,在正常流量中增加各種攻擊流量也是對真實環境的考量。
防火墻的性能逐漸成為衡量防火墻的一個重要指標,隨著測試設備的升級、測試標準的更新及測試手法的多樣化,防火墻性能測試也在不斷接近真實的網絡環境。因此,只有在測試前對相關因素進行嚴格分析、統一檢測方法標準,才能對防火墻進行科學、合理、公正的測試。
(原載于《保密科學技術》雜志2017年8月刊)