LNMP一键安装包 ngx_lua_waf waf(web应用防火墙) 安装设置教程

栏目: Lua · 发布时间: 7年前

内容简介:WAF中文名是Web应用防火墙,WAF能够根据规则拦截SQL注入、恶意请求、黑客扫描等HTTP请求从而保护WEB应用的安全。今天我们要说的是一个比较简单好用的基于lua的waf:ngx_lua_waf。

LNMP一键安装包 ngx_lua_waf waf(web应用防火墙) 安装设置教程

WAF是啥?

WAF中文名是Web应用防火墙,WAF能够根据规则拦截 SQL 注入、恶意请求、黑客扫描等HTTP请求从而保护WEB应用的安全。

今天我们要说的是一个比较简单好用的基于 lua 的waf:ngx_lua_waf。

ngx_lua_waf是一个基于lua-nginx-module(openresty)的web应用防火墙, https://github.com/loveshell/ngx_lua_waf

用途:

防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击

防止svn/备份之类文件泄漏

防止ApacheBench之类压力测试 工具 的攻击

屏蔽常见的扫描黑客工具,扫描器

屏蔽异常的网络请求

屏蔽图片附件类目录 php 执行权限

防止webshell上传

ngx_lua_waf安装

lua支持安装

LNMP一键安装包从1.5开始增加了lua支持的选项,可以通过修改lnmp.conf中Enable_Nginx_Lua后的参数为 y 来启用lua,如果没安装lnmp,修改lnmp.conf后保存,安装完lnmp就是支持lua的,如果已经安装好lnmp,也是按前面修改lnmp.conf,然后lnmp安装包目录下 ./upgrade.sh nginx 升级nginx,输入当前nginx版本号或更新的nginx版本号,升级完成就是支持lua的了。

安装ngx_lua_waf

下载安装ngx_lua_waf:

wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip -O ngx_lua_waf.zip
unzip ngx_lua_waf.zip
mv ngx_lua_waf-master /usr/local/nginx/conf/waf

nginx上设置并启用ngx_lua_waf

编辑 /usr/local/nginx/conf/nginx.conf 在 server_tokens off; 下面添加如下代码:

lua_package_path "/usr/local/nginx/conf/waf/?.lua";

lua_shared_dict limit 10m;

init_by_lua_file /usr/local/nginx/conf/waf/init.lua;

修改完成保存

如果要想在某个虚拟主机启用ngx_lua_waf可以修改对应虚拟主机的server段,在该server段中 root 网站目录行下面添加如下代码:

access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

修改完成保存

测试nginx配置文件: /usr/local/nginx/sbin/nginx -t

重载nginx配置生效: /usr/local/nginx/sbin/nginx -s reload

如果测试和重载都没报错就已经生效。

可以通过访问 http://域名/test.php?id=../etc/passwd 来测试

提示:您的请求带有>不合法参数,已被网站管理员设置拦截!说明已经正确设置

ngx_lua_waf配置文件位置:/usr/local/nginx/conf/waf/config.lua

ngx_lua_waf配置文件参数说明:

RulePath = "/usr/local/nginx/conf/waf/wafconf/"

--规则存放目录

attacklog = "off"

--是否开启攻击信息记录,需要配置logdir

logdir = "/usr/local/nginx/logs/hack/"

--log存储目录,该目录需要用户自己新建,切需要nginx用户的可写权限

UrlDeny="on"

--是否拦截url访问

Redirect="on"

--是否拦截后重定向

CookieMatch = "on"

--是否拦截cookie攻击

postMatch = "on"

--是否拦截post攻击

whiteModule = "on"

--是否开启URL白名单

black_fileExt={"php","jsp"}

--填写不允许上传文件后缀类型

ipWhitelist={"127.0.0.1"}

--ip白名单,多个ip用逗号分隔

ipBlocklist={"1.0.0.1"}

--ip黑名单,多个ip用逗号分隔

CCDeny="on"

--是否开启拦截cc攻击(需要nginx.conf的http段增加lua_shared_dict limit 10m;)

CCrate = "100/60"

--设置cc攻击频率,单位为秒.

--默认1分钟同一个IP只能请求同一个地址100次

html=[[Please go away~~]] --警告内容,可在中括号内自定义

备注:不要乱动双引号,区分大小写

ngx_lua_waf安装教程到此结束,后续我们也会推出其他几款类似waf的教程,如有问题可以本文回复或者VPS论坛发帖。

-----------------------------------------------------------------------------------------------------------------

论坛注册邀请码:ef37cac79dzowN7H有效期至:2019-3-2 10:19


以上所述就是小编给大家介绍的《LNMP一键安装包 ngx_lua_waf waf(web应用防火墙) 安装设置教程》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Data Mining

Data Mining

Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95

The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具