概述
上次发了如何用sqlmap工具来检测到我们的某个应用存在sql注入漏洞,但是供应商已经找不到了,测试却一直催着要整改,最后用ModSecurity for IIS组件实现WAF功能来绕过这个问题了...
一、安装VCredist
在安装ModSecurity之前需要安装VCredist,点击https://visualstudio.microsoft.com/zh-hans/downloads/进入下载页进行下载。
下载完成后,直接安装即可
二、安装ModSecurity
按照操作系统下载对应的ModSecurityIIS,点击此处下载32位ModSecurityIIS,点击此处下载64位ModSecurityIIS,下载后复制到服务器内,直接安装即可。
安装成功后,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下载规则文件并上传到服务器
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
四、测试防御效果
访问http://服务器IP或域名/?param=%22%3E%3Cscript%3Ealert(1);%3C/script%3E,查看防御效果。
同时可在"控制面板-管理工具-事件查看器-Windows日志-应用程序"中查看拦截日志。
后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下~