nginx中使用waf防火墙

1.安装依赖

yum install -y readline-devel ncurses-devel

2.安装Lua

# tar xf lua-5.1.5.tar.gz
# cd lua-5.1.5
# make linux
# make install

3.安装LuaJIT

# wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
# tar xf LuaJIT-2.0.4.tar.gz
# cd LuaJIT-2.0.4
# make && make install

4.安装两个插件

# wget https://codeload.github.com/simpl/ngx_devel_kit/zip/master
# unzip ngx_devel_kit-master.zip
# cp -r ngx_devel_kit-master /usr/local/
# wget https://github.com/openresty/lua-nginx-module#readme
# unzip lua-nginx-module-master.zip
# cp -r lua-nginx-module-master /usr/local/

5.给已经安装过的nginx打补丁,没装过就直接装,方法一样

# export LUAJIT_LIB=/usr/local/lib
# export LUAJIT_INC=/usr/local/include/luajit-2.0

如果已经安装过nginx,就需要检查nginx的编译参数;如果没有装过,就不需要检查。
# /usr/local/nginx/sbin/nginx -V

打补丁时需要带上这些参数,剩余的--add-module就是新加的模块
./configure --prefix=/usr/local/nginx-1.4.7 --with-http_stub_status_module \--with-http_ssl_module \--add-module=/usr/local/ngx_devel_kit-0.2.19 \--add-module=/usr/local/lua-nginx-module-0.9.6 \--with-ld-opt="-Wl,-rpath,$LUAJIT_LIB"
# make -j2
# make install
ln -s /usr/local/lib/libluajit-5.1.so.2.0.3 /lib64/libluajit-5.1.so.2

6.配置nginx

lua_shared_dict limit 50m;
lua_package_path "/jboss/nginx-1.4.7/conf/waf/?.lua";
init_by_lua_file "/jboss/nginx-1.4.7/conf/waf/init.lua";
access_by_lua_file "/jboss/nginx-1.4.7/conf/waf/access.lua";

7.重载nginx即可

时间: 2024-08-26 03:39:39

nginx中使用waf防火墙的相关文章

nginx+ngx_lua支持WAF防护功能

安装nginx+ngx_lua支持WAF防护功能 nginx lua模块淘宝开发的nginx第三方模块,它能将lua语言嵌入到nginx配置中,从而使用lua就极大增强了nginx的能力.nginx以高并发而知名,lua脚本轻便,两者的搭配堪称完美. 用途:防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击 防止svn/备份之类文件泄漏 防止ApacheBench之类压力测试工具的攻击 屏蔽常见的扫描黑客工具,扫描器 屏蔽异常的网络请求 屏蔽图片附件类目录php

使用Nginx+Lua实现waf

使用Nginx+Lua实现waf 软件包需求: 1 .Nginx兼容性[最后测试到1.13.6] wget http://nginx.org/download/nginx-1.13.6.tar.gz 2 .PCRE为Nginx编译安装关系的依赖 wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz 3 .下载luajit解释器和ngx_devel_kit以及lua-nginx-module模块

Nginx中 Rewrite学习笔记

路由重写是Web服务器中的一个很重要的基本功能.通过路由重写,可以结构化URL,更具语义化(对SEO有益).另外,分享出去的URL可能会因程序路由变动而导致URL失效,而路由的重写可以很好的解决这类问题. 适当的使用Rewrite功能,可以更我们带来很多的好处.Nginx中Rewrite的功能是基于perl语言兼容的正则表达式,所以在编译安装nginx之前,需要安装PREC库.Nginx中Rewrite功能实现是基于ngx_http_rewrite_module,所以确保安装了此模块. Rewr

WAF防火墙接口问题导致业务中断

一.现象描述 1.网络拓扑 2.服务器虚拟化平台的业务全部中断且无法访问,包含WAF防火墙.数据中心交换机的远程管理. 二.故障解决思路 按照OSI七层参考模型,从应用层到物理层逐层排查的思路进行. 三.故障解决方式 1.首先查看核心交换机各个接口的流量状态,查看是否存在攻击流量.查看的结果是正常的. 2.其次查看设备之间的物理链路状态,查看是否存在链路不通的情况.查看的结果是WAF防火墙连接数据中心交换机的接口和数据中心交换机的接口都不亮,从而可确认是物理链路故障导致业务中断. 3.在更换WA

Nginx中worker_connections的问题

转载自http://hi.baidu.com/u_chen/item/560f1504a0a77367d45a1184 查看日志,有一个[warn]: 3660#0: 20000 worker_connections are more than open file resource limit: 1024 !! 原来安装好nginx之后,默认最大的并发数为1024,如果你的网站访问量过大,已经远远超过1024这个并发数,那你就要修改worker_connecions这个值 ,这个值越大,并发数也

【转】nginx中的ngx_cdecl

http://blog.csdn.net/midion9/article/details/50605337 看nginx的代码时,发现有些函数返回值之后,还有一个ngx_cdecl关键字,如: 1 2 3 4 5 6 7 intngx_cdecl main(intargc, char*const*argv) {     ngx_int_t         i;     ngx_log_t        *log;     ngx_cycle_t      *cycle, init_cycle;

CentOS6.4 安装OpenResty和Redis 并在Nginx中利用lua简单读取Redis数据

1.下载OpenResty和Redis OpenResty下载地址:wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz Redis下载地址:wget http://download.redis.io/releases/redis-2.8.6.tar.gz 2.安装依赖包 yum install -y gcc gcc-c++ readline-devel pcre-devel openssl-devel tcl perl

在nginx中使用lua直接访问mysql和memcaced达到数据接口的统一

安装nginx参见<nginx+lua+redis构建高并发应用> 让nginx 中的nginx_lua_module支持mysql 和memcache 下载 https://github.com/agentzh/lua-resty-memcached https://github.com/agentzh/lua-resty-mysql 对于访问接口的统一有很多的处理方式,这里介绍使用nginx lua 访问mysql并用memcache缓存起来. 配置如下: ... location /ge

nginx中针对目录进行IP限制

一个不错的nginx中针对目录进行IP限制 ,这里我以phpmyadmin目录只能让内网IP访问,而外网不能访问的配置方法,有需要的同学可参考. nginx phpmyadmin 针对内网ip用户开放.外网ip用户关闭(在前面的配置中,location ~ ^/目录/使用正则, 优先级高于location /的配置,所以nginx无法对首页进行解析)  代码如下 复制代码 server { listen       80; server_name example.com; access_log