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

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

  •  1
     
  •   dyxiaodong2022 ·
    dy-xiaodong2022 · 86 天前 · 3251 次点击
    这是一个创建于 86 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

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

    这个策略叫做 failover ,可以用 nginx 的 upstream module 做到。但正如我上面所说,核心问题是“什么进程把资源的吃光了”。
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   3248 人在线   最高记录 5556   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 10:39 · PVG 18:39 · LAX 03:39 · JFK 06:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.