本文主要介绍Windows下为IIS安装ModSecurity 2.9.3以及对应的规则配置教程,IIS的安装过程在本文中不做阐述。
请注意,个人并不建议使用ModSecurity来对IIS下的网站进行防御,因为OWASP的规则虽然能够防御大部分的网站入侵行为,但是其毕竟是国外开源项目,规则内缺少针对国内开源程序的漏洞防护,如织梦、PHPCMS、ThinKPHP等,因此,除非是现有的安全软件无法进行有效防护,或是要提高自动化运维水平,否则仍然建议使用国内目前流行的第三方安全软件,如护卫神、安全狗等。
一、安装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安装后自动包含了规则文件,但由于自带的规则文件版本较老,因此需要手动将规则文件进行更新。
首先,访问https://github.com/coreruleset/coreruleset下载规则文件:
下载后上传到服务器,将解压后的"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"删除,可将自己写的规则放置于此两个文件中。
将c:\inetpub\temp\文件夹与c:\inetpub\logs\赋予IIS_IUSRS与IUSR完全控制权限。
重启IIS。
四、测试防御效果
访问http://服务器IP或域名/?param=%22%3E%3Cscript%3Ealert(1);%3C/script%3E,查看防御效果。
同时可在"控制面板-管理工具-事件查看器-Windows日志-应用程序"中查看拦截日志。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。