IIS7 配置 WAF 防火墙
使用 ModSecurity 提高 IIS 站点安全性。
IIS WAF 防火墙选型
由于是自建站点,我这里只限定免费的 WAF。如织梦 CMS,可以使用国内的安全服务商的安全狗。如非国内项目可以使用如 ModSecurity 一些开源项目。
由于是自己写的个人项目,搭建在自己家里的 NAS 上的,没考虑太多,直接装 ModSecurity 来提高一下安全性。
ModSecurity 安装
到 https://github.com/SpiderLabs/ModSecurity/releases 直接下载安装,注意 IIS 安装需要找 v2 的版本,v3 还没有支持 win 系统。一直 Next,保持默认配置完成安装。
安装后,配置文件在 C:\Program Files\ModSecurity IIS 目录上。
修改相关配置
在 C:\Windows\System32\inetsrv\config\applicationHost.config 找到
<section name="ModSecurity" overrideModeDefault="Deny" allowDefinition="Everywhere" /></sectionGroup> |
在 ModSecurrity 安装目录 ModSecurity IIS 下找到 modsecurity.conf,将
SecRuleEngine DetectionOnly |
效果测试
修改 modsecurity.conf,在最后一行加上
SecRule ARGS:testparam "test" "id:1234,deny,status:403,msg:'Our test rule has triggered'" |
如果 QueryString 的参数为 testparam 而且它的值为 test ,就会被 ModSecurity 拒绝,并回传403。
保存后重启 IIS,打开网址 http://localhost/?testparam=test,测试是否返回 403。
如没有返回 403,可在 windows 系统日志查看应用日志,看是报什么错误。
WAF 规则
安全成功后还需要加载规则,可以下载下面规则库,修改一下配置加载拦截规则