有约百来个用户的 SaaS 服务,给到用户使用的时候都会分配一个二级域名,如
client-a.v3ex.com , client-b.v3ex.com , client-c.v3ex.com
这样,
今天 Nginx 流量都爆了,一看有来自福建不同地区的好几十个 IP 不断刷一个 uri,导致整个服务都拖慢了。
如 http://client-a.v3ex.com/dept/schedule.htm?date=2020-11-12&deptId=42756
Nginx 里面可能当时为了图方便,直接就配置了泛域名
server_name *.v3ex.com;
没区分出来。
目前暂时
if ($http_host = 'client-a.v3ex.com') { return 403; }
抵挡了一下。
limit_req_zone 跟 limit_conn_zone 都无法使用在 if 里面,对于这种情况应该怎么处理好一点?
1
dzdh 2020-11-11 16:54:19 +08:00
为啥要区分 zone 不应该是全局针对 ip 限流吗
|
2
dzdh 2020-11-11 16:54:52 +08:00
而且为啥不上 cdn 哇
|
3
saytesnake OP @dzdh 历史问题,这个系统是相对比较古老的,Nginx 也是,因为没经过测试,不知道开了全局限流会导致什么情况。
|
4
lvzhiqiang 2020-11-11 16:56:41 +08:00
sysctl -w net.ipv4.tcp_syncookies=1
|
5
2kCS5c0b0ITXE5k2 2020-11-11 16:56:52 +08:00
黑名单 ip
|
6
lvzhiqiang 2020-11-11 16:58:15 +08:00
ddos 只能缓解,不能解决。 还有 如果对方 IP 都是随机变化,基本没辙。(注意: 大公司大体量业务的会有专业的设备做浏览清洗和拦截防护)
|
7
xx6412223 2020-11-11 16:59:14 +08:00
试试 Iptables limits Connections by per IP
|
8
lvzhiqiang 2020-11-11 16:59:51 +08:00
@lvzhiqiang 针对 syn flood 攻击, 你先抓包看看,属不属于这类型的。
|
9
winzkh 2020-11-11 17:01:35 +08:00 1
shutdown -h now
|
10
saytesnake OP |
11
GM 2020-11-11 17:08:01 +08:00
加一条 A 记录 client-a.xxx.com 127.0.0.1
有 A 记录的情况下会优先起作用,这样也许会有用。 |
12
privil 2020-11-11 17:30:13 +08:00
前面加个 wtf 过滤 高流量 ip
|
13
xieqiqiang00 2020-11-11 17:36:49 +08:00
11 楼的方案可以
但要是我的话,我可能去 cloudflare 注册一下这个网站,然后单独这个子域名指向 cloudflare,然后开页面缓存,这样对方还是能一直 GET 通,就算是 POST 的话,两次过墙也够呛的,而且 cloudflare 本身就有反功能的能力。 |
14
DoctorCat 2020-11-11 21:05:59 +08:00
@xieqiqiang00 cloudflare 最大的问题是国内不友好容易被 gfw 认证。
|
15
RangerWolf 2020-11-11 21:58:45 +08:00
心疼楼主 3 秒钟。。。
想问下 client-a.v3ex.com 是一个合法用户的域名吗? 你设置 403 之后是不是这个客户就完全歇菜了? |
16
xuanbg 2020-11-11 22:02:11 +08:00
受到攻击不管三七二十一有用没用先报警。
|
17
saytesnake OP @xieqiqiang00 实际上是给自己加上墙了的感觉了...
@DoctorCat 是的。 @RangerWolf 那个只是举例,实际是正确合法的域名,一级域名是在阿里云上买的,403 之后就是这个客户完全无法使用了,现在临时解决了。 |
18
DoctorCat 2020-11-11 23:04:42 +08:00
@saytesnake 问一个细节,这些攻击 ip 访问到 nginx,都是 200 状态?
|
19
RangerWolf 2020-11-11 23:18:46 +08:00
@saytesnake 我感觉我没表达清楚,让你误解了。。。
其实我想问的就是,被攻击的域名是真实客户的域名吗?是某个客户的域名还是很多客户的域名? 另外, 感觉域名后面的这一段有没有权限逻辑校验? 不好意思问了这么多问题,因为我们也正好要开放一个 SaaS 服务给客户,就怕见光死。。。 |
20
RangerWolf 2020-11-11 23:21:51 +08:00
另外,我们目前隐藏了真实 IP 在类似 AWS LB 后面~ 不知道这个会不会有效?
不知道你们是直接 IP 暴露出去还是隐藏了真实 IP ? |
21
IDAEngine 2020-11-11 23:25:27 +08:00 via iPhone
上高防 IP,高防就行,自动流量黑洞
|
22
opengps 2020-11-12 00:36:02 +08:00 via Android
ddos 不是靠主机内部服务去承载,而是用网络层的清洗设备,高防 ip 这种,。
楼主遇到的不能叫做 ddos,这类可以归类给 cc,但是只有福建省不大正常。 排查下是不是有人在福建的网络下对你运行了爬虫,做好防御爬虫 |
23
stanchenxxx2015 2020-11-12 11:43:03 +08:00
楼主,高防服务要不要考虑下?扛 DDos/CC 攻击+CDN 。我们这边是大厂的代理,可以给到您满意的价格。感兴趣的话,可以联系我微信:MTczNDYyNjUwNzA=( Base64 )
|