nginx安装waf防护

一.安装nginx

二.安装luajit2.0

三.安装ngx_devel_kit
#wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz --no-check-certificate
#tar -zxvf v0.2.19

四.安装nginx_lua_module

五.编译nginx

七.安装配置nginx_lua_waf
1.安装

wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip --no-check-certificate
unzip master
cd ngx_lua_waf-master/
mkdir /usr/local/nginx/conf/waf
mv * /usr/local/nginx/conf/waf/

  


2.配置

lua_need_request_body on;
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;

  


3.config.lua配置说明
config.lua配置文件说明:

RulePath = "/usr/local/nginx/conf/waf/wafconf/"
--规则存放目录
attacklog = "off"
--是否开启攻击信息记录,需要配置logdir
logdir = "/usr/local/nginx/logs/hack/"
--log存储目录,该目录需要用户自己新建,切需要nginx用户的可写权限
UrlDeny="on"
--是否拦截url访问
Redirect="on"
--是否拦截后重定向
CookieMatch = "on"
--是否拦截cookie攻击
postMatch = "on" 
--是否拦截post攻击
whiteModule = "on" 
--是否开启URL白名单
ipWhitelist={"127.0.0.1"}
--ip白名单,多个ip用逗号分隔
ipBlocklist={"1.0.0.1"}
--ip黑名单,多个ip用逗号分隔
CCDeny="on"
--是否开启拦截cc攻击(需要nginx.conf的http段增加lua_shared_dict limit 10m;)
CCrate = "100/60"
--设置cc攻击频率,单位为秒.
--默认1分钟同一个IP只能请求同一个地址100次
html=[[Please go away~~]]
--警告内容,可在中括号内自定义
备注:不要乱动双引号,区分大小写

4.重启nginx

5.测试,访问网址 url/?id=../etc/passwd

 

参考网址:

http://blog.slogra.com/post-497.html

转载于:https://www.cnblogs.com/itfenqing/p/5474286.html

nginx lua waf是一种基于lua-nginx-module的Web应用防火墙(WAF)。它可以在nginx服务器上使用lua脚本进行请求过滤和防护,以提供更好的安全性。安装nginx lua waf的步骤如下: 1. 首先,下载适用于lua-nginx-module的版本。你可以使用以下命令从GitHub上下载lua-nginx-module模块的特定版本: ``` wget https://github.com/openresty/lua-nginx-module/releases/tag/v0.10.13 ``` 2. 解压下载的文件: ``` tar -zxvf v0.10.13 ``` 3. 删除之前的lua-nginx-module版本(如果有的话): ``` rm -rf openresty-1.9.15.1/bundle/ngx_lua-0.10.5 ``` 4. 复制新的lua-nginx-module到正确的位置: ``` mv lua-nginx-module-0.10.13 openresty-1.9.15.1/bundle/ngx_lua-0.10.13 ``` 5. 使用适当的编译参数来编译nginx,具体参数可以参考VeryNginx的编译参数。以下是一个示例编译命令: ``` ./configure --prefix=/opt/verynginx/openresty --user=nginx --group=nginx --with-http_v2_module --with-http_sub_module --with-http_stub_status_module --with-luajit make ``` 在编译完成后,你就可以使用nginx lua waf来增强你的nginx服务器的安全性了。 值得注意的是,在lua-nginx-module的源码中,有一些默认参数设置,例如最多请求参数和头的数量默认为100。你可以根据需要进行调整。例如,可以在源代码中找到以下部分进行修改: ``` #ifndef NGX_HTTP_LUA_MAX_ARGS #define NGX_HTTP_LUA_MAX_ARGS 100 #endif #ifndef NGX_HTTP_LUA_MAX_HEADERS #define NGX_HTTP_LUA_MAX_HEADERS 100 #endif ``` 这样,你可以根据实际需求来调整最大请求参数和头的数量。 参考资料: https://github.com/p0pr0ck5/lua-resty-waf/issues/280 https://github.com/openresty/lua-nginx-module#ngxreqget_uri_args https://github.com/openresty/openresty/issues/358 https://github.com/openresty/lua-nginx-module/commit/52af63a5b949d6da2289e2de3fb839e2aba4cbfd<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Nginx Lua WAF通用绕过方法](https://blog.csdn.net/qq_27446553/article/details/80404592)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值