2014-01-31 58 views
3

對於WordPress網站的服務器是否有任何標準(?!)mod_security2規則? 我想說清楚我不想禁用 mod_security2(它存在的原因很好)。在使用WordPress安裝時,我只想讓自己的生活更輕鬆一些。WordPress的mod_security2規則

我已閱讀本http://wpsecure.net/2012/01/using-mod_security-2-with-wordpress/但它已經在使用mod_security2 & WordPress的是巨大的,聽到的人更多的意見。

因爲我沒有這方面的專家,有沒有什麼文檔上究竟有以下幾種讀...

<LocationMatch "/wp-admin/post.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-admin/admin-ajax.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-admin/page.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-admin/options.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-admin/theme-editor.php"> 
    SecRuleRemoveById 300015 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-content/plugins/"> 
    SecRuleRemoveById 300015 340151 1234234 340153 1234234 300016 300017 950907 950005 950006 960008 960011 960904 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-includes/"> 
    SecRuleRemoveById 960010 960012 950006 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-content/themes/"> 
    SecRuleRemoveById 340151 340153 1234234 950006 959006 
    SecRuleRemoveById phpids-17 
    SecRuleRemoveById phpids-20 
    SecRuleRemoveById phpids-21 
    SecRuleRemoveById phpids-30 
    SecRuleRemoveById phpids-61 
</LocationMatch> 

<LocationMatch "/wp-cron.php"> 
    SecRuleRemoveById 960015 
</LocationMatch> 

<LocationMatch "/feed"> 
    SecRuleRemoveById 960015 
</LocationMatch> 

<LocationMatch "/category/feed"> 
    SecRuleRemoveById 960015 
</LocationMatch> 

謝謝。

回答

1

據我所知,沒有公共/免費規則集,其中包含用於Wordpress的特殊規則集。 wordpress的商業規則集可從AtomicorpTrustwave獲得,但實際上我沒有使用/測試它們。

如果您不想在全局中包含配置,那麼您發佈的配置將包含在Apache2 Web服務器的配置中或每個虛擬主機的配置中。

LocationMatch是從Apache2的網絡服務器上的指令 - 見:http://httpd.apache.org/docs/2.2/en/mod/core.html#locationmatch

SecRuleRemoveById從mod_security2 https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#wiki-SecRuleRemoveById一個指令,它禁止通過ID

結合兩者一起,的第一線中的一個或多個規則配置會刪除所有匹配「/wp-admin/post.php」(這是負責管理WordPress後端中的博客帖子的腳本)的URL的給定ID的mod_security2規則。

所以總而言之,這個配置爲幾個WordPress腳本禁用了很多mod_security2/OWASP規則。

我與mod_security2和WordPress的當前版本的經驗有以下幾點:

對於一些一個月我就在爲你現在是simular情況。我已經有了一個運行Apache2的web服務器,並帶有mod_security2和OWASP核心規則集。網絡服務器只託管了一些小的Wordpress網站,我很高興,mod_security2阻止了針對Wordpress的幾次自動攻擊。

然後,我不得不將mod_security2更新到最新版本,該版本還要求將OWASP核心規則更新設置爲最新版本。 OWASP核心規則集的新版本導致了許多針對Wordpress的mod_security2誤報,所以我來到相同的文章,正如您在問題中提到的那樣。經過幾個小時的調試後,我得出結論,該文章(2012年起)似乎是已過期,並且mod_security2和Wordpress的發展已經到來,文章中顯示的排除規則不適合新版本的mod_security2/OWASP核心規則集和Wordpress。

我試圖創建自己的規則集,但實際上放棄了許多小時的工作後,因爲我不得不禁用OWASP核心規則集(例如,由於誤報而禁用了許多SQL注入檢查),這實際上消除了mod_security2和OWASP核心規則集的許多安全優勢。

+0

感謝您分享您的體驗。所以......如果我知道它是正確的,你所建議的是通過閱讀(mod_security)日誌來嘗試和捕捉。 – kanenas

+1

是的,使用規則集(例如OWASP)設置mod_security2並配置mod_security2,因此它只使用設置「SecRuleEngine DetectionOnly」設置記錄到審計日誌。然後在前端和後端使用Wordpress網站,並檢查審覈日誌以查看哪些規則會產生誤報。有了這個結果,您可以使用SecRuleRemoveById來創建自己的排除規則,如文章中所示。 – derhansen