OpenResty+Lua WAF工作的原理介绍

outputo-20210606-151419-062-pgsj.png

当前企业的业务输出基本上都是tp/https,在acl和iptables设备中,其他内部端口也可以访问控制;如何保护主要web出口?采用nginxlua芯片实现网络软芯片。

软件防火墙。

Nginx晶圆保护程序:

首先检查白名单是否已通过;再次检查黑名单是否已通过;再次检查UA是否已失败;检查cookie;URL检查;URL参数检查;post检查;

Nginx封装配置。

HTTP{

#lua_waf

lua_shared_dict限定了50米。

#根据主机内存进行适当的调整。

lua_shared_dictiplimit20m

lua_shared_dictblockiplimit5m值。

package_path"/usr/local/nginx/conf/waf/?Lua“;

init_by_Lua_fe/usr/yal/nginx/conf/waf/init.Lua;

access_by_Lua_file/usr/local/nginx/conf/waf/access.Lua

}

打开晶片。

cd/local/nginx/conf/&&git复制到https://gite.com/attacker/waf。

#晶圆项目下载。

cat/hale/nginx/conf/waf/config.Lua

config_waf_enable="On"

装入Nginx-s重新装入#。

接触效应。

Elk访问记录分析图表。

其主要功能是:

1.支持IP白名单和黑名单功能,可直接拒绝IP访问(白名单的权重高于黑名单)。

2.支持URL白名单,并定义URL,无需过滤。

3.支持对用户代理进行筛选,在定制规则中匹配条目,然后对其进行处理(返回403)。

4.支持防御CC攻击。如单一URL访问超出设定值,则直接返回403。

5.支持cookie过滤,在定制规则中匹配条目,然后对其进行处理(返回403)。

6.支持通过网址过滤来匹配定制规则中的条目。如使用者要求的网址包含,请传回403。

7.支持URL参数筛选。

8.支持日志记录,并将所有被拒绝的操作记录到日志。

九、日志记录为JSON格式,可方便地进行日志分析。举例来说,ELKStyle用来收集,存储,搜索和显示所收集的日志。

设置脚本。

#!/bin/bash

源/etc/hefe

分享: