序言
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:$PATH2.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.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)