安全基礎知識:防火牆、WAF、IPS、IDS

1 防火牆 (Firewall)別名防護牆,於1993發明並引入國際互聯網。他是一項信息安全的防護系統,依照特定的規則,允許或是限制傳輸的數據通過。在網絡中,所謂的防火牆是指一種將內網和外網分開的方法,他實際上是一種隔離技術防火牆對流經它的網絡通信進行掃描, 這樣就能夠過濾掉一些攻擊,以免其在目標計算機上執行。通常的防火牆主要工作第二到第四層,重心是在網絡層,用於過濾IP和協議類型。

2 WAF (Web Application Firewall) Web應用防火牆Web應用防火牆是通過執行一系列針對HTTP/HTTPS的安全策略還專門為Web應用提供保護的一款產品。與傳統防火錢不同,WAF工作在應用層。

3 IDS (Intrusion Detection System) 入侵檢測系統依照一定的安全策略,通過軟件、硬件、對網絡、系統的運行狀況進行監視儘可能的發現各種攻擊企圖、攻擊行為或者攻擊結果,以保證網絡系統資源的機密性、完整性和可用性。入侵檢測檢測可分為實時入侵檢測和事後入侵檢測。

4 IPS (Intrusion Prevention System) 入侵預防系統IPS是對防病毒軟件和防火牆的補充,入侵預防系統是一部能夠監視網絡或網絡設備的網絡資料傳輸行為的計算機網絡安全設備,能夠即時的中斷、調整或隔離一些不正常或是具有傷害性的網絡資料傳輸行為。

產生原因

A:串行部署的防火牆可以攔截低層攻擊行為,但對應用層的深層攻擊行為無能為力。

B:旁路部署的IDS可以及時發現那些穿透防火牆的深層攻擊行為,作為防火牆的有益補充,但很可惜的是無法實時的阻斷。

C:IDS和防火牆聯動:通過IDS來發現,通過防火牆來阻斷。但由於迄今為止沒有統一的接口規範,加上越來越頻發的“瞬間攻擊”(一個會話就可以達成攻擊效果,如SQL注入、溢出攻擊等),使得IDS與防火牆聯動在實際應用中的效果不顯著。

這就是IPS產品的起源:一種能防禦防火牆所不能防禦的深層入侵威脅(入侵檢測技術)的在線部署(防火牆方式)安全產品。由於用戶發現了一些無法控制的入侵威脅行為,這也正是IDS的作用。 入侵檢測系統(IDS)對那些異常的、可能是入侵行為的數據進行檢測和報警,告知使用者網絡中的實時狀況,並提供相應的解決、處理方法,是一種側重於風險管理的安全產品。

入侵防禦系統(IPS)對那些被明確判斷為攻擊行為,會對網絡、數據造成危害的惡意行為進行檢測和防禦,降低或是減免使用者對異常狀況的處理資源開銷,是一種側重於風險控制的安全產品。 這也解釋了IDS和IPS的關係,並非取代和互斥,而是相互協作:沒有部署IDS的時候,只能是憑感覺判斷,應該在什麼地方部署什麼樣的安全產品,通過IDS的廣泛部署,瞭解了網絡的當前實時狀況,據此狀況可進一步判斷應該在何處部署何類安全產品(IPS等)。


FW/IDS/IPS/WAF等安全設備部署方式及優缺點

現在市場上的主流網絡安全產品可以分為以下幾個大類:1.基礎防火牆FW/NGFW類

主要是可實現基本包過濾策略的防火牆,這類是有硬件處理、軟件處理等,其主要功能實現是限制對IP:port的訪問。基本上的實現都是默認情況下關閉所有的通過型訪問,只開放允許訪問的策略。FW可以攔截低層攻擊行為,但對應用層的深層攻擊行為無能為力。 FW部署位置一般為外聯出口或者區域性出口位置,對內外流量進行安全隔離。部署方式常見如下

安全基礎知識:防火牆、WAF、IPS、IDS

2.IDS類

此類產品基本上以旁路為主,特點是不阻斷任何網絡訪問,主要以提供報告和事後監督為主,少量的類似產品還提供TCP阻斷等功能,但少有使用。

安全基礎知識:防火牆、WAF、IPS、IDS

3.IPS類

解決了IDS無法阻斷的問題,基本上以在線模式為主,系統提供多個端口,以透明模式工作。在一些傳統防火牆的新產品中也提供了類似功能,其特點是可以分析到數據包的內容,解決傳統防火牆只能工作在4層以下的問題。和IDS一樣,IPS也要像防病毒系統定義N種已知的攻擊模式,並主要通過模式匹配去阻斷非法訪問,致命缺點在於不能主動的學習攻擊方式,對於模式庫中不能識別出來的攻擊,默認策略是允許訪問的! IPS類設備,常被串接在主幹路上,對內外網異常流量進行監控處理,部署位置常見如下

安全基礎知識:防火牆、WAF、IPS、IDS

4.UTM類安全設備

是以上三者的結合體,按照IDC提出“統一威脅管理”的概念來看,UTM是將防病毒、入侵檢測和防火牆安全設備劃歸到一起“統一管理”的新類別。 IDC將防病毒、防火牆和入侵檢測等概念融合到被稱為統一威脅管理的新類別中,該概念引起了業界的廣泛重視,並推動了以整合式安全設備為代表的市場細分的誕生。由IDC提出的UTM是指由硬件、軟件和網絡技術組成的具有專門用途的設備,它主要提供一項或多項安全功能,將多種安全特性集成於一個硬設備裡,構成一個標準的統一管理平臺。 由於性能要求出眾,導致造價一般比較高,目前一般只有大型企業會有使用。 UTM的優點主要有以下幾條 1.整合所帶來的成本降低(一身兼多職嘛!) 2.降低信息安全工作強度 (減輕管理員負擔) 3.降低技術複雜度 UTM也不能一勞永逸的解決所有安全問題,總結下來,有如下缺點 1.網關防禦的弊端 網關防禦在防範外部威脅的時候非常有效,但是在面對內部威脅的時候就無法發揮作用了。有很多資料表明造成組織信息資產損失的威脅大部分來自於組織內部,所以以網關型防禦為主的UTM設備目前尚不是解決安全問題的萬靈藥。 2.過度集成帶來的風險 3.性能和穩定性5.主動安全類

和前面的產品均不同,主動安全產品的特點是協議針對性非常強,比如WAF就是專門負責HTTP協議的安全處理,DAF就是專門負責數據庫Sql 查詢類的安全處理。在主動安全產品中通常會處理到應用級的訪問流程。對於不認識的業務訪問全部隔離(以下以WAF為重點說明這一類安全設備)。 WAF:Web應用防護系統(Web Application Firewall, 簡稱:WAF)代表了一類新興的信息安全技術,用以解決諸如防火牆一類傳統設備束手無策的Web應用安全問題。與傳統防火牆不同,WAF工作在應用層,因此對Web應用防護具有先天的技術優勢。基於對Web應用業務和邏輯的深刻理解,WAF對來自Web應用程序客戶端的各類請求進行內容檢測和驗證,確保其安全性與合法性,對非法的請求予以實時阻斷,從而對各類網站站點進行有效防護。 5.1 WAF部署位置 通常情況下,WAF放在企業對外提供網站服務的DMZ區域或者放在數據中心服務區域,也可以與防火牆或IPS等網關設備串聯在一起(這種情況較少)。總之,決定WAF部署位置的是WEB服務器的位置。因為WEB服務器是WAF所保護的對象。部署時當然要使WAF儘量靠近WEB服務器。 5.2 WAF部署模式及優缺點 透明代理模式、反向代理模式、路由代理模式及端口鏡像模式。前三種模式也被統稱為在線模式,通常需要將WAF串行部署在WEB服務器前端,用於檢測並阻斷異常流量。端口鏡像模式也稱為離線模式,部署也相對簡單,只需要將WAF旁路接在WEB服務器上游的交換機上,用於只檢測異常流量。

安全基礎知識:防火牆、WAF、IPS、IDS

部署模式1 透明代理模式(也稱網橋代理模式) 透明代理模式的工作原理是,當WEB客戶端對服務器有連接請求時,TCP連接請求被WAF截取和監控。WAF偷偷的代理了WEB客戶端和服務器之間的會話,將會話分成了兩段,並基於橋模式進行轉發。從WEB客戶端的角度看,WEB客戶端仍然是直接訪問服務器,感知不到WAF的存在;從WAF工作轉發原理看和透明網橋轉發一樣,因而稱之為透明代理模式,又稱之為透明橋模式。 這種部署模式對網絡的改動最小,可以實現零配置部署。另外通過WAF的硬件Bypass功能在設備出現故障或者掉電時可以不影響原有網絡流量,只是WAF自身功能失效。缺點是網絡的所有流量(HTTP和非HTTP)都經過WAF對WAF的處理性能有一定要求,採用該工作模式無法實現服務器負載均衡功能。

安全基礎知識:防火牆、WAF、IPS、IDS

部署模式2 反向代理模式 反向代理模式是指將真實服務器的地址映射到反向代理服務器上。此時代理服務器對外就表現為一個真實服務器。由於客戶端訪問的就是WAF,因此在WAF無需像其它模式(如透明和路由代理模式)一樣需要採用特殊處理去劫持客戶端與服務器的會話然後為其做透明代理。當代理服務器收到HTTP的請求報文後,將該請求轉發給其對應的真實服務器。後臺服務器接收到請求後將響應先發送給WAF設備,由WAF設備再將應答發送給客戶端。這個過程和前面介紹的透明代理其工作原理類似,唯一區別就是透明代理客戶端發出的請求的目的地址就直接是後臺的服務器,所以透明代理工作方式不需要在WAF上配置IP映射關係。 這種部署模式需要對網絡進行改動,配置相對複雜,除了要配置WAF設備自身的地址和路由外,還需要在WAF上配置後臺真實WEB服務器的地址和虛地址的映射關係。另外如果原來服務器地址就是全局地址的話(沒經過NAT轉換)那麼通常還需要改變原有服務器的IP地址以及改變原有服務器的DNS解析地址。採用該模式的優點是可以在WAF上同時實現負載均衡。

安全基礎知識:防火牆、WAF、IPS、IDS


部署模式3 路由代理模式 路由代理模式,它與網橋透明代理的唯一區別就是該代理工作在路由轉發模式而非網橋模式,其它工作原理都一樣。由於工作在路由(網關)模式因此需要為WAF的轉發接口配置IP地址以及路由。 這種部署模式需要對網絡進行簡單改動,要設置該設備內網口和外網口的IP地址以及對應的路由。工作在路由代理模式時,可以直接作為WEB服務器的網關,但是存在單點故障問題,同時也要負責轉發所有的流量。該種工作模式也不支持服務器負載均衡功能。

安全基礎知識:防火牆、WAF、IPS、IDS

部署模式4 端口鏡像模式 端口鏡像模式工作時,WAF只對HTTP流量進行監控和報警,不進行攔截阻斷。該模式需要使用交換機的端口鏡像功能,也就是將交換機端口上的HTTP流量鏡像一份給WAF。對於WAF而言,流量只進不出。 這種部署模式不需要對網絡進行改動,但是它僅對流量進行分析和告警記錄,並不會對惡意的流量進行攔截和阻斷,適合於剛開始部署WAF時,用於收集和了解服務器被訪問和被攻擊的信息,為後續在線部署提供優化配置參考。這種部署工作模式,對原有網絡不會有任何影響。

安全基礎知識:防火牆、WAF、IPS、IDS


WAF與IPS的區別總結

Web應用防護無疑是一個熱門話題。由於技術的發展成熟和人們對便利性的期望越來越高,Web應用成為主流的業務系統載體。在Web上“安家”的關鍵業務系統中蘊藏的數據價值引起攻擊者的青睞,網上流傳的Web漏洞挖掘和攻擊工具讓攻擊的門檻降低,也使得很多攻擊帶有盲目和隨機性。比如利用GoogleHacking原理的批量查找具有已知漏洞的應用程序,還有SQL批量注入和掛馬等。但對於重要的Web應用(比如運營商或金融),始終有受利益驅動的黑客進行持續的跟蹤。

如果說傳統的“大而全”安全防護產品能抵禦大多數由工具產生的攻擊行為,那麼對於有針對性的攻擊行為則力不從心。而WAF正是應需求而生的一款高端專業安全產品,這也是市場需求細化的必然趨勢。但由於其部署和功能方面與IPS有類似,有人提出疑問,為什麼不能用IPS,或者說WAF與IPS有什麼異同?誰更適合保護Web服務器?

這些疑問其實是有道理的,差異化的產生在於高端需求是不同的,從而需要細化功能貼合具體需求和符合應用現狀的產品,這也是用戶需求是隨著業務自身的發展所決定的。

保鏢和保安

為了更好的理解兩款產品差異性,我們先用這個保鏢(WAF)和保安(IPS)比喻來描述。

大樓保安需要對所有進出大樓人員進行檢查,一旦發現可疑人員則禁止他入內,但如果混進“貌似忠良”的壞人去撬保險櫃等破壞行為,大樓保安是無能為力的。

私人保鏢則是指高級別、更“貼身”的保護。他通常只保護特定的人員,所以事先需要理解被保護人的身份、習慣、喜好、作息、弱點等,因為被保護人的工作是需要去面對不同的人,去不同的場合,保鏢的職責不能因為危險就阻止、改變他的行為,只能去預見可能的風險,然後量身定做合適的保護方案。

這兩種角色的區別在於保安保護的是整個大樓,他不需要也無法知道誰是最需要保護的人,保鏢則是明確了被保護對象名單,需要深刻理解被保護人的個性特點。

安全基礎知識:防火牆、WAF、IPS、IDS

圖 1.1 保鏢和保安

通過上面的比喻,大家應該明白兩者的之所以會感覺相似是因為職責都是去保護,但差異在於職能定位的不同。從技術原理上則會根據定位來實現。下面通過幾個層面來分析WAF和IPS的異同。

事件的時間軸

對於安全事件的發生,有三個時間點:事前、事中、事後。傳統的IPS通常只對事中有效,也就是檢查和防護攻擊事件,其他兩個時間點是WAF獨有的。

安全基礎知識:防火牆、WAF、IPS、IDS

圖 1.2 事件時間軸

如上圖所示,事前是指能在事件發生之前通過主動掃描檢測Web服務器來發現漏洞,通過修復Web服務器漏洞或在前端的防護設備上添加防護規則等積極主動手段來預防事件發生。事後則是指即使Web服務器被攻擊了,也必須有網頁防篡改功能,讓攻擊者不能破壞網站數據。

為什麼不能具備事中的100%防護能力?其實從以下幾個方面就知道對於事中只能做到相對最佳防護而不能絕對,因為:

1. 軟件先天是有缺陷的,包括應用到第三方的組件和函數庫無法控制其安全性;

2. 應用程序在更新,業務是持續發展的、動態的,如果不持續監控和調整安全策略,也是會有疏漏的;

3. 攻擊者永遠在暗處,可以對業務系統跟蹤研究,查找漏洞和防護缺陷,用各種變形繁雜的手法來探測,並用於攻擊;

4. 任何防護設備都難以100%做到沒有任何缺陷,無論是各種算法還是規則,都是把攻擊影響降低到最小化。

所以需要用一個可閉環又可循環的方式去降低潛在的威脅,對於事中疏漏的攻擊,可用事前的預發現和事後的彌補,形成環環相扣的動態安全防護。事前是用掃描方式主動檢查網站並把結果形成新的防護規則增加到事中的防護策略中,而事後的防篡改可以保證即使疏漏也讓攻擊的步伐止於此,不能進一步修改和損壞網站文件,對於要信譽高和完整性的用戶來說,這是尤為重要的環節。

安全基礎知識:防火牆、WAF、IPS、IDS

圖 1.3 WAF安全閉環

如果僅僅是對於事件的時間軸有區別,那麼還是可以採用其他產品來進行輔助,但關鍵的是事中的防護也是有深度的差異,那麼下面我們來談談對於事中的差異。

事中,也就是實時防護,兩者的區別在於一個是縱橫度,一個是深度。IPS凸顯的優勢在於縱橫度,也就是對於網絡中的所有流量進行監管,它面對的是海量數據,下圖的TCP/IP模型中網絡流量從物理層到應用層是逐層遞交,IPS主要定位在分析傳輸層和網絡層的數據,而再往上則是複雜的各種應用層協議報文,WAF則僅提供對Web應用流量全部層面的監管。 

安全基礎知識:防火牆、WAF、IPS、IDS

圖 1.4 數據結構圖

監管層面不同,如果面對同樣的攻擊,比如SQL注入,它們都是可以防護的,但防護的原理有區別,IPS基本是依靠靜態的簽名進行識別,也就是攻擊特徵,這只是一種被動安全模型。如下是一個Snort的告警規則:

<code>alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS /<code>
<code>(msg:“SQL Injection - Paranoid”; flow:to_server,/<code>
<code>established;uricontent:“.asp”;pcre:“//<code> 
<code>(\\%27)|(\\‘)|(\\-\\-)|(%23)|(#)/i”; /<code>
<code>classtype:Web-application-attack; sid:9099; rev:5;)/<code>

這裡主要是檢查在SQL注入中提交的元字符,包括單引號( ’ )和雙橫( – ),從而避免注入’1 or 1=1— 之類的攻擊發生,但同時又要考慮這些元字符轉換成Hex值來逃脫過濾檢查,於是又在規則裡增加了其對應的十六進制編碼後的字符串。

當然,要從簽名特徵來識別攻擊要考慮的東西還很多,不僅元字符還有SQL關鍵字,包括:select insert update等,以及這些關鍵字的大小寫變形和拼接,利用註釋逃脫過濾,如下所示例:

使用大小寫混雜的字符 :SeLecT fRom“

把空格符替換為TAB符或回車符 :select[TAB]from

關鍵詞之間使用多個空格 :select from

字符串的數值編碼 :0×414141414141 或 0×41004100410041004100

插入被數據庫忽略的註釋串 :sel/**/ect fr/**/om select/**/ from

使用數據庫支持的一些字符串轉換功能 :char(65) 或 chr(65)

使用數據支持的字符串拼接操作 :’sel’+'ect ’+'fr’+'om’” 、“‘sel’||’ect ’||’fr’||’om’可以設想一下,如果要檢測以上的變形字符後的攻擊則需要增加相應的簽名特徵,但更重要的是要充分考慮轉換編碼的種類,上面示例的snort的規則把可疑字符以及其轉換後的Hex值放入同一條規則裡檢查,如果對於變形後繁多的攻擊種類,這是滯後的並且會造成簽名臃腫。

對於比較粗淺的攻擊方式兩者都能防護,但市面上大多數IPS是無法對報文編碼做多重轉換的,所以這將導致攻擊者只需構建諸如轉換編碼、拼接攻擊語句、大小寫變換等數據包就可繞過輸入檢查而直接提交給應用程序。

而這恰恰又是WAF的優勢,能對不同的編碼方式做強制多重轉換還原成攻擊明文,把變形後的字符組合後在分析。那為什麼IPS不能做到這個程度?同樣還有對於HTTPS的加密和解密,這些我們在下節的產品架構中會解釋。

產品架構

大家知道IPS和WAF通常是串聯部署在Web服務器前端,對於服務器和客戶端都是透明的,不需要做任何配置,似乎都是一樣的組網方式,其實有很大差異。首先我們看看市面主流WAF支持的部署方式:

1、 橋模式

2、 路由模式

3、反向代理

4、旁路模式(非串聯)

這兩者串聯部署在Web服務器前端時,市面上的大多數IPS均採用橋模式,而WAF是採用反向代理模式,IPS需要處理網絡中所有的流量,而WAF僅處理與Web應用相關的協議,其他的給予轉發,如下圖: 

 

安全基礎知識:防火牆、WAF、IPS、IDS

圖 1.5 多協議圖

橋模式和反向代理模式的差異在於:橋模式是基於網絡層的包轉發,基本都沒有協議棧,或只能簡單的模擬部分協議棧,分析網絡報文流量是基於單包的方式,所以要處理分片報文、數據流重組、亂序報文、報文重傳、丟包都不具備優勢。同時網絡流量中包括的協議種類是非常多的,每種應用層協議都有自身獨特的協議特徵和格式要求,比如Ftp、SSH、Telnet、SMTP等,無法把各種應用流量放到應用層協議棧來處理。

綠盟科技WAF系統內嵌的協議棧是經過修改和優化的,能完全支持Http應用協議的處理,這意味著必須遵循RFC標準(Internet Requests For Comments)來處理Http報文,包括如下主要RFC:

◆ RFC 2616 HTTP協議語法的定義

◆ RFC 2396 URL語法的定義

◆ RFC 2109 Cookie是怎樣工作的

◆ RFC 1867 HTTP如何POST,以及POST的格式

RFC中對Http的request行長度、URL長度、協議名稱長度、頭部值長度等都是有嚴格要求的,以及傳輸順序和應用格式,比如Html參數的要求、Cookie的版本和格式、文件上傳的編碼 multipart/form-data encoding等,這些應用層內容只能在具有完整應用層協議棧的前提下才可正確識別和控制,對於不完整的丟包,重傳包以及偽造的畸形包都會通過協議校驗機制來處理。

上一節提到的WAF對Https的加解密和多重編碼方式的解碼正是由於報文必須經過應用層協議棧處理。反之,IPS為什麼做不到?是由於其自身的橋模式架構,把Http會話”打碎“成多個數據包在網絡層分析,而不能完整地從應用層角度來處理和組合多個報文,並且應用層協議繁多,全部去支持也是不現實的,產品的定位並不需要這樣。下一節的學習模式更是兩者的截然不同的防護機制,而這一機制也是有賴於WAF的產品架構。

基於學習的主動模式

在前面談到IPS的安全模型是應用了靜態簽名的被動模式,那麼反之就是主動模式。WAF的防禦模型是兩者都支持的,所謂主動模式在於WAF是一個有效驗證輸入的設備,所有數據流都被校驗後再轉發給服務器,能增加應用層邏輯組合的規則,更重要的是具備對Web應用程序的主動學習功能。

學習功能包括:

1. 監控和學習進出的Web流量,學習鏈接參數類型和長度、form參數類型和長度等;

2. 爬蟲功能,爬蟲主動去分析整個Web站點,並建立正常狀態模型;

3. 掃描功能,主動去掃描並根據結果生成防護規則。

基於學習的主動模式目的是為了建立一個安全防護模型,一旦行為有差異則可以發現,比如隱藏的表單、限制型的Listbox值是否被篡改、輸入的參數類型不合法等,這樣在面對多變的攻擊手法和未知的攻擊類型時能依靠安全防護模型動態調整防護策略。

結尾

WAF更多的特性,包括安全交付能力、基於cache的應用加速、掛馬檢查、抗DDOS攻擊、符合PCIDSS的防洩密要求等都表明這是一款不僅能攻擊防護,同時又必須在滿足客戶體驗和機密數據防護的高度集成的專業產品。本文僅從產品特徵的對比角度來分析了WAF的部分技術原理,但沒否定IPS的價值,畢竟兩者在部署場景和功能上具有很大差異。


分享到:


相關文章: