Skip to content

OpenWAF-1.0.0_beta

Choose a tag to compare

@miracleqi miracleqi released this 21 Feb 07:19
· 11 commits to master since this release

功能变更:
  twaf_access_rule 接入规则模块:
    Add: 新增 url_case_sensitive 参数,用于判断路径 "path" 是否区分大小写(默认不区分大小写)
    Add: host 参数与 port 参数支持数组类型
    Add: host 参数支持 IPv6
    Add: 接入规则 POST 和 DELETE 的 API 支持批量添加或批量删除接入规则
    Update: 接入规则 PUT API 功能从 修改部分配置 改为 全量(覆盖)修改配置
    Add: 新增接入规则的 PATCH API 用于部分修改配置

  twaf_secrules 规则引擎模块:
    Add: 规则引擎中 opts 的 ngx_var 支持动态变量
    Add: 规则引擎中 operators 的 ip_utils 支持 IPv6
    Add: 添加规则集机制。可设置不同规则集,并在策略中引用指定规则集。(策略未引用规则集,则默认加载所有规则生效,兼容了无规则集的旧版本)
    Add: 新增规则集APIs。包含增删改查。

  twaf_log 日志模块:
    Add: 日志支持写入本地文件(同时支持原有tcp/udp外发)

  twaf_stat 统计模块:
    Update: 统计:支持按关键字进行分类统计。

  twaf_api API模块:
    Add: 新增策略policy的PATCH方法API,用于修改策略部分配置。
    Add: 新增 errlog API,可通过调用API查询错误日志
    Add: 新增 luajit API,便于判断环境是 lua 还是 luajit
    Add: 新增 PSET(集合)功能。可用于自定义"对象"
    Update: user_defined_rules 的 POST API 不再支持 {index} 参数

  others:
    Update: 变量 UNIQUE_ID,默认34位自定义随机字符串 改为从 $request_id 变量获取的 16/32 位随机字符串
    Add: 默认添加了 X-Tt-Request-Id 响应头,其值等于 UNIQUE_ID 变量的值.
    Add: 可从X-Forwarded-For中获取真实来源IP。开启接入规则模块,此功能才生效。
    Fix: [warn] could not build optimal variables_hash。在nginx配置文件中放大variables_hash_max_size和variables_hash_bucket_size的值,解决此问题。
    Add: 新增响应体内容替换
    Add: OpenWAF 颁发的 cookie,默认追加 HttpOnly 属性。
    Add: 可用规则生成不同频率级别的 CC 防护
    Update: 自定义响应头支持配置动态变量
    Update: "redirect"重定向动作支持配置动态变量

性能提升:
  Update: 变量,按需自动加载所需变量。不必每个请求都加载所有变量
  Add: 配置初始化。无需在请求过程中处理不必要的配置校验及转换。
  Add: 基于配置初始化,规则引擎设置二级缓存(变量缓存级transform结果缓存)
  Add: 基于配置初始化,接入规则设置二级缓存,实现快速匹配(由原来的顺序匹配O(N),改为缓存定位O(1))

PS: 从低版本升级至 v1.0.0β 版本:
  1. 所有 Add 新增,向下兼容,不影响原有配置功能。
  2. Update 更新基本做到向下兼容,不影响原有配置。可能会有影响的,字体已加粗且斜体