当前位置: 首页 > 知识库问答 >
问题:

后端 - 面对CC攻击,通过接口限流的方法去处理会有用吗?

充培
2023-05-24

之前业务被CC攻击过1-2次,服务中断了很长时间。。

现在计划是加一个接口限流的方式去过滤重复请求。

计划是 client_IP + URI 作为一个限流对象key。限制接口每秒钟只能访问2次(当然这个后期是可以调整的,如果遇到攻击就降低,没有攻击的情况下就正常放行,尽量降低影响)。

然后会同时部署多个入口网关,然后DNS的不同区域和运营商给分配到不同的网关。这样即使有问题,按理说也只会影响到一个区域或者一个运营商下的用户。

后端现在已经是可以横向扩展的的,服务器负载高的情况下,能快速的添加新服务器到集群中分摊请求。

===

现在不太好验证这个方案是不是可行的,自己本地测试了一下,也不太好模拟,不知道正式的CC攻击规模是怎么样的。

===

云防火墙和带CC防护的高防IP,太贵了 :(

共有3个答案

邰英毅
2023-05-24

这些操作 IP 黑名单、用户行为分析、验证码

鄢英哲
2023-05-24

动态切换ip地址与域名

易品
2023-05-24

对于本地测试不够有效的情况,你可以使用一些模拟工具来模拟一定规模的 CC 攻击,例如 LoadRunner、JMeter 等。模拟时应该从不同的地理位置发出请求,确保能够模拟真实的 CC 攻击场景。

关于你提出的限流方案,使用 client_IP + URI 作为限流对象是比较常规的做法,将入口网关部署在不同的区域和运营商下也能有效分担请求,这些措施对于一般的 CC 攻击应该是可以有效缓解的。同时,你的后端服务是可以横向扩展的,也能够很快的添加新服务器进行负载均衡,这也是非常好的。

不过,需要注意的是,CC 攻击的规模可能比你预期的大得多。当攻击者使用大量的代理 IP 或者 DDoS 工具发动攻击时,单机每秒两次的限流策略可能并不足以抵御攻击。因此,你需要根据实际情况评估合适的限流值,以确保既能限制 CC 攻击,又不会影响正常用户的体验。

 类似资料:
  • 客户用的香港虚拟主机,短短十几天,服务商送的10G的流量就被用完了,像这种情况有什么好的办法来处理没?现实情况就是用的虚拟主机。

  • 在预连接和获取访问部分中执行的所有攻击,都是还没有连接到网络。在本节中,我们将讨论连接后攻击,这意味着我们可以在连接到网络后进行攻击。现在,无论网络是无线网络还是有线网络并不重要,目标使用WEP或WPA密钥并不重要,我们将要讨论连接后攻击。 在之前的所有攻击中,我们将无线网卡保持在监控模式,以便可以捕获任何无线信息。在本节中,我们将在托管模式下使用无线网卡,因为我们可以访问网络,实际上不需要捕获所

  • 我尝试做的是:Processing 3通过我的网络摄像头接收一种二维码-- 问题是:Processing 3和Unity都使用相同的端口(COM4,9600)。这将导致Unity中出现IO异常,表示“访问被拒绝”,随后出现串行端口未打开的错误。 处理3代码 Arduino代码 统一代码 我们显然无法在Unity中打开端口,因为它已经被处理3使用。如何解决这个问题?通信流: 最终,Unity需要根据

  • 注意:“抗CC攻击”功能需在“应用防护管理”中开启对应的防护(Web防护/Nginx自编译/RASP)才可使用。 CC(Challenge Collapsar),其前身名为Fatboy攻击,是利用不断对网站发送连接请求致使形成拒绝服务的目的。是DDOS(分布式拒绝服务)的一种,是借助代理服务器生成指向受害主机的合法请求,实现DOS和伪装。模拟多个用户不停的进行访问那些需要大量数据操作,成服务器资源

  • SOP提供了简单的接口限流策略: 窗口策略:每秒处理固定数量的请求,超出请求返回错误信息。 令牌桶策略:每秒放置固定数量的令牌数,每个请求进来后先去拿令牌,拿到了令牌才能继续,拿不到则等候令牌重新生成了再拿。 如果一个接口设置了窗口策略,假设接口每秒可处理5个请求,一秒内同时有6个请求进来,前5个接口是能够访问的,第六个请求将返回错误信息。 如果设置了令牌桶策略,桶的容量是5,那么每秒中生成5个令

  • 本文向大家介绍浅谈Python接口对json串的处理方法,包括了浅谈Python接口对json串的处理方法的使用技巧和注意事项,需要的朋友参考一下 最近学习Python接口测试,对于接口测试完全小白。大概一周的学习成果进行总结。 1.接口测试: 目前涉及到的只是对简单单一的接口进行参数传递,得到返回自。 2.关于各种概念: 2.1 http请求包含post方法、get方法。通过json串或XML传