zwczou / lua-waf

1 stars 1 forks source link

Lua WAF

使用说明

  1. 首先修改 init.lua 里面的waf_path为你自己的绝对路径
  2. 然后将下面的nginx配置放在http{}里,并且修改路径
lua_shared_dict cc_limited 10m;
lua_package_path "/path/to/lua-waf/lib/waf/?.lua;;";
init_by_lua_file /path/to/lua-waf/init.lua;
access_by_lua_file /path/to/lua-waf/access.lua;

安装依赖

IP匹配依赖ipmatcher,可以使用openresty自带的opm安装

opm get xiangnanscu/lua-resty-ipmatcher

如果提示opm找不到,可以使用绝对路径

/path/to/openresty/bin/opm get xiangnanscu/lua-resty-ipmatcher

配置文件

enable = true # 启动waf

check_white_ip = true # 检测白名单

check_black_ip = true # 检测黑名单

check_url = true # 检测请求路径

check_url_args = true # 检测请求参数

check_user_agent = true # 检测请求代理

check_cookie = false # 检测cookie

check_post = false # 检测post请求

check_cc = true # 检测CC攻击

cc_rate = 100 # 请求次数

cc_duration = 60 # 检测时长

cc_store_key = "cc_limited" # 需要在配置里面设置 lua_shared_dict cc_limited 20m;

redirect_url = # 重定向

#content = deny.html # 输出内容, 如果是文件路径,显示文件内容, 支持文件里面包含html,json
content = debug # 显示debug信息

感谢