首页 运维 网络学院 查看内容

利用ngx lua waf模块做waf防火墙

2017-9-7 11:28 |来自: 互联网 2488 0

摘要: ngx_lua_waf 功能:防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击防止svn/备份之类文件泄漏防止ApacheBench之类压力测试工具的攻击屏蔽常见的扫描黑客工具,扫描器屏蔽异常的网络请求屏蔽图片附 ...

ngx_lua_waf 功能:

防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击防止svn/备份之类文件泄漏防止ApacheBench之类压力测试工具的攻击屏蔽常见的扫描黑客工具,扫描器屏蔽异常的网络请求屏蔽图片附件类目录php执行权限防止webshell上传

安装lua环境

http://luajit.org/download.html

下载稳定版,安装

make

make install

NDK nginx开发工具包

https://github.com/simpl/ngx_devel_kit

nginx的lua模块

https://github.com/openresty/lua-nginx-module

nginx编译

[root@docker-remote3 nginx-1.8.1]# ./configure --prefix=/usr/local/nginx --add-module=../ngx_devel_kit-master/ --add-module=../lua-nginx-module-master/

(如果nginx版本过低,好像是低于1.4会有提示,换高版本nginx)

[root@docker-remote3 nginx-1.8.1]# /usr/local/nginx/sbin/nginx -V

/usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

[root@docker-remote3 nginx-1.8.1]# find / -name "libluajit-5.1.so.2"

/usr/local/lib/libluajit-5.1.so.2

[root@docker-remote3 nginx-1.8.1]# ln -s /usr/local/lib/libluajit-5.1.so.2 /usr/lib64/libluajit-5.1.so.2

[root@docker-remote3 nginx-1.8.1]# /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.8.1

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)

configure arguments: --prefix=/usr/local/nginx --add-module=../ngx_devel_kit-master/ --add-module=../lua-nginx-module-master/

nginx加一段配置,看lua脚本能否解析。

location /lua.html {

default_type 'text/plain';

content_by_lua 'ngx.say("hello, lua")';

}

如图打印出来为成功。

下载waf规则 按照github给出的文档配置。

配置文档连接:https://github.com/loveshell/ngx_lua_waf

测试:

在url传递值到后端服务器的时候,加上sql语句,就会拦截下来。

加了一句 and select * from

结果就是:

这个效果。。。

本文出处: http://www.toutiao.com/i6462222538989634061/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部