如何使用ModSecurity WAF 来保护Windows IIS - 安装

前言

以前在IIS 7 时,有使用UrlScan 这个WAF 来保护IIS,但目前UrlScan 已无法用在IIS 10 上面。
所以可以改使用ModSecurity,以下介绍如何在Windows 2019 有IIS 的Web Server 上安装启用ModSecurity 。

实作

1.确定IIS 已安装。

2.安装ModSecurity
请到ModSecurity Release
下载ModSecurityIIS_2.9.4-64b.msi 安装。

3.启用ModSecurity
预设ModSecurity 是安装在C:\Program Files\ModSecurity IIS 目录。
3.1.到C:\inetpub\wwwroot 目录建立一个modsecurity的目录,
3.2.将C:\Program Files\ModSecurity IIS 目录中的modsecurity.conf, modsecurity_iis.conf 及unicode.mapping 复制到C:\inetpub\wwwroot\modsecurity 目录。
3.3.修改C:\inetpub\wwwroot\web.config ,启用ModSecurity 的设定,如下,

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- others config ...-->
    <system.webServer>
        <ModSecurity enabled="true" configFile="c:\inetpub\wwwroot\modsecurity\modsecurity_iis.conf" />
    </system.webServer>
</configuration>

预设ModSecurity 是侦测模式,所以请将它改成启用,修改c:\inetpub\wwwroot\modsecurity\modsecurity.conf
将SecRuleEngine DetectionOnly 改成SecRuleEngine On
并在最后一行加上验证的Rule 如下,

SecRule ARGS:testparam "test" "id:1234,deny,status:403,msg:'Our test rule has triggered'"

Rule是说,如果QueryString 的参数为testparam 而且它的值为test ,就会被ModSecurity 拒绝,并回传403。

4.重启IIS,查看事件检视器应用程式中的ModSecurity 是否有无错误(如果没看到,可以直接用Browser 连http://localhost)。

5.测试Rule 1234 是否会被挡。
开启Browser 连http://localhost/?testparam=test,就可以发现,网页会被ModSecurity 给挡住了

参考资源

ModSecurity 手册
最新支持的 Visual C++ 下载

猜你喜欢

转载自blog.csdn.net/allway2/article/details/126291817