nginx之安全基础(nginx+waf+lua)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nginx之安全基础(nginx+waf+lua),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2983字,纯文字阅读大概需要5分钟。
内容图文
感谢网上的大神们提供的文档。nginx waf +lua 安全模块搭建,nginx上的web应用防火墙
需要的软件:
1、LuaJIT下载 网站:http://luajit.org (当前稳定版:2.0.4)
2、ngx_devel_kit-0.2.19.tar
3、lua-nginx-module-0.9.5rc2.tar
4、master.zip
5、nginx
优化nginx包
1、libunwind
2、gperftools
一、安装LuaJIT
tar -zxvf LuaJIT.tar.gz
make
make install
安装后lib、include直接放在/usr/local/lib和/usr/local/include中
二、解压ngx_devel_kit、lua-nginx-module
三、设置环境变量
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.0
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
四、安装nginx(版本1.6.1,在1.9.4中失败)
4.1优化nginx
vim /usr/local/src/nginx-1.6.1/auto/cc/gcc
注释:#debug
#CFLAGS="$CFLAGS -g"
解释:关闭nginx debug模块,减少nginx安装包大小
4.2优化nginx
解释:优化nginx性能,在内存分配效率和速度上提高很多,降低负载。需要安装libunwind和gperftools
4.2.1安装libunwind
tar -xf /usr/local/src/libunwind.tar.gz
cd /usr/local/src/libunwind
CFLAGS=-fPIC ./configure
make CFLAGS=-fPIC
make CFLAGS=-fPIC install
4.2.2安装gperftools
tar -xf /usr/local/src/gperftools.tar.gz
cd /usr/local/src/gperftools
make && make install
mkdir /tmp/tcmalloc //创建tcmalloc线程写入文件
chmod 777 /tmp/tcmalloc
echo "/usr/local/lib" >/etc/ld.so.conf.d/usr_local_lib.conf #使nginx.conf中配置google_perftools_profiles生效
4.2.3安装nginx
cd /usr/local/src/nginx-1.6.1/
例如:生产环境:注意ngx_devel_kit-0.2.19、lua-nginx-module-0.9.5rc2路径一定要正确
--prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module --add-module=/usr/local/nginx_upstream_check_module-master --with-http_stub_status_module --add-module=/usr/local/src/ngx_devel_kit-0.2.19
--add-module=/usr/local/src/lua-nginx-module-0.9.5rc2 --with-google_perftools_module
make && make install
4.2.4增加ngx_lua_waf_master
unzip -o /usr/local/src/ngx_lua_waf_master.zip
mv /usr/local/src/ngx_lua_waf_master /usr/local/nginx/conf/waf
#创建文件夹存放waf日志,需要有写入的权限
mkidr /home/nignx_waf_log/
chmod 777 /home/nginx_waf_log/
vim /usr/local/src/nginx/conf/waf/conf.lua
RulePath = "/usr/local/nginx-help/conf/waf/wafconf/" #指定waf规则存放文件夹
logdir = "/home/nginx_waf_log" #指定waf日志存放地
vim /usr/local/nginx/conf/nginx.conf
#在pid下添加,支持gperftools库
google_perftools_profiles /tmp/tcmalloc/tcmalloc.;
#在http 添加
lua_package_path "/usr/local/nginx/conf/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file /usr/local/nginx/conf/waf/init.lua;
access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;
然后启动nginx
网站子连接url后增加?id=../etc/passwd;查看是否会出现防火墙阻挡页面
lsof -n | greo tcmalloc 查看gperftools是否正常运行
在正式使用时候,使用的www.wooyun.org上提供的waf模块,规则根据自己所需要的进行修改
以上就介绍了nginx之安全基础(nginx+waf+lua),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是互联网集市为您收集整理的nginx之安全基础(nginx+waf+lua)全部内容,希望文章能够帮你解决nginx之安全基础(nginx+waf+lua)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。