开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

nginx_lua_waf安装测试

简介:
+关注继续查看

ngx_lua_waf是一个基于lua-nginx-module(openresty)的web应用防火墙,对于中小企业或不愿购置硬件防火墙的企业的首选,能有效保证网站的安全性。 

源码:https://github.com/loveshell/ngx_lua_waf


0x1  安装部署

系统版本:Centos7 x86_64 


安装依赖包

yum install -y readline-devel pcre-devel openssl-devel


1、openresty的安装配置

cd /usr/local/src


wget https://openresty.org/download/openresty-1.9.15.1.tar.gz 

tar -zxvf openresty-1.9.15.1.tar.gz 


cd openresty-1.9.15.1 


./configure --prefix=/usr/local/openresty-1.9.15.1 --with-luajit --with-http_stub_status_module --with-pcre --with-pcre-jit


gmake && gmake install


ln -s /usr/local/openresty-1.9.15.1/ /usr/local/openresty


测试启动nginx

/usr/local/openresty/nginx/sbin/nginx -t


成功启动nginx显示如下 

nginx: the configuration file /usr/local/openresty-1.9.15.1/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/openresty-1.9.15.1/nginx/conf/nginx.conf test is successful


启动nginx

/usr/local/openresty/nginx/sbin/nginx


2、配置nginx_lua_waf

git clone https://github.com/loveshell/ngx_lua_waf.git

将git获取的文件放到nginx的conf目录下

在nginx.conf的http段添加

lua_package_path "/usr/local/openresty/nginx/conf/ngx_lua_waf/?.lua";

lua_shared_dict limit 10m;

init_by_lua_file /usr/local/openresty/nginx/conf/ngx_lua_waf/init.lua;

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

配置config.lua里的waf规则目录(一般在ngx_lua_waf/wafconf/目录下)

RulePath = "/usr/local/openresty/nginx/conf/ngx_lua_waf/wafconf"

attacklog = "on"

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

 

3、waf日志配置

#将nginx.conf首行的”# user nobody;”的”#”注释去掉,重新启动nginx服务 user nobody #将防护日志目录所属user和group修改为nobody,目录权限可设为700也可以写入,当然也可以默认

cd /usr/local/nginx/conf 

//chown -R nobay.nobady waf 

//chmod 700 waf


因为nginx、php模块等是单独安装的,所以每次重启服务器都需要重启相应的服务

启动nginx

cd  /usr/local/openresty/nginx/sbin

./nginx   (不关闭nginx而重新加载配置文件   ./nginx  -t)




0x2  nginx_lua_waf测试

启动php

直接执行/usr/sbin/php-fpm

测试SQL注入漏洞

f090a0947a33c0f226e924b861a481f9.png-wh_


测试结果

6abdacb3269720682b3e47d77a6398db.png-wh_


测试任意文件读取

4fa86ef73f1a6993a4045bdabf39aea1.png-wh_


进行CC攻击测试

41cdfdb1dbcf7eedda1f53a595589ee8.png-wh_


通过查看waf_logs可以看到waf拦截的所有的攻击操作

909f018bed3c69a02e515cd117ae2aa0.jpg-wh_


通过waf_logs可以看到无论是sql注入、任意文件读取还是CC攻击都被成功的拦截,waf的部署是成功可靠的!





     本文转自Tar0 51CTO博客,原文链接:http://blog.51cto.com/tar0cissp/1980249,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Nginx 安装与使用
1.wget下载: http://nginx.org/download/nginx-1.4.2.tar.gz2.进行安装: tar -zxvf nginx-1.6.2.tar.gz3.下载锁需要的依赖库文件: yum install pcre yum install pcre-devel yum install zlib yum install zlib-devel 4.
1348 0
【Nginx】第十六节 配置反向代理
【Nginx】第十六节 配置反向代理
33 0
【Nginx】第十二节 配置跨域访问
【Nginx】第十二节 配置跨域访问
185 0
【Nginx】学习之路3 Centos安装与配置(1)
【Nginx】学习之路3 Centos安装与配置
39 0
ubuntu配置nginx反向代理
ubuntu 配置nginx反向代理,这里简单记录下,后续再复习..
295 0
Nginx系列:配置跳转的常用方式
随着应用服务的增多,服务可能部署在不同的服务器上。这些服务有可能存在IP、端口Port、请求的ContextPath等一样的情况,怎么合理的配置他们的跳转呢?下面介绍三种常见的跳转方式。
125 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载