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