网站被大规模 CC 攻击,请问有没有什么好的解决方案?

2019-09-20 09:16:54 +08:00
 Robias

机器在香港,未备案,从上周末开始,一直持续被大规模攻击,目前使用的是 cloudflare 解析,能抵御部分攻击,但是攻击量大的时候还是无法抵御,导致服务器 CPU 内存全部被占满。

服务器是 nginx,设置了各种防护,也开启了宝塔防火墙,禁止国外 IP 等等,都没有太大的用处。

现在在 cloudflare 上开启了 CDN 和挑战页,但是这样下去,网站经常打不开,排名也快掉完了。

咨询了几家国内的做 CDN 的,据说都是无视一切 CC 攻击,但是要价一个月 5K-5W 不等。

请问是否有什么其他的解决方案呢?谢谢各位了!

14820 次点击
所在节点    信息安全
89 条回复
xiaoyangsa
2019-09-20 15:05:47 +08:00
@Devilker 这样要是原域名直接通过域名解析到后面这个高防域名也 ok 吧....国内的高防我遇到过会被 dianxin 直接封额。
newworld
2019-09-20 15:35:35 +08:00
@laminux29 #18 根据楼主网站是面向国内客户,就直接白名单机制,只允许国内访问,屏蔽国外,IP 段太多了。。。
同时 CF 做规则,只允许访问静态的资源,和必要的动态资源,比如登录注册这些,禁止直接访问其他非必要 php 文件,暂时关闭网站搜索功能,这些需要用到大量查询 IO 交互的操作。当然啦,最好就是上高防,大宽带机器,全部 CDN,更换主机 IP,只允许 CDNIP 段访问和管理 IP 访问,其余的全部拒绝,这样防御 CC 基本没啥大问题,DDOS 就另说,暂时是个世界性难题。
huangzxx
2019-09-20 15:42:13 +08:00
nginx + ip2location
直接根据地区 deny,可以抗一阵吗?
rainfallmax
2019-09-20 15:57:24 +08:00
@love 太猛了
dingzi
2019-09-20 16:08:52 +08:00
上次遇到过,分析流量,写 cf 防火墙规则,把攻击流量挡防火墙外
winglight2016
2019-09-20 16:23:54 +08:00
现在黑客都这么厉害了吗?随便发起几百 G 的流量攻击?记得之前有个哥们业余也做这种“服务”,他说,都是按 G 收费的,一次攻击也就一两千个 IP 同时使用,估计还是有水分的。
Yourshell
2019-09-20 17:26:40 +08:00
是时候找同行聊一下天了。
Devilker
2019-09-20 17:31:19 +08:00
@xiaoyangsa 对,因为没备案,直接提示未备案。然后还在恶意跨白名单去解析,会封服务器,再严重,我甚至遇到过封整个机房的。
colorfulberry
2019-09-20 17:51:37 +08:00
直接 AWS 走负载均衡。 然后在 AWS 上是这防火墙规则。自己配置总是配不好。多来电机器吧。
可以用日本节点的 AWS。
Moker
2019-09-20 18:53:14 +08:00
如果用 CF 可以用 workers 直接在 CF 这层就屏蔽掉部分 ip 或者添加一些令牌验证 这样异常请求不会打到服务器
yezhiqiucn
2019-09-20 19:16:20 +08:00
只要流量到服务器你怎么样都无效的 毕竟单机效率太差

如果确认只要国内访问
CF 本身可以限制访问区域
https://docs.aws.amazon.com/zh_cn/AmazonCloudFront/latest/DeveloperGuide/georestrictions.html

更直接去 AWS 控制台 VPC,CreateNetworkAcl 默认拒绝所有入网流量
然后整理一份中国 IP 的列表 输入进去 可以用 cli 命令处理
stabc
2019-09-20 19:52:03 +08:00
登录 Cloudflare, 选择 Firewall -> Tools,往下拉,创建"rate limiting rules"。然后就可以限制了,比如对方某个 IP 一分钟刷了超过 30 次就自动屏蔽它 IP。这个几乎完美克制 CC 攻击,又不影响正常用户访问。

需要注意的是 rate limiting 是额外收费的,只对通过的访问收费,被屏蔽掉的不收费: https://support.cloudflare.com/hc/en-us/articles/115000272247-Billing-for-Cloudflare-Rate-Limiting
自己估算一下花销的风险。
stabc
2019-09-20 19:55:51 +08:00
aws 的 Cloudfront 也可以屏蔽,但是我之前咨询过他们,他们对被屏蔽掉的访问也收费的,也就是说攻击者可以直接通过攻击来刷爆你信用卡。
czb
2019-09-20 20:12:07 +08:00
cc 的确是难挡 特别是一些发起类似业务请求的连接 看了一下你的 IP 来源 大部分攻击来自 DC IP 可以做一个 Bad ASN 表做针对性的验证码或者屏蔽 Cloudflare 其实还有个服务叫做 bot management 联系客服可以开通 https://www.cloudflare.com/products/bot-management/
xabc
2019-09-20 22:22:22 +08:00
微信 xabcstack 可以帮你搞定, 是付费服务,搞不定没有费用
xencdn
2019-09-20 22:24:38 +08:00
if ($cookie_say != "xencdn"){ add_header Set-Cookie "say=xencdn"; rewrite .* "$scheme://$host$uri" redirect; }

当 cookie 中 say 为空时,给一个设置 cookie say 为 xencdn 的 302 重定向包,如果访问者能够在第二个包中携带上 cookie 值,那么就能正常访问网站了,如果不能的话,那他永远活在了 302 中。

这个应可以防大部份 CC 加在 location 中间

Cloudflare 提高 waf 防护级别也是可以的 话说打穿 cloudflare 的 CC 攻击还是比较少
woshipanghu
2019-09-20 23:06:49 +08:00
百度做的是最便宜的
一年好像 2000 出头
ads 防御开到最强 基本能拦下所有攻击,就是进网站前会有验证
woshipanghu
2019-09-20 23:15:25 +08:00
原本用的知道创宇 月付 1500 后来不让月付了 只能年付价格还涨了 额额额 ...只能放弃了
就切到百度上了,便宜也很好用!
每次 cc 猛的时候都要开到防御级别最高 流量瞬间就下来了
防御级别最该的时候就是第一次进网站会有个 5 秒验证 不介意可以用用 和 cf 应该是一样的 c
cc 只能买抗 c 的服务
pandait
2019-09-20 23:36:10 +08:00
CF 就有封国家的功能,在 ruler 里面
pandait
2019-09-20 23:37:41 +08:00
是的,去 github 找一个叫 cckiller 的工具

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/602384

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX