开源DDOS防火墙 零成本搭建DDOS防御

ops/2024/9/23 23:09:25/

开源DDOS防火墙 零成本搭建DDOS防御

DDos防火墙
保护您的业务免受 CC 攻击、UDP 攻击和流量泛洪攻击。

首先安装openresty。添加map正则表达式,匹配x-forward-for中客户的真实ip,如果没有头部x-forward-for,则使用ip数据包中的源ip。添加geo白名单,避免内部业务被限速。在location中添加lua代码,access中判断请求是否超过阈值,log中统计流量信息。统计信息放在共享内存中,nginx的不同worker共享内存通信。

代码分析:
在access处,如果上次清零时间到本次访问时间超过一小时,则清零数据来重新统计。判断请求次数,使用流量,消耗时长是否超过阈值。超过阈值,直接444断开连接。
在log处,统计请求次数,统计请求和响应字节数,统计请求消耗时长。

性能分析:
openresty中共享变量字典使用了红黑树,增删改查的时间复杂度为O log(n)。内存使用满了使用lru算法淘汰数据,使用链表剔除最早未使用的数据,时间复杂度为o1。worker间共享内存使用了自旋锁。因此性能很高。

数据统计:
在contect处生成统计信息。展示每个ip每小时,每天的用量。可见每小时请求数最多为1289次,最大上传下载为8M,最大时间消耗为69秒。每天的最多请求次数为4572次,最大下载量为63M,最大消耗时间为488秒。

配置修改:
在env中配置阈值。根据统计信息来调整阈值大小。

防UDP 防ICMP 防SYN
对CC 刷量等 DDos也有极强的防御力
这期就详细压测一下它,用实际数据来看看它究竟有多强的防御力。
说实话,测试前我心里还是虚的。测完后,我被我程序的防御力震惊到了,没想到它性能居然这么强!

首先说明一下,用了CDN后,换了IP,加了Nginx的ssl_reject_handshake和k8s的NetworkPolicy,我的源站IP再也没被DDos过。
这证明他有100%的UDP、ICMP、SYN洪水防护能力。
然后,咱们来看我开发的DDos防火墙对CDN刷量究竟有多强的防御力。和redis比谁快。
最后,给你看下实战效果,刮痧兄弟们,使出浑身解数,就刷了我这么一丢丢。

  • 结果:
  1. DDos防护lua的性能为不防护lua性能的61.3%
  2. DDos防护lua的性能为不防护直接请求性能的51.9%
  3. 连接数10和连接数150的性能都不错
  4. 连接数10w的性能为连接数150的性能的81.9%
  5. DDos单次防护会写6次变量
  6. DDos防护lua的性能为redis性能的71.1% * 6 = 426%

咱们直接看结论,从上面的数据可以得出

  • 结论
  1. DDos防护的性能非常棒
  2. DDos防护的性能远超redis的性能

下载地址:

https://yuncv.lanzouw.com/iVkk629c4xpg
密码:g7nb


http://www.ppmy.cn/ops/106991.html

相关文章

数据集 3DPW Dataset 介绍-户外三维人体建模 (DataBall)

3DPW-开源户外三维人体建模数据集-姿态估计-人体关键点-人体mesh建模 数据集特性: 1)rgb图 2)2d关键点 3)3d关键点 4)3d网格点mesh 5)相机内参/外参 inproceedings{vonMarcard2018, title {Recoveri…

HTTP中常用的4种请求方式——前端如何发送?后端怎么接受?

一.Get请求: 1.什么是Get请求? 2.前后端如何使用Get交互? 2.1.Query参数格式的Get请求 2.2.Path参数格式的Get请求 二.Post请求: 1.什么是Post请求? 2.前后端如何使用Post交互? 三.Put请求&#xf…

紫微斗数算法的实现流程

题外话 我想了又想大凡能够修炼成绝世高手的都是“魔鬼”。只有魔鬼才会纯粹的“敢贪,敢嗔,敢痴”。 你我都困在了敢字。程序猿拿起拿锋利的刀,解构世间的一切吧!最近看西游有感而发。 “联系是普遍存在的,规律是客观…

Haskell爬虫:连接管理与HTTP请求性能

爬虫技术作为数据抓取的重要手段,其效率和性能直接影响到数据获取的质量与速度。Haskell,作为一种纯函数式编程语言,以其强大的类型系统和并发处理能力,在构建高效爬虫方面展现出独特的优势。本文将探讨在Haskell中如何通过连接管…

不同vlan之间的通信方法

1.通过路由器的物理接口 1.给PC1,PC2配置IP地址,网关2.进入交换机配置vlan,交换机所有口都配置access口并绑定vlan3.配置路由器,进入路由器的两个接口配置网关IP和掩码缺点:成本高,每增加一个vlan就需要一个物理端口和…

配置阿里云千问大模型--环境变量dashscope

1 开通百炼 首先要进入到阿里云平台,然后进入百炼平台。 2 获取API-KEY 进入之后再右上角可以查看到自己的API-KEY,这个东西就是需要配置在环境变量里的。 点击查看就可以获取 3 配置DASHSCOPE环境变量 如果使用dashscope来进行千问大模型的API对…

Eureka和Nacos有哪些区别?(面试版)

共同点: 都支持服务注册和发现功能 都支持服务提供者心跳方式做健康监测 Eureka和Nacos都支持集群,而且默认都是AP模式 Eureka和Nacos的区别有: Eureka的心跳是30秒一次,Nacos则是5秒一次(心跳监测周期不一样&…

EI会议推荐-第二届大数据与数据挖掘国际会议(BDDM 2024)

第二届大数据与数据挖掘国际会议(BDDM 2024) 1、基本信息 大会官网:http://www.icbddm.org/ 官方邮箱:icbddm163.com 主办方:武汉纺织大学 会议时间:2024年12月13日-12月15日 会议地点:湖…