V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hzlzh
63.67D
V2EX  ›  程序员

大家怎么对抗这样的 DDoS 攻击?

  •  1
     
  •   hzlzh ·
    PRO
    ·
    hzlzh · Jul 8, 2017 · 8358 views
    This topic created in 3221 days ago, the information mentioned may be changed or developed.
    如图,持续不断的请求不存在的图,造成内存负载超额,大家遇到这种事情会怎么解决?

    目前已经加了 403 和 iptables ban IP,但是依然屡禁不止。

    39 replies    2017-08-03 11:50:51 +08:00
    jellybool
        1
    jellybool  
       Jul 8, 2017 via iPhone   ❤️ 1
    无他,找一个吃下这个流量的服务器就 OK。专门做抗 D 用....
    qcloud
        2
    qcloud  
       Jul 8, 2017   ❤️ 1
    @jellybool #1 我记得老哥就这样做过
    vus520
        3
    vus520  
       Jul 8, 2017   ❤️ 1
    上 CDN

    我感觉是不是 nginx 会比 apache 性能来得好啊,纯粹一个 URL,单机响应每秒几万是没问题的。
    jellybool
        4
    jellybool  
       Jul 8, 2017 via iPhone   ❤️ 1
    @qcloud 啊哈..认识的一个大佬有机器专门抗 d。
    hzlzh
        5
    hzlzh  
    OP
    PRO
       Jul 8, 2017
    @vus520 现在流量到是小事,因为每个访问都是 404 或者 4xx,日志文件都好多 G 了
    @jellybool 上 CDN 如果消耗了流量要交钱的。对方目标地址应该是我的主机独立 IP,我考虑关掉 ip 访问方式
    just1
        6
    just1  
       Jul 8, 2017   ❤️ 1
    @hzlzh 日志分析把量大的 ip 全加到 iptables 里,应该不会交给 apache 处理啊,是不是 ip 没封全
    hzlzh
        7
    hzlzh  
    OP
    PRO
       Jul 8, 2017
    @just1 已经用脚本筛选添加了,会变啊,简直是要 cron
    jellybool
        8
    jellybool  
       Jul 8, 2017 via iPhone   ❤️ 1
    @hzlzh 关啊...

    这种事情,本来就是应该做好负载均衡的。别人怎么怼坏一个 ip,至少保证瞬间切换到另外的机器上
    lyhiving
        9
    lyhiving  
       Jul 8, 2017 via Android
    识别 header 然后封
    usernametoolong
        10
    usernametoolong  
       Jul 8, 2017   ❤️ 1
    cc 而已 还以为是 UDP 攻击, 识别出攻击者然后给丢一个 301 或者 400 的状态码就能解决了。
    apache 可能会忙不过来吐血,能加个 nginx 做前端话效果好些。

    下一题
    vus520
        11
    vus520  
       Jul 8, 2017
    我们用 OVH 的机器也遇到这个神坑,每秒有个几千的请求,连接数 10~20 万左右,OVH 会当成攻击给黑洞了。傻了吧唧了。
    just1
        12
    just1  
       Jul 8, 2017
    @vus520 ovh 不是 480Gbps 的抗攻击吗。
    kmahyyg
        13
    kmahyyg  
       Jul 8, 2017 via Android   ❤️ 1
    东北大学有个 hosts.deny 列表,那个可以用来预防。这个吗,可以的话搞个 CF 五秒盾
    aksoft
        14
    aksoft  
       Jul 8, 2017
    @kmahyyg 东北大学那个是 ssh
    Admstor
        15
    Admstor  
       Jul 8, 2017   ❤️ 1
    你这个不能算是 DDOS
    前面加 nginx 这种请求数毛毛雨..
    至于日志文件...你没事记录这么多 40x 干嘛
    ericFork
        16
    ericFork  
       Jul 8, 2017   ❤️ 1
    @just1 #12 ovh 真的没有 480G
    Betacoefficient
        17
    Betacoefficient  
       Jul 8, 2017
    @ericFork 大佬们都用 ovh 么,vultr 没人用么
    hzlzh
        18
    hzlzh  
    OP
    PRO
       Jul 8, 2017
    42.59.180.209
    122.142.211.149
    111.26.36.96
    123.185.22.227
    111.26.36.96
    122.137.245.65
    123.185.22.227
    奇怪,这几个 ip 都是辽宁、吉林的
    Antidictator
        19
    Antidictator  
       Jul 8, 2017 via Android
    @hzlzh 请教一下关掉 ip 访问方式还怎么访问呢
    vebuqi
        20
    vebuqi  
       Jul 8, 2017
    高防 IP?
    ovear
        21
    ovear  
       Jul 8, 2017
    前面挂一个 nginx 就好了
    hzlzh
        22
    hzlzh  
    OP
    PRO
       Jul 8, 2017
    @Antidictator 用 IP shared 模式就好了。
    @ovear 刚才已经挂了 nginx
    Hardrain
        23
    Hardrain  
       Jul 9, 2017
    这算 CC 吧……看起来全是请求正常的内容

    除了抗 D 的主机外,如果 IP 随机性很高没法封(无论 Server Config 还是 iptables)
    那还可以考虑用 mod_security2 这类 WAF
    限制被攻击文件的访问频率 过高的 IP 暂时 Block 掉
    0ZXYDDu796nVCFxq
        24
    0ZXYDDu796nVCFxq  
       Jul 9, 2017
    12.4 reqs/s, 毛毛雨都算不上……
    gouchaoer
        25
    gouchaoer  
       Jul 9, 2017 via Android
    ip 在几万以下直接 iptables 封杀
    ryd994
        26
    ryd994  
       Jul 9, 2017 via Android
    Apache 啊……当然咯
    你用 Nginx 嘛,都不用限制频率
    不要用 Nginx 反代,反代没有任何意义
    Showfom
        27
    Showfom  
    PRO
       Jul 9, 2017 via iPhone   ❤️ 1
    你这是 cc 不是 DDoS

    DDoS 发包不会访问你 web 的 直接暴力干掉你服务器的带宽和 cpu
    evil4ngl3
        28
    evil4ngl3  
       Jul 9, 2017   ❤️ 1
    如果只是这样的攻击,一般称"CC"攻击。你可以使用 ossec,根据日志的访问频率,或者自己写规则,把访问量大的 IP,拉到系统防火墙里。这样 apache 的压力就没了。但是如果还有网络层的攻击,如 SYN flood、udp flood、tcp 分片等等。那就看你的主机带宽和性能了。一般来说几台肉鸡多开 syn flood,就可以搞死一台性能不错的服务器。
    ossec 有个坑,就是 iptables 的拉黑 IP 不能太多,不让 iptables 可能假死。所以你还要设置被拉黑 IP 的释放时间,根据实际情况自己调整。
    evil4ngl3
        29
    evil4ngl3  
       Jul 9, 2017
    被 D,最害怕的是什么?是不知道会攻击多长时间,不知道下一波流量有多大,不知道是谁,什么目的,而且警察不立案。买高防,钱就是无底洞。
    亲身经历峰值 30G 的 DDOS,放在腾讯云上,但是 IP 被运营商拉黑了。因为影响整个机房带宽了。。。。
    liuminghao233
        30
    liuminghao233  
       Jul 9, 2017 via iPhone
    拔网线换 ip
    shansing
        31
    shansing  
       Jul 9, 2017
    我好奇 return 444 会不会比 404/403 好些?
    blackboar
        32
    blackboar  
       Jul 9, 2017
    你这不是 ddos,只是 cc
    hzlzh
        33
    hzlzh  
    OP
    PRO
       Jul 9, 2017
    @evil4ngl3 我已经加了 iptables,而且是定时去加的。
    dai269619118
        34
    dai269619118  
       Jul 9, 2017
    加百度加速云 免费版的抗 d 效果挺不错的
    ryd994
        35
    ryd994  
       Jul 9, 2017
    @hzlzh 直接加 iptables,而不是用 ipset 的话,可能效果很差
    vus520
        36
    vus520  
       Jul 9, 2017
    @just1 感觉 OVH 是误杀了,根本就是正常请求,给我拦掉了
    lybtongji
        37
    lybtongji  
       Jul 9, 2017
    看了楼上说 CC 不算 DDoS,就特地看了下 Wiki,里面说 CC 是 DDoS 的一种
    evil4ngl3
        38
    evil4ngl3  
       Jul 10, 2017
    @hzlzh 多提供一些 IP 地址,扫描一下开放端口,反黑回去,在肉鸡上找到 DDos 的工具,分析一下。
    spartda
        39
    spartda  
       Aug 3, 2017
    直接使用第三方抗 D 服务啊。用了 1 年多的知道创宇抗 D 保,效果不错,然再在抗 D 保的控制面板中根据实际情况添加规则来防御,效果还不错。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2474 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 132ms · UTC 12:14 · PVG 20:14 · LAX 05:14 · JFK 08:14
    ♥ Do have faith in what you're doing.