0%

ModSecurity

ModSecurity是典型的开源WAF组件, 需要配合Apache HTTP server和Nginx使用, docker镜像可以找到一些link下载, 然后运行

1
2
docker build -t owasp/modsecurity-crs .
docker run -p 80:80 -ti -e PARANOIA=5 --rm owasp/modsecurity-crs

为了测试其性能, 可以安装Apache HTTP server benchmarking tool, 运行命令ab -n 10000 -c 100 (url) 即可。

可以找到ModSecurity的各种配置(屏蔽ip黑名单等配置), 其中重要的是CRS的规则说明。/usr/local/nginx/conf/modsec/rules/*.conf 目录下的 CRS 防御规则文件及相关说明如下所示

规则文件 规则说明
REQUEST-900-EXCLUSION-RULES-BEFORE-CRS 定制化个人防护规则,调整规则防护场景
REQUEST-901-INITIALIZATION CRS 配置初始化
REQUEST-910-IP-REPUTATION IP 信誉库
REQUEST-911-METHOD-ENFORCEMENT HTTP 请求方法检测
REQUEST-912-DOS-PROTECTION 拒绝服务规则
REQUEST-913-SCANNER-DETECTION 扫描器检测
REQUEST-920-PROTOCOL-ENFORCEMENT URL Scheme 协议检测
REQUEST-921-PROTOCOL-ATTACK HTTP 协议攻击检测
REQUEST-930-APPLICATION-ATTACK-LFI LFI 本地文件包含漏洞检测
REQUEST-931-APPLICATION-ATTACK-RFI RFI 远程文件包含检测
REQUEST-932-APPLICATION-ATTACK-RCE RCE 远程命令执行检测
REQUEST-933-APPLICATION-ATTACK-PHP PHP 攻击检测
REQUEST-941-APPLICATION-ATTACK-XSS XSS 攻击检测
REQUEST-942-APPLICATION-ATTACK-SQLI SQL 注入攻击检测
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION 会话固定攻击检测
REQUEST-949-BLOCKING-EVALUATION 基于风险值检测入站请求
RESPONSE-950-DATA-LEAKAGES 数据泄漏检测
RESPONSE-951-DATA-LEAKAGES-SQL SQL 数据泄漏检测
RESPONSE-952-DATA-LEAKAGES-JAVA JAVA 数据泄漏
RESPONSE-953-DATA-LEAKAGES-PHP PHP 数据泄漏
RESPONSE-954-DATA-LEAKAGES-IIS IIS 数据泄漏
RESPONSE-959-BLOCKING-EVALUATION 基于风险值检测出站请求
RESPONSE-980-CORRELATION 入站、出站风险值关联
RESPONSE-999-EXCLUSION-RULES-AFTER-CRS 定制化个人防护规则,重载、更新、移除检测规则

If my article helps you, I will be very happy.