張 恬
(無錫城市職業技術學院,江蘇 無錫 214153)
Web 技術具有標準化的特征,高校的很多應用都采用Web 應用形式,比如:網站群系統、教務系統、辦公系統等。 隨著智慧校園的建設,對高校網絡安全的重視,Web 應用的快速發展,暴露出較多網絡安全方面的問題,網絡安全等級保護2.0 的實施對Web 應用安全提出了一定要求。 HTTP 協議的安全機制缺乏和Web應用系統本身的安全漏洞,導致Web 應用層面的安全風險逐日增大。 傳統的網絡安全設備工作在網絡層居多,導致應用層的防護與其不匹配,網絡安全設備(IDS和IPS)可以通過包檢測技術來探知流經應用層的流量,并匹配攜帶的攻擊特征庫,從而辨識網絡攻擊,對應用層進行防護,但IDS 和IPS 對靈活編碼和報文分割實現的應用層攻擊無法防御。 Web 應用防火墻(Web application firewall,WAF)工作在應用層[1-2],對HTTP協議的請求和應答進行重組解析,并與攻擊特征庫進行匹配,根據判斷出的攻擊行為做出報警或者阻斷等不同處理。 本文首先介紹Web 應用相關的技術,HTTP協議機制與基于已知攻擊方式的不足,接著分析WAF的特異性配置的優點和日常管理注意事項等,在此基礎上建立WAF 實際應用模型,經檢測可以有效阻斷Web 應用層的攻擊。
Web 應用服務具備很強的交互性,客戶端與服務器端的交互是通過HTTP 協議進行的[3],典型的Web應用即為客戶端向Web 服務器發送HTTP 或HTTPS請求,服務器收到請求后進行應答。 超文本傳輸協議(Hyper Text Transfer Protocol,HTTP)是一個基于請求與響應模式的、無狀態的、應用層的協議,基于TCP 的連接方式,給出一種持續連接的機制,大多數的Web 開發都是構建在HTTP 協議之上的 Web 應用[4-5]。 故Web 應用安全問題大部分是忽略了對用戶輸入數據的審核,從而導致攻擊行為的發生。 在傳輸過程中,首先由客戶端向服務器端發送請求,請求頭的內容主要有請求的方法、URL、協議版本等。 服務器接收到請求,對請求發出響應,響應的內容主要有消息協議的版本、成功或者錯誤編碼等。 HTTP 協議的報文頭有4 部分內容:通用頭、請求頭、響應頭和實體頭。 4 部分包括的具體內容如表1 所示。 在請求發出時,消息的首行格式包含對URL 完成的方法,有 OPTIONS,GET,HEAD,POST,PUT,DELETE 和TRACE。 Web 應用安全問題的產生因為用戶可以在報文頭的任意部位進行輸入操作,每個點都會成為攻擊注入點。 最常見的Web 攻擊注入點有GET,POST,Cookies,Referen,User-Agent,請求頭等。

表1 報文頭內容
WAF 最常見的檢測方法是模式匹配的方式,但該檢測方法會有繞行的風險,主要原因有兩點,一是模式匹配的固定模式,無論是采用正則匹配或者添加一些其他匹配方式,會有被繞行的風險;二是HTTP 協議的解析漏洞,若攻擊者發起異常數據包,正常無法提取變量,即直接繞過WAF 檢測。
目前WAF 為了對攻擊進行快速的識別,大部分規則庫的建立都是基于已知攻擊方式,這種方式的不足之處在于:(1)攻擊方式與形式具備多變性的特點,直接導致增加規則庫的體量,維護規則庫會造成較多的消耗。 (2)新型攻擊或未知攻擊發生時,無法有效斷定是否為惡意攻擊,而導致防護能力弱,只能進行“事后防護”。 (3)對缺乏明顯攻擊特性的數據篡改等攻擊形式防護能力薄弱。
綜合以上不足,具有特異性配置的WAF 可以根據需要防護的Web 應用合理有效地配置所需的防護。 這種防護方式從Web 應用本身業務作為切入點,通過合法通信,采集數據樣本,變成適應自身業務系統的規則庫,更有針對性。
黑白名單檢測可以增強WAF 系統的網絡防護,對于加入黑名單的IP 地址,會被直接攔截,相反加入白名單的IP 地址,則直接將數據包轉發。 如果兩種情況都不滿足,普通的請求報文,進行檢測流程。
規則組模塊主要進行各類匹配規則的設置,例如協議限制類、注入攻擊類、跨站攻擊等。 這些規則的設置都是基于對發送報文的解析,分析HTTP 報文,通過獲取到請求字段,將請求字段與規則組匹配,深度掃描是否含有攻擊類型,并判斷是否觸發響應模塊的處理。規則組會根據網絡中新增的應用程序或者模塊等進行更新操作,完善規則庫。
報文的解析主要包括對HTTPS 報文的加解密處理、將編碼統一化和提取報文字段3 步操作。 第一,對HTTPS 報文的加解密處理,需要通過HOST 域來進行判定送到的目的Web 服務器,根據提供的SSL 證書和密鑰對請求報文進行解密操作,翻譯為明文后,轉發到下一個目的模塊,同時將服務器響應的應答報文進行加密操作并轉發。 第二,將編碼統一化,主要對HTTP報文進行處理,編碼方式有多種,例如:URL 編碼、Unicode 編碼等。 為了防止有攻擊繞行,將編碼進行統一化處理。 第三,提取報文字段,提取對HTTP 的請求和發出的響應報文內容,請求報文中將Host 字段與Post 請求中的主體提取出,響應報文中將SetCookie 字段內容進行提取。 最終提出的內容與規則庫進行有效匹配,進行篩選。
日志記錄是WAF 系統的重要記錄部分,記錄的類型可以設置為基本、詳細和全部3 種類型。 當有攻擊行為發生時,會記錄下攻擊信息,通過報表的方式查看攻擊的類型等。
Web 頁面的參數主要有固定類型參數、枚舉參數、用戶輸入參數3 類。 第一種固定類型參數,比如輸入出生日期等數字是固定的,可以為通用配置。 第二種枚舉類型的參數,通常在頁面的表現方式是下拉框或者選擇框,比如性別等,可以在規則庫設置匹配表進行通用配置。 第三種用戶輸入類型,容易成為攻擊手段,只配置通用規則庫則無法全面防護,需要進行特異性配置。 而自定義規則則傾向于特異性配置,對不同的Web 系統可以調整適用的配置,例如HTTP 請求走私,可以設置啟動或不啟動。 對Web 安全防護的有效性和可靠性有更高的提升。 具體的優點可以總結為:(1)高效性,通過初期Web 頁面參數的篩選,減少固定類型和枚舉類型參數的匹配,大大節約了計算時間。 (2)適用范圍廣,對于特定的Web 應用進行特異性配置即可,可以打破固定模式。 (3)安全性更高,有差異的對待,可以更具備針對性,安全性等級加強。
配置Windows Server 2008 系統,采用IIS7.0 服務器,配置Windows10 客戶機,采用安恒明御防火墻,對應用層進行防護。 結合學校本身的網絡架構,將WAF配置成透明代理模式串接在核心網絡中。 在實際應用中,將測試站點加入保護站點,部分攻擊攔截如圖1 所示。 為增加系統防護功能,啟動黑白名單設置,配置規則庫,并對不同的Web 應用啟動特異性配置,如圖2 所示,經過檢驗,可以有效防御惡意攻擊,網絡整體安全性得到了提升,對日常維護具備極大的保障,具有很高的應用價值。

圖1 攻擊攔截

圖2 特異性配置
讓WAF 有效發揮作用,對其日常管理也尤為重要,需要做好的維護有:系統定期升級,包括規則庫的升級,提高系統整體防護效果;WAF 配置策略定期進行備份,當異常情況發生時,可以使用還原配置文件;定期查看WAF 日志,對攻擊事件分類處理,將惡意IP 加入黑名單;更新防護站點后,及時配置防護策略。
Web 應用層的攻擊持續增高,網絡安全防護也日益重要,本文詳細分析了HTTP 協議,并介紹了幾種基于已知攻擊方式的不足,針對容易暴露的風險,提出了一種特異性Web 應用防火墻的配置。 通過實際應用實踐表明,此配置方式不僅可以節約規則庫的計算時間,還可增強Web 應用的安全性,有效提高了WAF 防護的效率,具有較高的實用價值。 另外,Web 應用的防御不可松懈,大負荷的WAF 配置,對其本身的安全性和整個網絡架構的安全性也是一大隱患,如何與其他網絡安全設備形成有效聯動并形成壓力分擔是以后的研究方向。