网站首页 > 精选教程 正文
防火墙功能
- 支持IP白名单和黑名单功能,直接将黑名单的IP访问拒绝
- 支持URL白名单,将不需要过滤的URL进行定义
- 支持User-Agent的过滤,匹配自定义规则中的条目,然后进行处理(返回403)
- 支持CC攻击防护,单个URL指定时间的访问次数,超过设定值,直接返回403
- 支持Cookie过滤,匹配自定义规则中的条目,然后进行处理(返回403)
- 支持URL过滤,匹配自定义规则中的条目,如果用户请求的URL包含这些,返回403
- 支持URL参数过滤,原理同上
- 支持日志记录,将所有拒绝的操作,记录到日志中去* 日志记录为JSON格式,便于日志分析,例如使用ELKStack进行攻击日志收集、存储、搜索和展示
一键安装脚本
实现思路: 给 nginx 增加 ngx_devel_kit、lua-nginx-module 这两个模块,然后再修改 nginx 配置来运行 ngx_lua_waf
私信回复:nginx_waf 获取安装脚本下载地址
lua模块安装
1.下载 ngx_lua_waf 防火墙的各种依赖及模块
cd /usr/src/
wget https://github.com/openresty/luajit2/archive/v2.1-20181029.tar.gz
tar xzvf v2.1-20181029.tar.gz
mv luajit2-2.1-20181029 luajit-2.1
wget https://github.com/openresty/lua-cjson/archive/2.1.0.6.tar.gz
tar xzvf 2.1.0.6.tar.gz
mv lua-cjson-2.1.0.6 lua-cjson
wget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1rc1.tar.gz
tar xzvf v0.3.1rc1.tar.gz
mv ngx_devel_kit-0.3.1rc1 ngx_devel_kit
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz
ta r xzvf v0.10.13.tar.gz
mv lua-nginx-module-0.10.13 lua-nginx-module
2.编译安装luajit
cd luajit-2.1make -j2 && make installecho ‘/usr/local/lib’ ? /etc/ld.so.conf.d/local.confldconfig
3.编译安装lua-cjson
cd /usr/src/lua-cjsonexport LUA_INCLUDE_DIR=/usr/local/include/luajit-2.1make -j2 && make install
4.设置 LUAJIT 环境变量
export LUAJIT_LIB=/usr/local/libexport LUAJIT_INC=/usr/local/include/luajit-2.1
5.编译 nginx 的时候加上以下两个模块
–add-module=../lua-nginx-module–add-module=../ngx_devel_kit
6.下载配置 ngx_lua_waf
cd /usr/local/nginx/conf/
git clone https://github.com/xzhih/ngx_lua_waf.git waf
cat > /usr/local/nginx/conf/waf.conf << EOF
lua_shared_dict limit 20m;
lua_package_path "/usr/local/nginx/conf/waf/?.lua";
init_by_lua_file "/usr/local/nginx/conf/waf/init.lua";
access_by_lua_file "/usr/local/nginx/conf/waf/access.lua";
EOF
mkdir -p /usr/local/nginx/logs/waf
chown www-data:www-data /usr/local/nginx/logs/waf
你可以在 /usr/local/nginx/logs/waf 找到防火墙日志; 在 nginx.conf 里 include waf.conf
7.测试验证启动
nginx 并访问 http://192.168.31.91/?a=a.sql ; 就可以看到防火墙提示了
猜你喜欢
- 2024-09-22 Nginx: 高效稳定的服务器软件
- 2024-09-22 全面护航你的Web应用程序安全:开源防火墙解决方案——BunkerWeb
- 2024-09-22 Nginx何防止流量攻击,读完之后,大部分程序员都收藏了...
- 2024-09-22 Linux下通过AnySetup配置防火墙
- 2024-09-22 nginx如何成为全球头号web服务器
- 2024-09-22 云服务器同时安装宝塔和WAF防火墙共存教程
- 2024-09-22 Linux自编译云锁Web网站防火墙,看完小白也能保护网站安全
- 2024-09-22 基于 openresty 的 web 应用防火墙 cheerwaf
- 2024-09-22 Firewalld--01 防火墙安全、基本指令、区域配置
- 2024-09-22 Centos配置nginx代理上网服务器,让你的终端隐身
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)