OpenWAF Versions Save

Web security protection system based on openresty

v1.1

3 years ago
  1. OpenWAF 支持OpenResty 1.15.8.2 版本
  2. 更新:twaf_access_rule 接入规则模块,初始化时新增校验 is_star 字段类型,仅允许 boolean 类型
  3. 更新:shm API 新增支持获取共享内存数据内一级key对应的数据
  4. 更新:parse_dynamic_value 获取动态变量的值,仅支持返回 空、数字和字符串 三中类型数据
  5. 修复:修复 FILES 和 FILES_NAMES 变量不生效的问题
  6. 修复:修复 twaf_access_rule 接入规则模块中,policy 初始化赋值异常问题

v1.0.0_beta

4 years ago

功能变更:
  twaf_access_rule 接入规则模块:
    Add: 新增 url_case_sensitive 参数,用于判断路径 "path" 是否区分大小写(默认不区分大小写)
    Add: host 参数与 port 参数支持数组类型
    Add: host 参数支持 IPv6
    Add: 接入规则 POSTDELETE 的 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 更新基本做到向下兼容,不影响原有配置。可能会有影响的,字体已加粗且斜体

v0.0.6

6 years ago
Access_rule module :
    fix : 'host' not ignore case

Log module :
    add directive : 'size_limit'

Api module :
    upload API module
    fix : failed to request api

Anti_mal_crawler module :
    fix : mistakenly identified as crawler
    add directive : 'dict_state'

Anti_cc module :
    fix : no log in CC protection period
    add directive : 'attacks' 

Secrules module :
    add action : 'WARN'
    add action : 'AUDIT'
    add action : 'ALLOW_PHASE'
    add directive : 'system_rules_state'
    add directive : 'recommend' in rules
    add directive : 'add_resp_headers' in rules
    fix : 'meta' not work when action is 'DENY'
    change the order of system_rule and user_defined_rules

Others :
   upload doc : 轻松玩转OpenWAF之ELK
   upload doc : 深入研究OpenWAF之nginx配置
   upload doc : 轻松玩转OpenWAF之安装篇
   upload donation
   support waf bypass
   fix : return 500, ngx.req.raw_header() not support HTTP/2
   create CODE_OF_CONDUCT.md
   create CONTRIBUTING.md
   update docker version to 0.0.6

New Release : 0.0.6

v0.0.5

7 years ago
1. Rules
    Delete 30 rules which severity is "low".
2. fix
    Failed to install on Ubuntu: undefined symbol GeoIP_continent_by_id
3. Update OpenResty version to 1.11.2.2
4. Update docker version to 0.0.5
5. New Release - 0.0.5

v0.0.4

7 years ago
1. New Module - twaf_anti_cc  
    Anti http flood  
2. Performance optimization
    optimaize RESPONSE_BODY variable to reduce memory
3. add QQ group
    QQ group: 579790127
4. fix
    4.1 loading error -- wrong comment
    4.2 return 500 response code -- string.char not support GBK
5. Update docker version

v0.0.3.170103_beta

7 years ago

add anti_mal_crawler module