架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 16565|回复: 1

[Web] [实战]centos nginx 安装防火墙ngx_lua_waf

[复制链接]
发表于 2018-4-27 13:29:43 | 显示全部楼层 |阅读模式
nginx lua模块淘宝开发的nginx第三方模块,它能将lua语言嵌入到nginx配置中,从而使用lua就极大增强了nginx的能力.nginx以高并发而知名,lua脚本轻便,两者的搭配堪称完美.

GitHub地址:https://github.com/loveshell/ngx_lua_waf

###用途:

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


系统版本,命令 lsb_release -a

LSB Version:        :core-4.1-amd64:core-4.1-noarch
Distributor ID:        CentOS
Description:        CentOS Linux release 7.4.1708 (Core)
Release:        7.4.1708
Codename:        Core

LuaJIT版本

LuaJIT-2.0.5最新稳定版本

nginx版本(会安装失败,后续会说到)

nginx1.4.4版本

首先,创建安装目录/alidata/server/lj2,命令如下:

安装 lua 环境

QQ截图20180427110336.jpg QQ截图20180427110520.jpg

--查看是否安装成功

--创建软链接

原来的命令:



由于我们lua安装在了/alidata/server/lj2下,所以执行下面的命令,不要执行上面的命令,执行下面命令

QQ截图20180427111935.jpg

如果不创建符号链接,可能出现以下异常: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

下载ngx_devel_kit并解压

项目主页:https://github.com/simplresty/ngx_devel_kit


下载ngx_lua并解压


重新编译安装nginx

先备份之前的 ngxin文件

我以前安装过nginx,执行命令nginx -V,如下:

nginx version: nginx/1.4.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_module

两个模块目录
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19


在nginx目录下载执行

--添加到环境变量,告诉nginx去哪里找luajit



如果不添加,nginx在编译的时候,会报错如下:

./configure: error: ngx_http_lua_module requires the Lua library.如果报错,请执行上面两句话即可!
QQ截图20180427121556.jpg

编译
报错: #error at least nginx 1.6.0 is required but found an older version

QQ截图20180427122204.jpg
nginx版本过低,最低要求为1.6.0,所以,升级nginx版本,在升级nginx版本的时候,其实就可以把lua-nginx-module和ngx_devel_kit模块装到新版本里面去了,这里就不详细说了,用新版本执行下面命令就可以了,

[实战]Nginx1.4.4升级成1.14.0
http://www.itsvse.com/thread-4714-1-1.html
(出处: 架构师_程序员)

下载ngx_lua_waf并解压



修改 nginx的配置文件  根据实际情况更改路径

在nginx.conf的http段添加


添加完后,我重启nginx,然后报500错误,最后,发现原因是config.lua文件要修改两个位置:

RulePath 和 logdir根据自己的情况进行修改!

测试

https://www.itsvse.com/forum.php?id=../etc/passwd


QQ截图20180427132437.jpg





上一篇:[实战]Nginx1.4.4升级成1.14.0
下一篇:记录一下什么可以用信用卡支付
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-5-6 14:18:47 | 显示全部楼层
还好,看看
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-6-17 02:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表