对于信息网站,它将始终通过各种目的(例如爬网,收藏家等)连续捕获或恶意访问,这会使网站淹没,从而无法访问页面,这极大地影响了用户体验。在这种情况下,我们需要进行所有访问权限的访问控制。
目前,Web应用程序防火墙(WAF)可以帮助我们进行一个停用的安全保护。WAF可以有效地确定Web业务流量的恶意特征。清洁和过滤流量后,将正常和安全的流量返回服务器,以避免诸如对网站服务器的恶意入侵等问题,这会导致恶意入侵诸如安全性。
Web应用程序防火墙的主要功能如下:
根据WAF的定义和功能,其位置应在流入入口处。如果选择了商业产品,则主要与CDN一起使用。如果它本身开发,则其位置应在负载平衡的nginx.com上。BBINGINGLUA可以执行辅助扩展,以达到个性化的访问控制需求。
在使用nginx+lua实现个性化需求之前,我们首先需要了解我们网站的流量组成:
我们网站主要流源的上述基础。这些流可以从两个基本保护和动态保护的两个级别扩展。
NGINX不仅在负载平衡水平上起着重要作用,而且在基本模块中具有一些构建的作用,而且还可以在一定程度上保护一些保护。
对于站点流量,我们可以积极分析客户端请求的特征,例如user_agent,url,query_string;结合业务特征,可以制定一些规则以积极防止它们,并且它们在处理异常流量方面发挥了一定的保护作用。
通过分析user_agent,url,query_string初步分析客户端是否具有统一特征,并根据其行为返回不同的状态代码:
通过状态代码,我们可以快速找到要请求的哪种安全类别。
对于访问连接的数量和访问该站点的频率,我们可以使用以下两个模块来执行一些策略。这次,它可以在异常流量和恶意攻击中发挥一定作用。
对于频率的阈值,需要设置特定设置的实际访问流量和峰值值。基于泄漏算法,可以塑造紧急情况,以避免使用单个IP或单个IP或单个IP淹没服务器的大量流量请求多-IP。
MAP指令通过使用NGX_HTTP_MAP_MODULE MODULE提供的NGINX构建的变量来创建自定义变量,默认情况下将安装模块以安装NGINX。通过自定义变量键入某些特定规则以执行访问控制。
我们可以通过地图设置白名单,而没有白名单的IP将返回403。
基本保护基于一些规则的特征流量,并且一些基于Nginx基本模块的工作。但是对于某些动态流量访问,这些规则似乎有点严格,无法满足需求。这次,有必要进行一些个性化的个性化基于nginx+lua的需求。
根据WAF和对日常流量的统计分析,我们主要希望实现以下方面:
1.开放性环境部署OpenRestestynginx+lualua-resty-redislua连接redisredis以存储客户请求此页面前端提供的实时数据人机验证功能页面。
2. LUA脚本计划统一将LUA模块和相关脚本存储在目录中,其中:
计划完成后,我们需要将其加载到Oprneresty上。
其中,init_by_lua_file,access_by_lua_file是开放性执行过程的不同阶段。我们可以根据访问过程配置不同的访问策略。
3.开放性执行过程
如图OpenISTY的执行过程所示,我们的策略如下如下:在相应的阶段:
1. Theinit的初始化阶段是因为Init阶段是该过程的第一阶段,即Nginx加载全局参数阶段,因此我们还需要首先加载我们的配置文件:
上述配置文件中客户端中的客户端和地址段均使用配置文件并分析IP:
2.访问阶段1.黑白列表的访问阶段是NGINX接收用户请求阶段。目前,需要调用初始化阶段的方法以获取客户端IP并将其与配置文件的黑白列表进行比较。
注意:我们将说明,表明黑白列表过滤是有效的全局,当然,它也可以绑定到某个部分。
2.通过验证代码实施人类机器验证的人类机器验证。特定的验证代码接口需要前端配置。OpenReasty仅负责将异常客户端跳到验证代码页面。
人类机器验证的策略如下:
注意:
特定代码如下:
注意:人机验证取决于REDIS存储统计信息,也可以匹配客户端的IP以解开误差密封的客户端。
经过长时间的交通分析,进攻性和防御性战斗后,我们通过自我制造的WAF为大多数恶意访问辩护。当So称为“一英尺高和一英尺高”时,今天的被盗行为与常规行为没有什么不同访问,不可能通过一般的人类计算机验证来区分。严格的策略将“伤害敌人一千和损坏800”,因此我们仍然必须找到适当的平衡点。
作者:Mun Love叔叔的操作和维护
