基于ngx_lua_waf模块配置web应用防火墙

基于ngx_lua_waf模块配置web应用防火墙,第1张

基于ngx_lua_waf模块配置web应用防火墙

序言

X_Lua_waf是一个基于lua-nginx-module(openresty)的web应用服务器防火墙

Github详细地址:https://github.com/loveshell/ngx_lua_waf

1,主要用途:

避免sql注入,包括局部溢出、模糊检测、XSS、XXXF等网页***

避免泄露svn/备份数据等文档

避免使用像ApacheBench这样的工作压力检测工具

屏蔽掉通用扫描仪***专用工具,扫描q。

屏蔽掉不正常的互联网需求。

屏蔽掉图片附件文件目录php实现管理权限。

避免webshell提交

2,安装设备

2.1下载并安装luajit

Luajit是一个用C语言编写的Lua编译器。

#git克隆http://luajit.org/git/luajit-2.0.git

#make安装前缀=/usr/local/luajit

#exportLuajit_LIB=/usr/local/Luajit/LIB

#exportluajit_Inc=/usr/local/LuaJIT/include/LuaJIT-2.0导出环境变量

#vim/etc/profile.d/luajit加上全局环境变量

export PATH=/usr/local/luajit/bin:$PATH

2.2下载并安装ngx_devel_kit

Ngx_devel_kit是nginx的一个模块,用来扩展nginx网络服务器的关键作用。在这个框架下可以开发和设计更强大的其他模块。

#gitclonehttps://github.com/simpl/ngx_devel_kit.git下载时没有编译。

#/usr/local/soft/ngx_devel_kit只找零件。

2.3下载、安装并下载lua-nginx-module

#wgethttps://github.com/openresty/Lua-nginx-module/archive/v0.9.15.tar.gz

#塔尔-zxvfv0.9.15.tar.gz

#/usr/local/soft/Lua-nginx-module-0.9.15泄完压就找零件。

2.4再次编译nginx,一定要注意编译顺序。

--with-ld-opt="-Wl,-rpath, /usr/local/luajit/lib " \ --add-module=/usr/local/soft/ngx_devel_kit \ --add-module=/usr/local/soft/lua-nginx-module-0.9.15

上面Luajit的lib,ngx_devel_kit,lua-nginx模块只是重点添加的模块。最后得到了以下设备。

#http://nginx.org/download/nginx-1.7.10.tar.gzWGET提出申请nginx1.7版本号1.7,但在我申请1.9之前,我一直在犯错误。

#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx  --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock  --with-http_ssl_module --with-http_stub_status_module  --with-http_gzip_static_module --with-http_flv_module  --with-http_mp4_module  --http-client-body-temp-path=/var/tmp/nginx/client  --http-proxy-temp-path=/var/tmp/nginx/proxy  --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi  --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib"  --add-module=/usr/local/soft/ngx_devel_kit   --add-module=/usr/local/soft/lua-nginx-module-0.9.15  && make  &&make install

安装后查询版本号:

[root@nginx-1.7.10]#/usr/local/nginx/sbin/nginx-V

nginx版本:nginx/1.7.10

由gcc4.4.720120313(红帽4.4.7-16)构建(gcc)

TLSSNI支持已启用

配置参数:-prefix=/usr/local/nginx-user=nginx -group=nginx-error-log-path=/var/log/nginx/error.log -http-log-path=/var/log/nginx/access.log -PID-path=/var/run/nginx/nginx.PID-lock-path=/var/lock/nginx.lock -with-http_SSL_module-with-http

2.3顺利重启nginx

#kill-HUP`cat/var/run/nginx/nginx.PID`
#/usr/local/nginx/sbin/nginx-sreload

2.4下载后,缓解压力,将ngx_lua_waf移到nginx安装文件的conf文件目录下,重命名为waf。

#去https://github.com/loveshell/ngx_lua_waf/archive/master.zip

#mvngx_lua_waf-master/waf

在nginx.conf的http部分添加

lua_package_path "/usr/local/nginx/conf/waf/?.lua"; lua_shared_dict limit 十米; init_by_lua_file  /usr/local/nginx/conf/waf/init.lua; access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

2.5conf.Lua中的waf标准文件目录(/usr/local/nginx/conf/waf)

rulepath="/usr/local/nginx/conf/wafconf/"注意标准环境变量的方法

重启nginx即可。

3。检测

检查wafserver/的防火墙配置?A=unionselect,确认封锁成功~ok。

【以上内容脚本化,一键安装:下载wafinstall.sh后,#bashwafinstall.sh即可安装。]

4。摘要

x_Lua_waf安装成功,luajit(编译器)->:X_devel_kit(快速打开的模块化 块)->:Lua-nginx-module(模块),luajit需要的编译和具体安装文件。nginx之后编译模块时需要这个主参数。还有下载的 的ngx_devel_kit和lua-nginx-module模块。你不需要编译它们。下载后想办法,然后编译nginx。另外 建议应用nginx1.7版本号1.7。

本文来自:控制企鹅的'博客,永久连接http://www.mrliangqi.com/1074.html.

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/778717.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存