掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
防火墻這類IDS設(shè)備隨著Web應(yīng)用的爆炸式成長,對于應(yīng)用層尤其是HTTP應(yīng)用層就顯得越來越表現(xiàn)出弱勢,大規(guī)模SQL自動(dòng)注入讓W(xué)eb安全越來越被人們所關(guān)注,Web應(yīng)用防火墻也就應(yīng)運(yùn)而生。顧名思義,Web應(yīng)用防火墻(Web Application Firewall,下面簡稱WAF)是專注于Web應(yīng)用層上的應(yīng)用級防火墻。其原理是利用WAF可以有效地阻止各類針對Web應(yīng)用的攻擊,比如SQL注入、XSS攻擊等。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了法庫免費(fèi)建站歡迎大家使用!
目前,國內(nèi)的Windows平臺WAF基本上都是由IIS Filter來實(shí)現(xiàn),或者直接基于Apache ModSecurity(可以做獨(dú)立反向代理服務(wù)器)。WAF從其部署上來看,可以有多找那個(gè)模式,比如可以內(nèi)嵌于Web Server中(IIS ISAPI或者Apache模塊)也可以做反向代理或者作為路由模式。國內(nèi)目前的WAF其設(shè)計(jì)模式基本上全部基于第一種模式,也就是基于特征碼檢測的機(jī)制,比如開源的WebKnight 、Snort等。
先從第一種模式談起,這種模式的檢測機(jī)制是依靠不斷更新的特征碼來抵御各類Web攻擊,類似于目前的殺毒軟件病毒庫,其風(fēng)險(xiǎn)是一旦有新型變形關(guān)鍵字,就可以輕易繞過此類Web應(yīng)用防火墻的檢測。
而且這類基于關(guān)鍵字檢測識別的防御模式(第一種模式),在很多情況下只是簡單的關(guān)鍵字查找,正則表達(dá)式匹配等這類非常初級的特征碼檢測技術(shù)手段,基本上都沒有去基于某種完備的特征碼識別理論,純粹依靠開發(fā)者的個(gè)人功底來實(shí)現(xiàn)這部分的特征碼檢測核心模塊。那么這部分WAF其實(shí)是非常簡陋的,包括WebKnight在內(nèi),很多WAF都存在同樣的問題。Port80Software的ServerDefender也是同樣的檢測機(jī)制,只是它基于一定的檢測理論支持,而非簡單的字符串識別這么簡單的匹配規(guī)則。Snort相對比較成熟,在特征碼檢測匹配方面采用了改進(jìn)的BM算法。
第一種模式并非完美,但是也是必不可少的,只是需要基于某些成熟的特征碼檢測識別理論,其安全性才會(huì)大大加強(qiáng)。
第二種模式則各家實(shí)現(xiàn)各不相同,但本質(zhì)上是一樣的,就是允許在生產(chǎn)部署之前,通過手動(dòng)或者自動(dòng)學(xué)習(xí)模式來完成其安全檢測知識庫的構(gòu)建。從這一點(diǎn)來看,比較類似于語音識別軟件。語音識別軟件首先會(huì)讓用戶朗讀各種典型應(yīng)用的文字段落,從中不斷學(xué)習(xí)和識別關(guān)鍵語音片段。WAF的主動(dòng)防御模式就是基于此基礎(chǔ)來實(shí)現(xiàn)。
WAF主動(dòng)防御模式有的廠商實(shí)現(xiàn)為在生產(chǎn)環(huán)境下通過自動(dòng)學(xué)習(xí)并將學(xué)習(xí)知識庫即時(shí)應(yīng)用,但是并不建議這種做法.因?yàn)閷τ陉P(guān)鍵應(yīng)用而言,一旦出現(xiàn)失誤就直接導(dǎo)致關(guān)鍵Web應(yīng)用被此WAF阻擋,那可就是耽誤了大事。
WAF主動(dòng)防御的自動(dòng)模式可以在部署前的完整測試環(huán)境下開啟,以便快速構(gòu)建主動(dòng)防御知識庫(Active Defense Repository)。
1. 首次上線
WAF主動(dòng)防御機(jī)器人 –> 循環(huán)遍歷需要保護(hù)的Web網(wǎng)站(上線前測試環(huán)境下)-> 構(gòu)建主動(dòng)防御知識庫 –> 人工審核辨別知識庫條目,并編輯 –> 測試主動(dòng)防御知識庫 -> 正式部署Web App+WAF到生產(chǎn)環(huán)境,并開啟主動(dòng)防御模式。
2. 迭代更新階段
此階段的特點(diǎn)是,每次網(wǎng)站程序更新幅度較小,為迭代式增量更新模式。
手動(dòng)開啟WAF機(jī)器人 -> 檢索新目錄或新應(yīng)用程序站點(diǎn) -> 構(gòu)建增量主動(dòng)防御知識庫 ->人工審核確認(rèn)知識庫條目;
或者直接手動(dòng)在主動(dòng)防御知識庫中添加需要的知識條目即可。
3. 主動(dòng)防御知識庫管理
管理員可以隨時(shí)手工管理知識庫中的知識條目,并幫助主動(dòng)防御模塊學(xué)習(xí)更新的知識條目。
之所以不在生產(chǎn)環(huán)境下開啟WAF框架層的自動(dòng)學(xué)習(xí),也是為了避免知識條目噪聲的出現(xiàn)。
有機(jī)結(jié)合基于成熟理論的特征碼檢測機(jī)制與主動(dòng)防御檢測機(jī)制,就可以在最大程度上保證Web應(yīng)用程序的安全。
當(dāng)然,治本的話還是需要開發(fā)人員從源碼級別來做到抵御各類Web攻擊才對,不過由于實(shí)際情況往往不是預(yù)想的那么理想,在越來越多的場景中需要WAF來加以補(bǔ)充和配合。但接觸WAF首先要明確的就是,并不是說有了WAF,開發(fā)人員就不必關(guān)心Web安全了。
Web應(yīng)用防火墻中主動(dòng)防御模塊設(shè)計(jì)的分析就為大家介紹完了,希望讀者已經(jīng)理解和掌握。
【編輯推薦】

我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流