ModSecurity 安装编译与连接nginx
ModSecurity一个开源WAF应用,用于web应用防护。
CRS核心规则
网站:https://coreruleset.org/
基本概念:V2版本与apache使用,V3与nginx搭配使用
有两种工作方式:
- 默认为异常匹配机制,匹配到异常规则,增加异常数值,在异常值到达一定程度就在入流量或者出流量进行拒绝操作,分为阶段一和阶段二,phase:1 and phase:2
- 独立判断:类似IDS,匹配第一条请求异常就拒绝
日志记录:默认开启日志,记录到web服务器,然后还有一份详细ModSecurity审核日志在在ModSecurity.conf中的SecAuditLog下配置,这边默认/var/log/mod_security.log
默认匹配动作:
偏执级别:
1-4级
默认为1级,通用检测
2级,增加了SQL和XSS检测,有经验使用
3级-4级,高级人员使用。
在下面定义:
设置modsecurity对请求体进行操作。
每条规则都有异常评分值,一个请求可能匹配多条规则,然后异常值相加进行处理。
级别为:
设置入站或出站阈值:一般默认是5,根据敏感度可以增加阻塞,达到一定阈值就会拒绝请求。
应用程序规则排除:wordpress,duwiki,nextcloud
HTTP策略设置:可以设置允许的HTTP版本、HTTP方法、允许的请求内容类型,禁止的文件扩展名(例如.bak、.sql)和请求头(例如Proxy),针对HTTP参数/上传限制,黑名单限制,请求数量限制,IP信誉限制,超时设置
Modsecurity安装与配置
总结,在nginx调用引入modsecurity,然后在modsecurity调用引入crs,查看日志/var/log/modaudit.log
apache应用
modsecurity可以应用在nginx和apache等web服务器上,调用方式有一些差别。
/usr/local/modsecurity/lib/libmodsecurity.so 应该要动态加载这个模块