ADVERTISEMENT
WAF是啥?想也知道不是「We Are Family」,也不是「Wife Acceptancy Factor(老婆接受指數)」,當然更不可能是「WAF字幕組」。筆者這次要介紹的WAF應該可以算是目前資安圈子中的新興熱門話題,全文為「Web Application Firewall」,可以直接翻譯成「網路應用程式防火牆」或「網站應用程式防火牆」。
附帶一提,Wife Acceptancy Factor(老婆接受度)是國外hi-fi文章中常見的說法,主要是指產品的外型、價格是否有吸引女性(尤其是太座大人)的地方。也就是說,WAF高的產品,通常老婆比較不會抱怨或抗議,甚至可能跟你搶著用;WAF低的話,被逼著退貨或必須吃一陣子泡麵的機會就會比較高。
為網站主機多加一層保護
大家應該都知道,現在的網路攻擊非常氾濫,被攻擊的對象除了最普遍的個人電腦之外,各種網站其實也是駭客絕對不會放過的目標。這幾天有個很經典的例子,就是中國百度的美國網域在12號一早被伊朗網軍(Iranian Cyber Army)入侵,隨後並引發近10個伊朗網站遭到中國駭客的反擊。另外,我們在《電腦王》雜誌上也報導過,去年Twitter和Facebook都曾遭到駭客入侵。
ADVERTISEMENT
▲上圖是百度被入侵後的畫面,下圖則是被放上五星旗的伊朗政府網站。
(圖片來源:)
ADVERTISEMENT
事實上,網站攻擊會越來越氾濫的原因,其實跟網站本身有很深的關聯。由於網路的興起,從政府機關、金融機構、中小企業以至於學校、個人都開始架設自己的網站,而且,為了與來訪者互動,多半都會使用ASP、PHP、CGI、JSP等網路應用程式。但是因為這些程式的開發者程度不一,有些甚至沒有受過專業訓練,只是從網路上隨便抄程式碼拼湊起來,所以這些程式可說是良莠不齊,漏洞百出。而WAF的作用就是為了保護網站主機,在我們來得及改善網站的安全性之前,拉起一道防護網,以減少被攻擊成功的機會。
簡單來說,WAF正如它的名稱,也是一種防火牆,只不過防護的對象不再是個人電腦,而是網站應用程式,或者也可以說是網站主機。底下這張圖來自知名WAF軟體dotDefender的官網,它所表示的,就是dotDefender能夠防禦的各種網路攻擊手段。
ADVERTISEMENT
▲WAF軟體的作用,就是要讓網站主機免於這一大票攻擊的威脅。
(圖片來源:)
常見的網站攻擊手段
我們可以看到,最外圍的這一圈就是目前常見的網站攻擊手法,筆者簡單作個說明:
ADVERTISEMENT
- Encoding(編碼攻擊):將指令重新編碼,來躲避網站的安全檢查或使網站程式發生錯誤。
- Header Tampering(標頭竄改):修改請求標頭,以躲過安全機制的檢查。
- Path Traversal(路徑挖掘):猜測網站路徑,以進入網站根目錄之外的資料夾或檔案。
- SQL Injection(SQL隱碼注入):目前最出名也最有殺傷力的攻擊手段之一。利用SQL程式指令迴避安全檢查,竊取管理權限,可對整個網站進行毀滅性的破壞。(筆者以前架設的小論壇就曾經被這麼踩平過……)
- Cross site Scripting(跨網站指令碼攻擊):也可寫作XSS攻擊,同樣是目前常見且有力的攻擊手法之一。它的攻擊方式有點類似釣魚網站,可將使用者導向惡意網站或假網站,然後再進行後續攻擊(如騙取密碼或植入木馬等等)。
- Remote Command Execution(執行遠端命令):基本上就是透過web介面使網站程式執行遠端指令,不過這種攻擊多半要搭配網站程式漏洞執行。
- Probes(探針):你可以把「探針」想像成一種能夠搜索漏洞的小程式。攻擊者通常會把「探針」放在一些已經被入侵的熱門網站上,當你瀏覽這些網站時,探針就會被下載下來,並開始搜索你電腦中的安全漏洞,然後通知攻擊者發動攻擊。
- Known Worms(已知蠕蟲):這個應該不用多解釋了,就是電腦蠕蟲囉,通常它們不會破壞系統本身,但卻會對網路發動攻擊,像是執行垃圾代碼,讓Web程式無法回應(這招就是底下的Denial of service);或是大量傳送無意義訊息,吃掉網路頻寬等等。
- Compromised Servers(被盜用的伺服器):應該可以說是「管理不良的伺服器」吧。舉例來說,有些管理者在架好資料庫和網站之後,沒有修改預設的密碼,因此攻擊者可以輕鬆取得所有權限,這種伺服器就算是Compromised Servers。
- Spammer Bots(垃圾回應機器人):這也是目前很常見又很令人頭痛的攻擊之一,不過它比較像是間接傷害就是了。
- Bad User Agents(不良的使用者代理):User Agents可以翻成使用者代理,不過這跟最近要上的電影《獵殺代理人》沒啥關係,它是指一些行徑惡劣的蜘蛛(Spiders)、機器人(Robots)、爬行者(Crawler)、瀏覽器(Browser)或下載工具等等,它們可能會佔用過量的頻寬或竊取一些不應該公開的資料之類的(這麼說來迅雷跟FOXY好像都可以歸在這一類?)。
- Denial of Service(阻斷服務攻擊):雖然字母一樣,但這跟DOS沒關係,這種攻擊手法是對主機傳送大量或特殊的網路封包,使主機陷入癱瘓或耗盡資源無法運作。它的「進階版」就是惡名昭彰的「DDoS」——分散式阻斷服務攻擊,由多個地方同時發動DoS攻擊,因此主機無法利用封鎖網段等方式來防堵。
- Session Hijacking(會話劫持):這招有點算是冒用別人身份。一般來說,SessionID會被當成Cookie存到用戶端電腦,攻擊者利用這個特性,竊取電腦裡的SessionID,冒充成使用者進入網站,然後就可以竊取網站中的使用者資料(如信用卡卡號)並進行後續破壞。
- Cookie Tampering(竄改Cookie):Cookie基本上可以看成是網站上的使用者紀錄,通常甚至會包含使用者帳號、密碼等資料,這種手法可以看成是在網路上攔截Cookie封包,然後拿這個封包去欺騙伺服器,於是就可以偽裝成受害者,登入網站。
軟硬體版本都有
WAF進入台灣應該是從2005年開始,目前這類型產品已經很多,而且不管是軟體式或硬體式都有。硬體式因為是獨立系統,而且通常都會設定成「故障時直接放行所有封包」,所以即使發生故障也不會影響到網站的運作,而且有些硬體WAF還具備附加功能,像是支援網頁快取,可兼任代理伺服器(Proxy),不用連接伺服器,直接送出使用者需要的網頁資料。但相對來說,價格就比較高一點,需要相當的建置成本。
至於軟體式WAF,也被稱為主機型WAF,因為它是像一般程式那樣附掛在主機上的,不需要另外一套硬體設備支援。而且因為是程式的關係,針對客戶需求客製化的空間也比較大,這些都是軟體式WAF的優點。不過也正因為它是安裝在主機上,所以必須佔用主機的部份資源,增加主機的負擔,而且如果沒設定好,一旦發生故障,可能連帶導致主機無法運作,甚至造成資料流失,這是比較需要注意的地方。
▲這是Barracuda的硬體式WAF,外表看起來跟一般主機其實沒什麼兩樣。
▲這台則是CISCO推出的硬體式WAF。
也有個人用的WAF
因為WAF保護的對象是網站主機,因此通常都是針對企業販售,即使是被認為比較便宜的軟體式WAF,單價也相當高(大概六位數跑不掉……)。不過最近倒是有了個例外,中華龍網針對一般使用者需求,推出了個人版的DragonWAF 2010,讓使用者可以安裝在自己的網站主機上,保護網站的安全。
不過,比較可惜的是,DragonWAF 2010是針對IIS設計,所以只能用在市占率較低的IIS網站主機上(根據,目前Apache的市占率大約是53.8%,IIS則是24.1%)。不過根據中華龍網表示,目前已經在開發Apache也可以用的版本,到時候可以造福更多架設個人網站的玩家。至於正式的測試報告……請容筆者下回待續~(光速逃)
▲中華龍網推出的DragonWAF 2010是針對個人設計,價格非常平民化喔。
(定價1萬元,不過2010年2月底前特價優惠,只要3千~)
ADVERTISEMENT