1.编辑你的apache配置文件(httpd.conf),找到下面两行
#vi /www/conf/httpd.conf
注: 到此为止, httpd.conf文件已包含下面三行代码(1,2条为自动, 3条手动添加)
LoadModule security_module libexec/mod_security.so
AddModule mod_security.c
Include conf/mod_security.conf
vim conf/mod_security.conf写入下面的语句
2.在httpd.conf末尾加入下面的这些,需要强调的是,一下内容出自www.modsecurity.org的quick example,属于快速配置,有可能会让你的web server处于无法访问状态,请一定要注意看注释。
# 打开过滤引擎开关。如果是Off,那么下面这些都不起作用了。
SecFilterEngine On
# 把设置传递给字目录
SecFilterInheritance Off
# 检查url编码
SecFilterCheckURLEncoding On
# 检测内容长度以避免堆溢出攻击
SecFilterForceByteRange 32 126
# 日志的文件和位置。一定要先建立好目录,否则apache重新启动的时候会报错。
SecAuditLog logs/audit_log
# debug的设置
SecFilterDebugLog logs/modsec_debug_log
SecFilterDebugLevel 0
# 当匹配sh的时候,重新定向到一个特殊的页面,让攻击者知难而退
SecFilter sh redirect:
# 检测POST数据,注意,请甚用这个开关,可能会导致一些post页面无法访问。详细的信息,请察看www.modsecurity.org的文档,其中有详细的post编码要求。 A+K4_s
SecFilterScanPOST On
# 缺省的动作
SecFilterDefaultAction "deny,log,status:406"
# 从新定向用户
SecFilter xxx redirect:
# 防止操作系统关键词攻击
SecFilter /etc/password
# 防止double dot攻击
SecFilter "/././"
## 防止跨站脚本(CSS)攻击
SecFilter "# Prevent XSS atacks (HTML/Javascript injection)
SecFilter ""
# 防止sql注入式攻击
SecFilter "delete[[:space:]]+from"
SecFilter "insert[[:space:]]+into"
SecFilter "select.+from"
#下面是限制了upload.php文件只能用来上传jpeg.bmp和gif的图片
SecFilterInheritance Off
SecFilterSelective POST_PAYLOAD "!image/(jpeg|bmp|gif)"