孫 楠,林忠南,張 驍,劉壯峰
(舟山市氣象局,浙江 舟山 316000)
隨著物聯網、云計算、大數據、人工智能等新一代信息技術的日益成熟,信息和數據安全[1]也成為各企業單位的關注重點。氣象信息與人們的生活息息相關,影響著日常作業,特別是對于沿海的城市,氣象數據更具有不可替代的重要性,需要確保氣象業務運系統的正常運行和氣象數據的安全,但是傳統的防火墻無法檢測到異常流量與提供Web應用系統防護,因此加入了Web應用防火墻[2]來(以下簡稱“WAF”)增強氣象業務系統的防護,可以防止網頁被惡意篡改、SQL注入[3]和黑客攻擊等,從而確保了氣象網站的安全性和數據的準確性。
WAF是部署在氣象業務系統服務器的前面,在用戶請求到達Web服務器前對請求的內容進行規則匹配和行為分析,檢測和識別是否存在惡意行為,確保每個用戶請求有效且安全。對于存在的惡意行為,比如SQL注入、篡改網頁等各類Web應用攻擊,WAF會對其進行阻斷、記錄、告警等。WAF的阻斷和防護功能,降低了氣象業務系統的安全風險,進而維護了網站的公信度。
根據WAF的位置是串聯還是并聯在交換機上分為如下2種典型網絡部署方式。
最簡單的串聯部署方式為普通模式,部署時不需要對服務器和其他網絡設備進行調整,在需要快捷部署WAF時建議選用該部署方式,如圖1所示。當存在不同局域網的情況下可以選擇Trunk模式,部署時需要在交換機中添加Trunk接口,通過在Trunk接口上設置允許的VLAN來實現WAF對不同局域網中的服務器進行防護的功能;當需要增加帶寬時,可以選擇Channel模式,對Channel接口進行設置;當需要防護不同局域網中的服務器,同時也需要增加帶寬時,可以選擇Trunk+Channel模式,即Trunk模式和Channel模式的結合模式。

圖1 普通模式
旁路模式是將WAF與交換機并聯連接在一起,其中單臂模式是將交換機的一個接口與WAF設備連接,通過連接的NAT設備將數據包的源地址和目的地址進行轉換,實現WAF對Web服務器的代理防護功能;旁路阻斷模式是使用鏡像接口將通過交換機的數據包鏡像至WAF中,WAF對鏡像數據包進行安全監測,如果檢測到攻擊行為通過命令下發接口下發阻斷命令至客戶端和服務器端,WAF不對數據包做任何改變;旁路監測模式是使用鏡像接口將通過交換機的數據包鏡像至WAF中,WAF對鏡像數據包進行安全監測,不下發阻斷命令。其中旁路阻斷模式和旁路監測模式需要通過離線部署。
HTTP協議規則是通過對HTTP協議包頭各字段的長度設置限值、控制主體和控制源進行校驗。當客戶端向服務器發起請求時,WAF引擎獲取標準頭中的數據,對源IP對象向服務器IP對象的請求進行校驗;將規則中設定了限值的實際值和設定值進行比較,如果大于限值則說明可能遭受畸形HTTP協議包攻擊。同時也可以檢查HTTP協議的版本號、請求方法,HOST域是否為空及POST請求消息包頭中的CONTENT_LENGTH是否為空等。
特征庫是系統默認的規則庫,包含SQL注入、跨站腳本攻擊(XSS)、防爬蟲規則和信息泄露等規則,用戶也可以自定義一些特征庫規則。WAF應用安全防護系統會定期發布最新的特征庫,用戶可以通過相關的正規的網站獲得最新的特征庫;也可以通過購買license授權,在WAF頁面設置啟用規則庫自動升級。
網絡爬蟲[4]是一種按照一定的規則,自動抓取萬維網信息的程序或者腳本,在互聯網、金融等各個領域被廣泛應用,可以自動地在互聯網中對所能訪問到的內容進行信息采集與整理,以獲取或更新這些網站的內容和檢索方式。網絡上有很多搜索引擎,如百度、雅虎等,都使用爬蟲提供最新的數據。但如果惡意使用爬蟲技術抓取大量的網站頁面,不但占用網站帶寬,而且影響服務器性能,WAF通過設置爬蟲防護規則,可以防止信息被搜索引擎獲取。
掃描器通過向目標計算機發送數據包,快速準確地掃描目標存在的漏洞,并把掃描結果反饋給使用者,借此來判斷目標計算機的操作系統類型、開發端口、提供的服務等敏感信息。WAF可以通過設置掃描防護規則,防止信息被掃描器獲取,造成泄露。掃描防護規則默認處理動作為封禁,封禁時間為7 200s。掃描防護規則默認引用IP對象為search engine IP,WAF會對掃描器的IP地址進行檢測,如果屬于該IP對象則不會對該IP地址上的掃描進行防護處理。
首先對需要防護的氣象網站服務器進行參數配置,部署方式是將WAF串聯在網絡拓撲中進行防護,防護模式選擇了代理模式,因為代理模式可以對協議進行深度解析,其內部代理防護能力較強,同時配置了數據壓縮的最小壓縮值和壓縮級別,以及高速緩存的類型和有效時間。這里配置的氣象網站服務器需要被應用防護安全的Web防護策略和基礎資源對象里的Web主機(歸屬服務器)所引用。
Web防護策略的配置主要是對第一步所管理配置完成的氣象網站服務器增加一些防護規則和自定義Web防護策略的優先級,主要選取了HTTP協議校驗規則、特征防護規則、爬蟲防護規則和掃描防護規則。當訪問氣象網站的請求存在惡意行為,經過WAF服務器時,防護策略會判斷請求是否符合規則,不符合規則的則進行阻斷或隔離。管理2個及以上服務器時,可以對防護策略自定義優先級,優先級數越小,優先級別越高,優先級別由1~10 000逐級遞減,優先級可重復,當2條數據優先級一致時,則按照添加數據的順序決定優先級順序。防護策略配置步驟如圖2所示。

圖2 Web防護配置流程圖
當用戶訪問氣象網站時,WAF會解析HTTP請求,根據配置的防護規則檢驗HTTP中的參數是否存在攻擊行為,若存在惡意的攻擊行為,會按照規則中設定的防護動作進行攔截,管理人員也會及時收到報警短信,可以在攻擊日志頁面中查看到攻擊事件。當網站出現某個頁面不能正常顯示時,可能是被WAF誤攔截,管理員可以在攻擊日志頁面中查看事件攻擊詳情,如果確認該防護事件為誤攔截導致頁面不能訪問的,可以在處理動作中選擇通過,根據攻擊類型調整相應的Web防護規則限制。設置后,訪問過程中若出現該類型事件WAF將不再攔截,即攻擊日志頁面中將不再顯示該類型事件,管理人員也不會收到此類型事件的短信通知。
為了避免Web應用訪問被WAF攔截,在加入WAF防護之前應該做好所有應用功能的測試,例如URL中加入字符、輸入SQL命令等,以及文件和圖片上傳等功能是否正常,允許上傳下載的文件和圖片的類型是否全面,文字編輯字符數量是否受限制,弱密碼和敏感信息檢測是否符合規范等,避免因測試不全導致在使用中被誤攔截,影響正常業務。
WAF具有自學習系統,通過學習用戶訪問氣象網站的數據信息,統計出服務器的所有資產,包括站點、URL以及各個URL的參數信息,總結出站點保護對象的正常模型,并生成相應的防護策略,對異常流量進行檢測和防護。Web應用的功能非常復雜,用戶的請求方式各式各樣,機器學習算法也不可能100%還原所有用戶正常行為,因此WAF自學習功能會存在誤報,需要管理員時刻關注并處理。
網絡攻擊無處不在,攻擊手段各式各樣,WAF對HTTP協議進行自行解析,可能存在與Web服務器對HTTP的請求理解不一致的現象,導致一些請求試圖繞過WAF[5]攻擊氣象業務網站。因此為了提高網站的防御能力,要有清晰的需求說明,不斷完善防護規則,建立安全的Web防護系統。漏洞是會一直存在的,也會不斷地衍生出新的漏洞,管理人員要及時關注和升級特征規則庫,防止業務網站被攻擊,影響正常運行。
WAF通過設置應用安全防護規則和多種機制的分析檢測,有效地阻斷各種網絡攻擊事件,保證Web應用合法流量的正常傳輸,這對于保障氣象業務系統的連續運行和數據安全性具有重要的作用。但也存在一些不足之處,在業務系統復雜的情況下,繞過WAF的概率和誤攔截的可能性會增加,降低了網站的安全性。維護Web網站的安全,不能只局限于應用層或者只基于規則進行防護,要進行多方面的考慮和攔截。如WAF是否可以建立雙重機制規則,降低HTTP請求繞過的概率。