WAF[tooltip tip=WAF也称为:网站应用级入侵防御系统。英文:WebApplicationFirewall,简称:WAF。]实现攻击拦截的原理就是对所有访问Web应用的HTTP流量进行检测,判断是否为Web攻击,如果是则拒绝,不是则放行到Web服务器。目前上的WAF产品有很多,有软件WAF和硬件WAF两种。硬件的厂家特别多,比如绿盟、山石网科等。软件的主要是云锁,安全狗等,还有今天介绍的ModSecurity。与其他软WAF不同的是,这是一款开源的Web应用防火墙。下面介绍一下详细的安装步骤:
操作系统:WinServer2008R2
软件版本:ModSecurity v2.9.3 for IIS MSI Installer - 64bits
IIS版本:IIS7
1.下载安装包
http://www.modsecurity.org/download.html
2.修改IIS配置文件
C:\Windows\System32\inetsrv\config\applicationHost.config
将
<section name="ModSecurity" overrideModeDefault="Deny" allowDefinition="Everywhere" />>
改为
<section name="ModSecurity" overrideModeDefault="Allow" allowDefinition="Everywhere" />>
最新版本无需修改,已经默认Allow
3.修改ModSecurrity配置
在ModSecurrity的安装目录ModSecurity IIS下找到modsecurity.conf
修改其中
SecRuleEngine DetectionOnly改为
SecRuleEngine On
4.修改站点Webconfig
4.1在站点下添加Web.config文件,内容如下:
<?xmlversion="1.0" encoding="UTF-8"?>>
<configuration>>
<system.webServer>>
<ModSecurityenabled="true" configFile=" C:\ProgramFiles\ModSecurity IIS\modsecurity_iis.conf " />>
</system.webServer>>
</configuration>>
4.2如果已经存在,那么在其中system.webServer段落中加入以下内容:
<ModSecurity enabled="true" configFile="C:\Program Files\ModSecurity IIS\modsecurity_iis.conf" />>
注意调用的内容为安装目录下的modsecurity_iis.conf文件,地址修改为自己电脑的安装目录。
5.重启IIS服务
打开IIS点选左侧根节点,再选择右侧重新启动,让配置生效。
6.测试
6.1未开启前效果
6.2开启后效果
7.后话
如果说是存在误拦截的情况,也可以通过日志的方式对拦截规则目录及规则号进行查查询。按照日志进入对应的目录将该规则号对应的规则删除后就可以正常使用了。
4 条评论
大佬好!请问ModSecurity v2.9.3 for IIS MSI是对于IIS的,后面的则是用SQLILABS进行的测试,请问如何将SQLILABS部署到IIS中呢?
SQLliabs最简单的你可以安装一个phpstuday进行搭建。php7.4以上的版本都是可以哈,装好IIS全功能组件后会自动生成一个站点的,你把Sqlliabs放在目录中就可以了。
安装有WAF确实比较好,不过如果使用CDN的话,很多都带有WAF功能。IIS折腾得比较少,学习了。
大佬来啦,互相学习。我看这个开源的挺有意思,玩了玩,生产环境我也是上了cdn,省事儿[aru_13]