Windows
ModSecurity 無法在 IIS 上執行
我已經在 Windows Server 2012 VM 上安裝了 ModSecurity IIS 模組。我有一個在自己的應用程序池上執行的簡單測試應用程序。
default.aspx – 只是一個顯示日期/時間的簡單頁面。
網路配置
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <ModSecurity enabled="true" configFile="C:\inetpub\wwwroot\modsecurity.conf" /> </system.webServer> </configuration>
modsecurity.conf
SecRuleEngine On SecRule ARGS:testparam "test" "id:1234,deny,status:403,msg:'Our test rule has triggered'"
當我瀏覽到該站點(例如http://localhost?testparam=test)時,我看到的是我的測試頁面而不是 403。事件查看器中沒有記錄任何內容。
您似乎是此問題的受害者:https ://github.com/SpiderLabs/ModSecurity/issues/787
Broco 的回答很接近,但並沒有引起對最重要部分的注意:
overrideModeDefault="Allow"
. 如果您檢查您的 C:\Windows\System32\inetsrv\Config\applicationHost.config 文件,您可能會看到<section name="ModSecurity" overrideModeDefault="Deny" allowDefinition="Everywhere" /></sectionGroup>
這需要更改為“允許”,否則添加
<ModSecurity ...>
到您網站的配置文件實際上只會禁用 ModSecurity。