0

0

nginx之安全基础(nginx+waf+lua)

php中文网

php中文网

发布时间:2016-07-29 09:15:23

|

1466人浏览过

|

来源于php中文网

原创

感谢网上的大神们提供的文档。

  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

神笔马良
神笔马良

神笔马良 - AI让剧本一键成片。

下载

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教程有兴趣的朋友有所帮助。

相关专题

更多
c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

79

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

46

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

121

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

12

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

15

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

71

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

370

2026.01.09

php学习网站大全
php学习网站大全

精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

45

2026.01.09

php网站搭建教程大全
php网站搭建教程大全

本合集专为零基础用户打造,涵盖PHP网站搭建全流程,从环境配置到实战开发,免费、易懂、系统化,助你快速入门建站!

12

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号