2013-05-15 55 views
1

我一直在四處尋找試圖讓這個工作權利一段時間,現在終於位子彈,並張貼在這裏。Apache,Mod_security和Wordpress,無法通過規則ID刪除

我有一個ModSecurity使用OWASP核心規則集(v 2.2.5),只是安裝WordPress的LAMP堆棧。我期望與ModSecurity發生衝突,但我一直無法忽略或解決目前爲止唯一遇到的錯誤。

Apache的error.log中文件和modsec_audit.log兩個列表相同的錯誤:

ModSecurity: Rule 7f5d9a449228 [id "950901"][file "/etc/modsecurity/owasp-crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"][line "77"] - Execution error - PCRE limits exceeded (-8): (null).`

我試圖創建在CRS的conf文件位於包含新的.conf文件

<LocationMatch .*> 
    <IfModule mod_security2.c> 
    SecRuleRemoveById 950901 
    </IfModule> 
</LocationMatch> 

甚至刪除了IfModule語句,然後在LocationMatch語句無效時刪除。

最後,我訴諸註釋掉.conf文件中的第76行和第77行,並且錯誤仍然出現。這也沒有效果。

只有改變SecRuleEngineOffmodsecurity.conf終於讓我訪問該頁面。當然這違背了ModSec的目的。

我哪裏錯了?

回答

1

嘗試添加以下內容到php.ini文件(或包含的conf文件):

pcre.backtrack_limit = 10000000 
pcre.recursion_limit = 10000000 

然後給你的modsecurity.conf

SecPcreMatchLimit 150000 
SecPcreMatchLimitRecursion 150000 

這應該允許遞歸,而無需完全禁用mod_security

+0

謝謝!這解決了所有這些錯誤,但當我嘗試訪問同一頁面時,我仍然得到了403。我嘗試將新ID添加到我的whitelist.conf文件中,但似乎沒有任何效果。我怎樣才能得到403代碼引用我已經消除的ID代碼(我99%確定)? – user2384705

+0

403有點泛泛......你的日誌裏有什麼東西?如果你還沒有,啓用日誌mod_security可能是一個好主意:http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/html-multipage/07-logging.html – doublesharp

+1

原來是我的一半問題是一個wordpress設置指向存放文件的錯誤位置,並且沒有權限創建需要的文件夾。那12小時我的生活我不會回來。但感謝您的全力幫助,我會繼續採用這種方式 – user2384705