V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vimrus
V2EX  ›  DevOps

一次阿里云服务器 DDoS 经历

  •  3
     
  •   vimrus · 2016-05-20 23:22:21 +08:00 · 36740 次点击
    这是一个创建于 3116 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 网站是放在阿里云 ECS 上的, DDoS 攻击后网站不能访问。从阿里云的后台看到流量在 15G 左右,网站服务器进入了阿里云的黑洞。

    40 分钟后网站从黑洞里出来,瞬间又遭受攻击并打入黑洞。接下来的 3 个小时一直重复这个过程...

    2. 因为已经严重影响业务了,所以购买了阿里云的高防 IP 。 DNS 解析到高防 IP 后,通知客服更换源 IP 。本以为高枕无忧,结果刚过了 10 分钟,网站又被打入黑洞。

    攻击者应该是找到了新的源 IP ,直接攻击源服务器。因为高防 IP 到源 IP 走的是外网,所以源服务器进入黑洞后,高防 IP 无法连接源 IP ,导致网站又不能访问。

    3. 发工单咨询了阿里云客服,答复是 使用负载均衡 ELB ,即 高防 IP->负载均衡->源 IP 。负载均衡作为桥梁,与高防 IP 走外网,与源 IP 走内网,这样即便源服务在黑洞中也可以访问了。

    4. 对方发现 DDos 无效后,开始了 CC 攻击,网站又陷入了瘫痪中。检查以后发现 Mysql 连接数过多,而且连接状态绝大多数是 Sleep 。查看 php 的 slowlog ,找到了原因:源服务器某些页面需要对外请求微信服务器,因为不能访问外网, php 程序阻塞住了,对 Mysql 的连接不能释放。

    5. 修改代码将微信和 QQ 相关的连接做了一个代理,对方是无法找到这个代理并打入黑洞的。

    6. 攻击者开始变本加厉,最高时流量在 30G , QPS 有 2 万多,网站大量出现 502 错误,看来我蹩脚的 PHP 代码已经扛不住了。 nginx 日志显示其请求的网址比较固定,于是将这些页面做了静态化处理,并将非法的 POST 请求 ban 掉。哈哈!网站正常了。


    有一些经验教训,供大家参考:

    黑洞有一个触发值,默认是 5G ( 5GB 的阈值可以根据安全信用增加)。因为之前网站的安全信用很好,以经提高到 12G 了。黑洞的时间最短 40 分钟,最长 2 个半小时。整个攻防过程中,网站的信用评级直线下降,阈值降到 5G ,黑洞时间也延长到两个小时。

    阿里云 ECS 是不能更换 IP 地址的,除非购买他们的高防 IP ,可以免费更换一次(后来发现实际可以更换多次)。

    DDoS 在自己的服务器端是无法防御的,无论是设置安全组还是防火墙,只能去购买高防 IP 或者 CDN 。不过根据这两天的攻击来看,无论是阿里云高防还是 CDN ,在大流量的攻击下,源 IP 还是会暴露的。

    DDoS 确定是竞争对手所为,但不想 DDoS 回去。不能助长这些黑产,也不能像别人一样 Low 。
    69 条回复    2020-09-14 13:37:53 +08:00
    wql
        1
    wql  
       2016-05-20 23:39:54 +08:00 via iPad   ❤️ 6
    > DDoS 确定是竞争对手所为,但不想 DDoS 回去。不能助长这些黑产,也不能像别人一样 Low 。
    点赞。
    kofip
        2
    kofip  
       2016-05-20 23:53:36 +08:00
    攻击者应该是找到了新的源 IP

    不懂怎么找到的,怎么个逻辑?
    vimrus
        3
    vimrus  
    OP
       2016-05-20 23:59:40 +08:00   ❤️ 1
    @kofip 当攻击流量到达一定值,这些云盾会暴露源 IP
    sparanoid
        4
    sparanoid  
    MOD
       2016-05-21 00:03:46 +08:00
    yunhui
        5
    yunhui  
       2016-05-21 00:07:34 +08:00
    其实我想说,这个攻击量好小。。。。
    testisitok
        6
    testisitok  
       2016-05-21 00:13:21 +08:00 via Android
    @yunhui +10086

    要是在隔壁 LOC ,随便几百 G

    我试过,那酸爽……
    xia0ta0
        7
    xia0ta0  
       2016-05-21 00:17:15 +08:00
    @testisitok 真的试过?

    每秒 453G !阿里云抵御史上最大 DDoS 攻击
    goodryb
        8
    goodryb  
       2016-05-21 00:28:53 +08:00
    “源服务器某些页面需要对外请求微信服务器,因为不能访问外网, php 程序阻塞住了,对 Mysql 的连接不能释放。”

    既然用了 SLB ,那么 ECS 这边安全组规则设置为只允许出站,不允许入站,这样就可以了。外面流量是无法通过公网 IP 进来,而业务可以访问出去。
    UnisandK
        9
    UnisandK  
       2016-05-21 00:32:40 +08:00
    @testisitok 随便几百 G ?说话前要不要打一下草稿。 DD 的攻防都是在烧钱,百 G 的要多少钱,不涉及到利益谁会砸钱打你

    @vimrus 阿里云这种高防结构和 CDN 流量耗尽回源是两个概念吧,楼主估计是网站有对外进行网络请求的地方被人利用了,还有找回密码的邮件也可能暴露源站 IP ,之前有帖子讨论的
    vimrus
        10
    vimrus  
    OP
       2016-05-21 00:33:35 +08:00
    @goodryb 源网站一直在黑洞里,是不能访问外网的
    likuku
        11
    likuku  
       2016-05-21 00:51:28 +08:00
    [ DDoS 确定是竞争对手所为,但不想 DDoS 回去。不能助长这些黑产,也不能像别人一样 Low 。]

    能确定,那就报警啊,让阿里云客服和技术支持给你出证据。
    wisdom
        12
    wisdom  
       2016-05-21 01:01:32 +08:00
    @UnisandK
    @xia0ta0
    真的不开玩笑 隔壁 loc 全是国内做 idc 的,几百 G 很正常
    UnisandK
        13
    UnisandK  
       2016-05-21 01:22:01 +08:00   ❤️ 1
    @wisdom 我孤陋寡闻了,混这么久都还没见过谁随便一下几百 G 的,特别是没侵犯到自身利益的情况下
    Austing
        14
    Austing  
       2016-05-21 01:25:58 +08:00
    如果不是你的業務系統主動暴露源或允許了所有地址訪問你的源那麼誰都可以掃的到。首先在源上做策略防止查源 IP 吧。 CC 這塊就是拼配置的,說起來阿里高防 IP 不是有 CC 防護嗎,實在不行開個驗證碼驗證。
    Austing
        15
    Austing  
       2016-05-21 01:27:05 +08:00
    順便為什麼不開專有網絡實例?外網可以隨時換的。
    ayaseangle
        16
    ayaseangle  
       2016-05-21 02:17:01 +08:00 via Android
    说不定是贼喊捉贼呢
    mytsing520
        17
    mytsing520  
       2016-05-21 02:26:19 +08:00
    @Austing 专有实例的公网为弹性 IP ,按小时和流量或带宽计费,每天产生账单一次。不过对于有钱的主来说,这个不算什么大的问题。
    Austing
        18
    Austing  
       2016-05-21 02:37:12 +08:00
    @mytsing520 和經典算起來價錢沒差多少。。外套一層 SLB 然後高防 IP 直接回源 SLB...(或者其實乾脆買內網實例好了 233 )
    mytsing520
        19
    mytsing520  
       2016-05-21 02:41:46 +08:00
    @Austing 嗯,其实 VPC 内的机器直接内网即可,外套一个 SLB 。至于 CDN ,我的选择是访问量不大的话尽可能不用。再说了我有 CDN 代金卷,杭州某大厂出品,质量可以说的上信任。
    WO31400
        20
    WO31400  
       2016-05-21 03:40:44 +08:00   ❤️ 1
    没几百 G 那么夸张,救我自己而言,最高 DDOS 能力在 20G 左右
    WO31400
        21
    WO31400  
       2016-05-21 03:41:06 +08:00
    楼上我自己错别字,居然不能编辑....
    9hills
        22
    9hills  
       2016-05-21 03:55:34 +08:00 via iPhone
    吹几百 G 的笑了, DDOS 本质上不可防御,各种手段用完后就是对着烧,谁本钱大谁能笑到最后。
    kofip
        23
    kofip  
       2016-05-21 04:27:16 +08:00
    @9hills 一对傻子比烧钱,提供柴火的才笑得开心!
    only0jac
        24
    only0jac  
       2016-05-21 08:12:13 +08:00
    @WO31400 别人 D 你还是你 D 别人
    qcloud
        25
    qcloud  
       2016-05-21 08:23:46 +08:00
    楼主发下网站,膜拜下能买得起阿里高防的站
    realpg
        26
    realpg  
       2016-05-21 08:36:30 +08:00
    @UnisandK
    百 G 确实很容易
    你花钱去买,那是要花钱
    太多人手里本身就有大带宽资源。
    搞 IDC 的,搞黑产的,数百 G 我不敢说,一百到两百 G ,轻松愉快没成本
    canglaoshi
        27
    canglaoshi  
       2016-05-21 09:07:33 +08:00
    楼主土豪。阿里那么贵的防护。
    tntsec
        28
    tntsec  
       2016-05-21 09:33:38 +08:00
    阿里云的 5G 防御,实测其实只有 2G 多就不会报 5G 。。
    ipstresser20 刀的套餐打阿里云那叫一个酸爽。。包月,无限的打
    yuera
        29
    yuera  
       2016-05-21 09:47:07 +08:00
    曾经玩 D 的表示不说话就看看

    yunhui
        30
    yunhui  
       2016-05-21 10:04:15 +08:00
    其实,黑市轻轻松松 100 多 G
    TangMonk
        31
    TangMonk  
       2016-05-21 10:45:55 +08:00
    > DDoS 确定是竞争对手所为,但不想 DDoS 回去。不能助长这些黑产,也不能像别人一样 Low 。
    点赞。
    vimrus
        32
    vimrus  
    OP
       2016-05-21 11:18:33 +08:00
    @realpg @yuera 阿里云的高防最多可以防 300G ,单纯提高流量意义不大

    @qcloud 最近攻击比较敏感,先不晒了

    @Austing 阿里云的 CC 防护很多时候不会触发清洗
    talker
        33
    talker  
       2016-05-21 11:32:50 +08:00
    阿里共享的硬防垃圾

    根本没那么多量
    talker
        34
    talker  
       2016-05-21 11:33:25 +08:00
    楼主写的一手好软文

    http://www.talker.im/
    kiowar
        35
    kiowar  
       2016-05-21 11:41:35 +08:00
    @talker 你才是发广告的吧
    RemRain
        36
    RemRain  
       2016-05-21 11:49:34 +08:00
    @talker 在讨论 DDoS 的帖子中爆自己的网站,这得有多自信
    testisitok
        37
    testisitok  
       2016-05-21 12:12:39 +08:00 via Android
    @UnisandK
    @xia0ta0
    你们去 LOC 看看,凡是做过高调 IDC 的,哪个没有受过百 G 级 DD
    lhbc
        38
    lhbc  
       2016-05-21 12:32:32 +08:00
    UnisandK
        39
    UnisandK  
       2016-05-21 14:47:05 +08:00
    @testisitok 所以就是“随便”几百 G 咯?抱歉我语文不太好
    wisdom
        40
    wisdom  
       2016-05-21 16:37:48 +08:00
    @9hills 对于做 IDC 的来说是没有成本的
    Austing
        41
    Austing  
       2016-05-21 17:55:22 +08:00
    @testisitok 幾百 G?還真沒這麼多。而且都是 UDP 反射出來的,沒有任何實質性意義。
    Austing
        42
    Austing  
       2016-05-21 18:02:02 +08:00   ❤️ 1
    UDP 對於機房來說是最好清理的一種。在云堤僅近源清洗 UDP 的價格也是其他的¼。就拿 Vdos 來說吧,總共純寬帶不足 10G 而已。而反射出的最大峰值有 300Gbps+。

    所以我想說的是,別天天隨便隨便幾百 G 幾百 G 的,來個純量再說。而且就拿佛山那辣雞機房來說,流量圖謊報的我都無話可說,越往高處越成倍的報。
    superxzr
        43
    superxzr  
       2016-05-21 18:08:17 +08:00
    网络资源毕竟有限,上百 G 纯量的能有多少,当机房蠢全部给你发包啊,就算这个机房蠢了,别的机房不把这线拔了还是正常人?
    hdczsf
        44
    hdczsf  
       2016-05-21 18:11:11 +08:00
    被打几百个 G 是极有可能的.
    我这一个多月被打的死去活来的,换了几个域名都摆脱不掉.
    qcloud
        45
    qcloud  
       2016-05-21 18:14:38 +08:00
    你所认为的几百 G 流量是什么?
    网宿 CDN 防护买的是 6G 防护,防护你所谓的几百 G 流量没问题。
    你认为呢?
    Austing
        46
    Austing  
       2016-05-21 18:18:53 +08:00   ❤️ 1
    @hdczsf 你搞錯概念了,他們說的幾百 G 就是 Gbps ,針對 IP 的,也就是每秒幾十 GB 的流量。
    superxzr
        47
    superxzr  
       2016-05-21 18:19:13 +08:00   ❤️ 1
    @hdczsf 这是总共的流量,我们口中的 G 讲的是峰值,单位是 Gbps....
    当然你也可以谈包转发量
    hdczsf
        48
    hdczsf  
       2016-05-21 18:21:13 +08:00
    @Austing
    @superxzr
    原来是这样.是每秒几百 g 吗?
    superxzr
        49
    superxzr  
       2016-05-21 18:43:15 +08:00   ❤️ 1
    @hdczsf 确实是按秒算,具体的你可以换算一下,几百 GB 一秒的流入未免太吓人了点
    miaosu
        50
    miaosu  
       2016-05-21 19:29:34 +08:00
    。。才 15G 。。。 小事情。。
    hard2reg
        51
    hard2reg  
       2016-05-21 20:44:38 +08:00
    多大仇。。。现在的人一言不合就 DDOS 。。。
    mscdfans
        52
    mscdfans  
       2016-05-21 20:51:14 +08:00
    200 多 G 的攻击经常见,见怪不怪了
    wdlth
        53
    wdlth  
       2016-05-21 21:30:35 +08:00
    大量的 Botnet 才真正可怕
    cmaster
        54
    cmaster  
       2016-05-21 22:21:05 +08:00
    为最后一句话点赞!
    Balthild
        55
    Balthild  
       2016-05-21 22:46:34 +08:00 via iPhone
    看到楼上的讨论………

    「当你凝视深渊,深渊也报之以凝视」
    呸呸呸
    「当你 D 服务器,服务器报之以 D 」
    还是哪里感觉不对
    「人人 D 我,我 D 人人」
    shuiyingwuhen
        56
    shuiyingwuhen  
       2016-05-22 11:16:46 +08:00
    楼主你得罪谁了 导致这样的
    wwlweihai
        57
    wwlweihai  
       2016-09-20 01:05:34 +08:00
    建议你换一个云服务商,阿里服务器与 ip 直觉绑定有点不是很好。我建议你试一试青云,服务器与公网是分开购买的,也就是说,你可以频繁的更换服务器 ip ,而无需更换服务器,保证域名解析过去就行。

    利益相关,青云代理,如果需要,我可以为你充值点测试费,试一试之后再购入。
    wafm
        58
    wafm  
       2016-09-26 01:53:50 +08:00
    @wwlweihai 更换服务器 IP 解析的速度也跟不上好吧.加上各地的缓存 你换一次 IP 带来的解析滞后带来的影响不亚于被攻击
    pythonee
        59
    pythonee  
       2017-04-15 17:06:53 +08:00
    @testisitok 什么叫 LOC
    xxrforone
        60
    xxrforone  
       2017-08-01 21:56:23 +08:00
    @UnisandK 有组织专门接 ddos 消费者成本很低
    xxrforone
        61
    xxrforone  
       2017-08-01 22:01:27 +08:00
    @Austing 佛山机房忽悠人的 最后只是让你交钱 并不能解决问题
    ba476
        62
    ba476  
       2017-10-29 08:28:20 +08:00
    想知道这个 ddos 违法不?有没有钓鱼执法?
    licheng527
        63
    licheng527  
       2017-11-06 16:20:15 +08:00
    DDOS 防护能力是秒级,比如峰值 300G/秒。

    而防护了几百 G 的攻击,大部分情况是指流量,比如整天被 D,其实是 500G/天。

    国内服务器基本不限流量,只要扛得住,打多久都不怕吧,还是会被供应商停机限制?
    flyfishcn
        64
    flyfishcn  
       2017-11-14 18:37:21 +08:00
    @licheng527 流量 500G/天相当于一秒钟 47Mbit,区区 50M 带宽,也叫被 D ?这流量几条家用带宽的上传都能跑到。
    coreos
        65
    coreos  
       2018-01-12 21:42:34 +08:00
    udp 流量简单,可以打出巨大的倍数。
    TCP 的难得多。BOTNAET 要巨大的量级才有的搞。而且还要是活的。
    buaacss
        66
    buaacss  
       2018-08-17 23:10:10 +08:00
    可以用 vpc 来做 ip 池子。具体做法是把服务器迁移到 vpc 内,然后用内网 slb 配合 eip,实时监控 eip 流量,上来了就换 slb 上的 eip,用 api 可以做到秒级切换,阿里云只说不建议这样用,并没有禁止这么做。
    zzusec
        67
    zzusec  
       2020-09-13 22:04:32 +08:00
    @yunhui 黑市哪里找呢
    yunhui
        68
    yunhui  
       2020-09-14 13:19:11 +08:00
    @zzusec 这就不方便说咯。
    zzusec
        69
    zzusec  
       2020-09-14 13:37:53 +08:00
    @yunhui 可以付引荐费的老哥
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2842 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:09 · PVG 20:09 · LAX 04:09 · JFK 07:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.