Web應用層防火墻真的像宣傳的那般好用嗎?
幾個月以前我決定去探查一下Web應用層防火墻(WAF)是否真正有用,或者它僅僅是一個花費巨大的披著華麗外衣的廢物,只是使得審計人員用來逃脫職責。
當然,WAF的賣家總是一成不變的告訴我們他們的產品是如何如何的好,有多少多少的客戶在使用他們的產品,但是,這不是最好的方式來了解真實的情況。我也在與一些最終用戶的談論中獲知了一些真實的情況,甚至這種方式也不是一個發現安全工具價值的最好方式。并不是所有的使用者有很好的觀察法和內部控制方式去測試這些工具的效用,而且由于一些政治和技術方面的原因,很多人并不能夠以最優的方式去部署這些工具。
現在,我從用戶那里開始,和我的一些滲透測試朋友們一起檢測這些工具。一個初級測試者不可能理解一個工具的整個價值(因為他們沒有付出高度的注意力在規則/管理這些問題上),一個好的測試者會深刻的認識到一個安全工具在他們生命中的重要性。
最后的結論是,正確的使用才能夠發揮WAF的價值,一定程度上能夠在外部提供一個安全的防護范圍,但這也不是一勞永逸的方式。也就是相當于沙鼠抵御APT攻擊的價值,下面是一些細節:
● WAF能夠很好的防護框架漏洞(例如運行未打補丁的wordpress),自動化(腳本)攻擊,甚至只是在配置特定應用規則的情況下就實現了這些功能(盡管幾乎沒有人能夠真正以這種方式部署)。
● WAF對于常見的XSS/SQL注入的防護能力一般。研究者們通常發現對于常規攻擊比較困難的情況,只要借助各種有效因素(尤其是基于WAF的app程序),再花費一些時間一般都能成功溢出。借助大量的應用知識,越好的配置WAF,攻擊就越困難。同時,研究溢出的時間增加會提高攻擊者的成本,這也許會減低攻擊者花時間去研究app程序的可能,同時也就提高防御他們的可能性。可是,如果有人鐵了心的滲透并有淵博的知識,沒有WAF能夠阻止他們。
● 安全產品經常提供很多的重要的分析價值,它們經常提供比跟蹤/狀態數據包更好的信息來理解站點上發生的事情。
● WAF對邏輯缺陷無能為力(除非你手動編碼/配置),更不用說XSS/SQL注入。
● WAF并不像銷售宣傳中說的那樣使用簡單。哎,這真讓人吃驚。再一次,它就和沙鼠一樣。
從某方面來說,我寫的這些不值一提。這個承諾有很多價值的工具被我們誤用了,但是如果使用得當,它也能夠提供一定的功用。
只是不要讓人們覺得買它就是在浪費錢,確定你知道如何更好的使用它來得到你想要得到的。