WAF>> waf>> 返回
项目作者: zyanru

项目描述 :
简单的利用Nginx+lua-nginx-module实现的WAF
高级语言: Lua
项目地址: git://github.com/zyanru/waf.git
创建时间: 2019-08-25T13:45:10Z
项目社区:https://github.com/zyanru/waf

开源协议:

下载


waf

学习lua-nginx-module,参考并引用了 https://github.com/unixhot/waf 部分代码

功能描述

CC 简单防御:

  • IP黑白名单控制
  • 根据URI限制策略(例如:uri=’/api/‘, rate=’12/20’, blocktime=600, op=1. 某IP ,’/api/‘ 页面如果在统计时间窗口20秒内被访问超过了12次,则封禁5分钟.),限制单IP请求频率

部署配置

1. 安装OpenResty 或者 Nginx重新编译支持LUA

  1. $ sudo mkdir -p /etc/nginx/lua_scripts/
  2. $ sudo mkdir /var/log/nginx
  3. $ git clone https://github.com/zyanru/waf.git
  4. $ sudo cp -a waf/waf /etc/nginx/lua_scripts/

2. 配置nginx.conf

  1. lua_shared_dict cclimit 50m;
  2. lua_package_path "/etc/nginx/lua_scripts/waf/?.lua;;";
  3. init_by_lua_file "/etc/nginx/lua_scripts/waf/init.lua";
  4. access_by_lua_file "/etc/nginx/lua_scripts/waf/access.lua";

3. 编辑/etc/nginx/lua_scripts/waf/config.lua 按例配置相关规则