Windows

ModSecurity 無法在 IIS 上執行

  • May 23, 2018

我已經在 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。

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