V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dyxiaodong2022
V2EX  ›  程序员

服务器被打了,有没有预防的方案

  •  1
     
  •   dyxiaodong2022 ·
    dy-xiaodong2022 · 2022-12-30 18:54:10 +08:00 · 4714 次点击
    这是一个创建于 718 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚刚有个人告诉我在看文档的时候,我的网站突然就访问不了了

    连了一下 ssh ,发现连接超时,登了一下阿里云,发现 CPU 直接飙到 99

    应该是 ddos ,我的服务器没有套 cdn ,所以对外的直接是本机的公网 ip ,除了套 cdn ,对于这种攻击有没有什么预防方法,亦或是及时的救援方法

    我之前想过能不能买三台或者是更多,当第一台服务器挂了的时候马上切换到第二台,这种想法可行吗

    36 条回复    2023-08-15 16:14:00 +08:00
    dyxiaodong2022
        1
    dyxiaodong2022  
    OP
       2022-12-30 18:57:18 +08:00
    dyxiaodong2022
        2
    dyxiaodong2022  
    OP
       2022-12-30 18:57:40 +08:00
    瞬间扣了十几块,全是带宽消耗
    TheRealKamisama
        3
    TheRealKamisama  
       2022-12-30 19:04:07 +08:00   ❤️ 2
    可能是被人来了一点小小的 v2 震撼
    jhdxr
        4
    jhdxr  
       2022-12-30 19:30:41 +08:00
    我之前想过能不能买三台或者是更多,当第一台服务器挂了的时候马上切换到第二台,这种想法可行吗

    =>可行,但需要考虑到如何切换(例如如果只是更换 DNS 的解析记录,那对于用户来说不会实时生效),以及攻击者也可以继续打第二台。
    learningman
        5
    learningman  
       2022-12-30 19:46:53 +08:00
    文档放 GitHub Pages
    mmr
        6
    mmr  
       2022-12-30 19:51:52 +08:00
    @dyxiaodong2022 惨啊,这对一个学生都算大出血了吧,说真的今年的服务器钱我还是自己挣的零花钱呢,不过你源站 IP 泄露是不负责任的,下次注意公开地址之后套 CDN ,这次换个 IP 吧。
    mmr
        7
    mmr  
       2022-12-30 19:52:49 +08:00
    @dyxiaodong2022 换 IP 不知道你那边啥政策呢,不过也比挨打强。
    missuo
        8
    missuo  
       2022-12-30 19:54:28 +08:00
    换 IP 也没用。还是能找到源站 IP 。
    BealuoC
        9
    BealuoC  
       2022-12-30 19:55:59 +08:00   ❤️ 1
    套个 cloudflare
    wanghuinet
        10
    wanghuinet  
       2022-12-30 19:56:35 +08:00 via Android
    110 吧
    mmr
        11
    mmr  
       2022-12-30 19:57:34 +08:00
    @wanghuinet 查不到的,几层 NAT 之后没啥用了
    mmr
        12
    mmr  
       2022-12-30 19:58:40 +08:00
    @mmr 我上次 v2ray 被干了之后写了一片极为蹩脚的工单说要换 IP 还被拒了
    bbsabc2
        13
    bbsabc2  
       2022-12-30 19:59:41 +08:00
    不可行
    1 一般 ddos 直接打的是域名,不是 ip

    2 如果你直接访问 ip ,你换了之后大概 1-2 天就会开始打你新的 ip
    xmumiffy
        14
    xmumiffy  
       2022-12-30 20:03:09 +08:00 via Android
    国内没啥便宜的抗 D 方案,国际的话,上 cloudflare
    fzls
        15
    fzls  
       2022-12-30 20:09:33 +08:00   ❤️ 2
    @TheRealKamisama -。-有些人坏得很,动不动就对别人来个 ddos ,觉得自己很牛
    cveoy
        16
    cveoy  
       2022-12-30 20:11:14 +08:00
    换其他云厂商
    fzls
        17
    fzls  
       2022-12-30 20:11:34 +08:00
    如果没有特别定制化的需求,短期内先把自己的服务器停掉,把文档驾到 github pages/netlify 等免费托管的页面,这样被 ddos 也不会损失金钱
    ayconanw
        18
    ayconanw  
       2022-12-30 20:31:47 +08:00
    对速度要求不高的网站的话,直接套 cf ,然后服务器防火墙屏蔽所有非 cf 的 ip ,这个是万全之法
    bobryjosin
        19
    bobryjosin  
       2022-12-30 20:35:59 +08:00
    要么财大气粗买高防,买付费的清洗服务,现阶段想要自己防御,除了砸钱别无他法,当然这条路是你自己选的,你自己就要承担曝光流量带来的风险,没啥财力建议就 github pages 一劳永逸,要么就像我这种平时就自己用,买台 cera 的小鸡自带 5g 防御,平时也没几个人光顾我的小站,关于你提出的方案,可行,但是效果很有限,人家就瞄着你的域名打,只要暴露源站就会被打,要么主站套 cf ,搞台比较近地域的机器 sni proxy ,被打就撤解析,当然这个方法也只能防一点点。
    alexsunxl
        20
    alexsunxl  
       2022-12-30 20:39:25 +08:00
    简单一点,服务先停一段时间就好了。
    有些人就是闲的蛋疼,ddos 也有成本的,就算有肉鸡,那也还得有机会成本吧。
    你苟一下等于认怂,过段时间就没事了。也不可能一直盯着你呀。又不是游戏的服务器,利益相关那种,往死里干
    perfectlife
        21
    perfectlife  
       2022-12-30 20:39:54 +08:00
    我感觉要么花钱要么忍,不然都不好使
    daimaosix
        22
    daimaosix  
       2022-12-30 20:48:46 +08:00
    CPU 满了,这是被 CC 了吧,要是 Nginx 就上个规则,被 D 就上个高防反代一下,现在高防机器也挺便宜的
    wateryessence
        23
    wateryessence  
       2022-12-30 21:02:36 +08:00
    高可用框架开发者不懂微服务吗
    locoz
        24
    locoz  
       2022-12-30 21:27:44 +08:00
    CPU 、带宽占用、网络连接数、硬盘 IOPS 都是在同一时间开始暴涨,如果测量间隔没问题的话,还都是在没有波动的情况下直线冲高,明显是被人攻击了。

    如果你的服务器 IP 已经在域名解析处暴露过了,那么现在套 CDN 是没啥用的。别人即使是在你套了 CDN 之后,也仍然可以通过历史解析记录来查到你的服务器 IP 。如果你要做好防护,那就必须从新 IP 开始,在域名公开给别人之前就套上 CDN ,这样才能借助 CDN 的高承载力来替你的服务器挡住那些流量,只能预防。

    如果要紧急救援,在其他方式的成本高于网站本身价值的情况下,最好的方法就是“拔网线”等对方自己停手,因为你没法知道别人在攻击时能达到什么样的力度。依靠多机灾备或负载均衡,本质上就是跟对方比烧钱。

    不过你这个网站本身感觉也有点问题,为什么别人大量请求会导致你硬盘 IOPS 也暴涨?看起来网站上也没什么复杂的东西,这些被大量请求时加载的小静态资源居然没在内存里缓存着,而是每次都去读硬盘?建议检查一下日志,具体排查一下,挺典型的性能优化问题。
    cktsun
        25
    cktsun  
       2022-12-30 21:28:09 +08:00 via Android
    靜態網站, 難道不應該部署在 vercel, gh pages, netlify?
    或者套 cf???
    locoz
        26
    locoz  
       2022-12-30 21:32:08 +08:00
    另外,DDoS 攻击和 DoS 攻击其实是两个不同的概念,很多人都搞混了,两者主要区别在于攻击是否是分布式地发出的。而你这种小网站别人也用不着 DDoS 攻击,只要资源充足,单机就能给你打爆。
    wbzd
        27
    wbzd  
       2022-12-30 21:32:34 +08:00 via Android
    还是套 CDN 吧,你用的是阿里云,阿里云 CDN 可以提供 WAF 流量清洗。
    wbzd
        28
    wbzd  
       2022-12-30 21:33:27 +08:00 via Android
    此外,阿里的轻量应用服务器好像免费提供 5Gbps 防护。
    wbzd
        29
    wbzd  
       2022-12-30 21:34:17 +08:00 via Android
    CDN 可以不用域名备案的,只要你那个加速地区选“全球(不包含中国大陆)”就好了。
    cktsun
        30
    cktsun  
       2022-12-30 21:34:43 +08:00 via Android
    給你個建議吧, 部署在 cloudflare pages
    無限流量, 外加免費防火牆、DDoS 防護服務
    零用錢也省了
    ilikexff
        31
    ilikexff  
       2022-12-30 21:39:18 +08:00
    买防护吧,还要注意限流,我的博客接口就被刷过,直接给爷整崩了
    Litccc
        32
    Litccc  
       2022-12-30 22:00:21 +08:00
    还以为只有 MJJ 干这种事
    moonrailgun
        33
    moonrailgun  
       2022-12-30 22:00:31 +08:00
    @wateryessence 看了一圈就你离谱。
    话说 ddos 跟微服务有什么关系么,萌新不是很懂
    40EaE5uJO3Xt1VVa
        34
    40EaE5uJO3Xt1VVa  
       2022-12-30 22:07:10 +08:00
    预算不多就买美国 cn2 线路的 VPS ,兼顾访问流畅和防御。美国的 VPS 普遍大带宽高防御。
    Leechael
        35
    Leechael  
       2023-01-01 00:57:23 +08:00
    小朋友,你并非被 DDOS ,应该是短时间访问量上升造成机器负载上升。

    可以先试图搞清楚为什么机器负载会瞬时增加那么多(什么进程把资源的吃光了)。

    > 当第一台服务器挂了的时候马上切换到第二台

    这个策略叫做 failover ,可以用 nginx 的 upstream module 做到。但正如我上面所说,核心问题是“什么进程把资源的吃光了”。
    idc906
        36
    idc906  
       2023-08-15 16:14:00 +08:00 via iPhone
    你这个不是 DDOS 攻击,DDOS 打的是 ip ,服务器直接被拉黑洞里了,cpu 超载打的是 CC 攻击,用虚拟 ip 模仿真实用户访问的,占用服务器资源,我是做安全的,有空可以交流 微 idc906
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:38 · PVG 13:38 · LAX 21:38 · JFK 00:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.