引入

7层WAF 是 Web应用程序防火墙(web application firewall) , 主要用于监视、过滤和阻止来自 Web 应用程序传入和传出的数据包,防护来自7层的网络流量攻击,例如跨站点脚本 (XSS)、SQL 注入、cookie 中毒、入侵事件(OWASP TOP 10)等,像Oday、或者企业特有的服务就需要定制特定的规则了。

WAF有多种形态,可以以软件、硬件(设备)或作为商业服务(云)交付的形式出现,通常通过反向代理部署,放置在应用程序或网站(或多个应用程序和站点)的前面,通过检查每个数据包并根据规则分析应用层(7 层)逻辑,以过滤掉可疑或危险的http/https流量。

使用

具有ModSecurity的WEB中间件可以直接使用CSR,参考:
https://www.cnblogs.com/Hi-blog/p/OWASP-ModSecurity-Core-Rule-Set-CRS.html

也可以自己开发一款防火墙软件接入CSR,不过需要考虑性能问题。

规则

https://coreruleset.org/
ModSecurity 核心规则集 (CRS)是一组通用攻击检测规则,用于ModSecurity或兼容的 Web 应用程序防火墙。CRS 旨在保护 Web 应用程序免受各种攻击,包括 OWASP 十大攻击,并尽量减少误报。

CRS 提供针对许多常见攻击类别的保护,包括:

  • SQL 注入 (SQLi)
  • 跨站点脚本 (XSS)
  • 本地文件包含 (LFI)
  • 远程文件包含 (RFI)
  • PHP 代码注入
  • Java 代码注入 HTTPoxy
  • Shellshock
  • Unix/Windows Shell 注入
  • 会话固定
  • 脚本/扫描器/机器人检测
  • 元数据/错误泄漏

规则code:
https://github.com/coreruleset/coreruleset/tree/v4.0/dev/rules
https://github.com/MicrosoftDocs/azure-docs.zh-cn/blob/master/articles/web-application-firewall/ag/application-gateway-crs-rulegroups-rules.md
https://github.com/SpiderLabs/owasp-modsecurity-crs/

测试建议

CSR有大量新的检测,任何新的检测都会带来一定的误报风险。因此,建议在上线前先对历史数据进行测试。

posted on 2023-01-18 20:45  Mysticbinary  阅读(117)  评论(0编辑  收藏  举报