OpenResty学习笔记02:为服务增加waf功能

发布时间 2023-04-30 22:32:51作者: 网无忌

一. WAF简介

 
Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。
目前国内的几大云服务商都提供了企业级的WAF产品,且均价格不菲。
好消息是,在 OpenResty 生态中,有一款开源的WAF可供我等学习,开源万岁!
 

二. 开源的WAF

 
该WAF的作者叫 赵班长,GitHub主页:https://github.com/unixhot/waf
 
主要功能列表:

  1. 支持IP白名单和黑名单功能,直接将黑名单的IP访问拒绝。
  2. 支持URL白名单,将不需要过滤的URL进行定义。
  3. 支持User-Agent的过滤,匹配自定义规则中的条目,然后进行处理(返回403)。
  4. 支持CC攻击防护,单个URL指定时间的访问次数,超过设定值,直接返回403。
  5. 支持Cookie过滤,匹配自定义规则中的条目,然后进行处理(返回403)。
  6. 支持URL过滤,匹配自定义规则中的条目,如果用户请求的URL包含这些,返回403。
  7. 支持URL参数过滤,原理同上。
  8. 支持日志记录,将所有拒绝的操作,记录到日志中去。
  9. 日志记录为JSON格式,便于日志分析,例如使用ELK进行攻击日志收集、存储、搜索和展示。