Apache-2.2

如何將 RegEx 用於 mod_security

  • September 8, 2011

我在我的 Apache/2.2.19 (Win32) 伺服器上使用 mod_security + core ruleset/2.2.1 有一個這樣的目錄/站點設置

/website1/login.php
/website2/login.php
/website3/login.php
/websiteN/login.php

在我的 modsecurity_crs_10_config.conf 我有

setvar:'tx.brute_force_protected_urls=login.php'

問題是除非我輸入每個 login.php 頁面的完整路徑,否則它將無法工作,如下所示:

setvar:'tx.brute_force_protected_urls=/website1/login.php /website2/login.php andSoOn'

我已經嘗試過使用 RegEx 的其他方法來解決它(例如 /(.*)/login.php),但我似乎無法理解它。

所以,問題基本上是;您如何在伺服器上名為 login.php 的所有頁面上強制執行 BFP?

謝謝。

我讓它工作了。在“modsecurity_crs_11_brute_force.conf”中,我不得不更改第 39 行:

SecRule REQUEST_FILENAME "!@within %{tx.brute_force_protected_urls}"  ...

SecRule REQUEST_FILENAME "!@contains %{tx.brute_force_protected_urls}" ...

在“modsecurity_crs_10_config.conf”中,有:

setvar:'tx.brute_force_protected_urls=/login.php' ...

謝謝您的幫助。

試試這個:

setvar:'tx.brute_force_protected_urls=/login.php'

如果它不起作用,我建議您啟用調試以查看日誌的內容。

引用自:https://serverfault.com/questions/308964