我們可以通過ModSecurity手工建立安全過濾器、定義攻擊并實作主動的安全輸入驗證。此外,它還提供了一個面向Lua語言的新的API,為開發者提供一個腳本平台以實作用于保護Web應用的複雜邏輯。
ModSecurity Core Rules 2.0于上個月釋出,這是一個基于事件的程式設計語言,包含了用于事務查詢的各個步驟、能夠轉換資料以進行辨識、還可以将多個規則合成起來以形成複雜邏輯。其他的入侵檢測(IDS)與防禦系統(IPS)根據特定于攻擊的簽名來實施防範,而核心規則集卻是根據一般的規則來防範常發生在Web應用中的安全攻擊,這種攻擊在大多數情況下都是自定義的,換句話說,攻擊代碼是無章可循的。核心規則集架構通過以下技術來保護Web應用的安全:
HTTP防護——對違背HTTP協定與本地定義的使用政策的行為進行檢測。
常見的Web攻擊防護——對常見的Web應用安全攻擊進行檢測。
自動檢測——對機器人、爬蟲、掃描及其他惡意行為進行檢測。
錯誤隐藏——僞裝成伺服器發出的錯誤消息。
InfoQ有幸采訪到了Breach Security應用安全研究院主管及ModSecurity項目上司Ryan Barnett以了解ModSecurity的新特性及與其他Web應用防火牆産品相比ModSecurity有哪些與衆不同之處。
Q:與其他Web應用防火牆産品,尤其是那些基于硬體的裝置,如Cisco、Imperva與Breach等相比,ModSecurity Framework有何與衆不同之處?
A:開源的ModSecurity與那些商業産品相比有太多不同之處了。
硬體裝置對比軟體方案:ModSecurity是一個軟體Web應用防火牆引擎,本質上是個Apache module。這意味着它是嵌入在目标Web伺服器當中的,而并非部署在單獨的裝置中。然而,我們也可以将Apache配置成一個反向代理并達到類似的目的,但要知道ModSecurity本身并不會處理這個方面。
軟體WAF方案的優勢:有些情況需要進行大規模的部署,在這種情況下,将WAF分布在目标Web伺服器當中要比從垂直方向上增加外部硬體裝置實際的多。嵌入式部署的另一個好處是無需再去處理SSL解碼了,因為Web伺服器會進行預處理并将資料回傳給ModSecurity。
軟體WAF方案也并非完美無缺,其缺點如下:
· 可能無法将新的軟體加到Web伺服器當中。
· 會使用到本地資源。
· 反應時間的影響——很多商業WAF裝置可以在Sniff模式下進行非線性部署,這樣就無法評估線上性情況下對HTTP事務的通路所需的反應時間了。
商業與開源産品進階功能對比:ModSecurity擁有一個進階的規則語言和Lua API以編寫複雜邏輯。我們既可以建立消極安全規則(尋找已知的壞輸入),也可以建立積極安全規則(隻允許已知的好輸入)以規定輸入驗證的防護類型。這種方式的主要限制在于ModSecurity無法自動化建立這些規則,是以必須手工建立。但隻在以下兩種場合之一才行:
A.如果Web應用不經常變化
B.響應攻擊掃描報告,在這種情況下可以使用目标的積極安全規則
如果将ModSecurity作為一個對已知問題的虛拟修補方案,那麼它就不太适合于B了。高端的商業WAF都具有自動化的學習和分析機制以建立這些積極安全規則,同時還能夠從用戶端與Web應用之間的互動中進行學習。
Q:對于安全管理來說,網絡路由器要比Web伺服器(Apache)更棒麼?
A:這取決于實際情況。安全政策、日志分析與報告的中心化實作是個不錯的主義。然而從技術角度來說,你需要確定在相同的上下文中去評估資料,因為受保護的Web應用處于臨界環境下,是以理想的情況是越接近應用越好,在應用中就更棒了,這麼做會減少錯誤的消息規則出現的可能性。
A:現在還不行,但未來會實作的。我們的首要目标是讓ModSecurity成為IIS的插件(以ISAPI filter的形式)。
Q:能否詳細談談核心規則集項目有哪些新特性,這些新特性是如何幫助開發者和Web管理者保護Web應用免受安全攻擊的困擾。
A:新的核心規則集(CRS)有很多更新:
· Snort Web攻擊簽名——擁有很大的一個規則集,裡面包含了Emerging Threat Snort Web攻擊簽名,同時Breach安全實驗室還會不斷釋出新的簽名。
· 協作規則——現在協作已經是個潮流了,所有的CRS規則都可以設定事務性變量以指定比對的規則、比對的位置及比對的負載資料。
· 不規則分數——現在每個規則都會在總的不規則分數中占據一定的比重,使用者可以為其站點指定恰當的極限分數。
· 更簡單的異常處理——現在使用者可以添加自己的本地異常以覆寫CRS檢查而無需編輯規則自身。
Q:在尋求Web應用防火牆方案時的最佳實踐是什麼?網絡管理者與開發者需要牢記哪些内容?
根據WAF搜集的資料建立一個針對事件處理的流程。既然已經對HTTP的通信堵塞有了深入的了解,你會發現之前所遺漏的内容。需要確定有一個計劃以應付新接收的資料。
Q:ModSecurity項目未來的路線圖如何?