104 Star 355 Fork 139

Miracle Qi / OpenWAF

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Changelog.md 8.21 KB
一键复制 编辑 原始数据 按行查看 历史
Miracle Qi 提交于 2020-02-21 14:10 . Update pset

Time: 2020/02/14
Version: v1.0.0β
功能变更:
  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 更新基本做到向下兼容,不影响原有配置。可能会有影响的,字体已加粗且斜体

Time: 2017/12/26
Version: v0.0.6
  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

Time: 2017/04/10
Version: v0.0.5
  1. Rules
    Delete 30 rules which severity is "low".
  2. fix
    Failed to install on Ubuntu: undefined symbol GeoIP_continent_by_id
  3. Update docker version to 0.0.5
  4. New Release - 0.0.5

Time: 2017/03/20
Version: v0.0.4
  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
  6. New Release - 0.0.4

Time: 2017/01/03
Version: v0.0.3.170103_beta
  1. New Module - twaf_anti_mal_crawler
    Distinguish malicious crawler and some scan tools

Time: 2016/12/05
Version: v0.0.2.161205_beta
  1. New Module - twaf_attack_response
    Return custom response page When the request is rejected by OpenWAF
  2. Api - api/stat[/policy_uuid]
    Show statistical infomation

Time: 2016/12/05
Version: v0.0.1.161130_beta
  1. Docker
    build OpenWAF with docker

Time: 2016/12/05
Version: v0.0.1.161012_beta
  1. log module
    Send tcp/udp log
  2. reqstat module
    Statistics of request infomation
  3. access rule
    Publish applications
  4. rule engine
    Access Control

Lua
1
https://gitee.com/miracleqi/OpenWAF.git
git@gitee.com:miracleqi/OpenWAF.git
miracleqi
OpenWAF
OpenWAF
master

搜索帮助