概述
上次发了如何用sqlmap工具来检测到我们的某个应用存在sql注入漏洞,但是供应商已经找不到了,测试却一直催着要整改,最后用ModSecurity for IIS组件实现WAF功能来绕过这个问题了...
一、安装VCredist
在安装ModSecurity之前需要安装VCredist,点击https://visualstudio.microsoft.com/zh-hans/downloads/进入下载页进行下载。
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/0aad059703cc2ba.jpg)
下载完成后,直接安装即可
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/01ced57db23957b.jpg)
二、安装ModSecurity
按照操作系统下载对应的ModSecurityIIS,点击此处下载32位ModSecurityIIS,点击此处下载64位ModSecurityIIS,下载后复制到服务器内,直接安装即可。
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/0cac22d67a936f3.jpg)
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/c951d13fd0eab76.jpg)
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/78fecc19c220bbb.jpg)
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/87bda752d0d4939.jpg)
安装成功后,applicationHost.config文件(位于C:\Windows\System32\inetsrv\Config目录下),会自动添加以下内容,表示IIS下所有网站都会默认使用ModSecurity进行防护:
<section name="ModSecurity" overrideModeDefault="Allow" allowDefinition="Everywhere" /></sectionGroup>
三、规则配置
虽然IIS版的ModSecurity安装后自动包含了规则文件,但由于自带的规则文件版本较老,因此需要手动将规则文件进行更新。
1、下载
访问https://github.com/coreruleset/coreruleset下载规则文件并上传到服务器
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/004257d120e37ed.jpg)
2、修改配置
将解压后的"crs-setup.conf.example"重命名为"crs-setup.conf"后复制到ModSecurity安装目录下,即C:\Program Files\ModSecurity IIS。
修改modsecurity_iis.conf,将文件中的"Include crs-setup.conf.example"修改为"Include crs-setup.conf"。
修改modsecurity.conf,将"SecRuleEngine DetectionOnly"改为"SecRuleEngine On"。
将解压后的rules文件夹复制到C:\Program Files\ModSecurity IIS\owasp_crs\下,同时修改REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example与RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example两个文件的文件名,将".example"删除,可将自己写的规则放置于此两个文件中。
3、重启IIS
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/af32b0b3e830b26.jpg)
四、测试防御效果
访问http://服务器IP或域名/?param=%22%3E%3Cscript%3Ealert(1);%3C/script%3E,查看防御效果。
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/034755c841caad3.jpg)
同时可在"控制面板-管理工具-事件查看器-Windows日志-应用程序"中查看拦截日志。
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/b8969d87904e17d.jpg)
后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下~
![基于ModSecurity for IIS组件实现WAF功能](http://www.axjcy.com/uploadfile/202307/38cbd6798bb9017.jpg)