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

记录一次云主机遭受 CC 攻击及报 AN 处理经过

  •  
  •   neurocomputing · 5 天前 · 2599 次点击

    用的阿里家的云主机,由于本来不是访问量很大的网站,就没有开 WAF ,只开了全站加速

    6 日早晨开始遭受 CC 攻击,早上一睁眼发现手机上受到警报信息

    大量 IP 针对网站 static 文件夹下的静态文件发起请求,消耗大量流量,短时间内被刷掉几百 G

    后台查看 HTTP 服务器的 log 发现是很大数量不同 IP 请求,全世界哪儿的 IP 都有,请求的都是同一个文件,初步看没法封 IP ,就把静态文件给改了个名,这样至少流量就不会掉很快

    结果发现,改了文件名返回 404 之后,请求频率就更高了

    于是,赶紧开了 WAF,设置对该静态文件的全部请求进行拦截,立杆见影。 同时也发现了两个事实: 1.请求频率差不多是每分钟 3000+ 2.其实只有 1 个 IP 来源,通过 http 头伪造了 IP 。(才想起来,之前看的都是 HTTP log,要是仔细查一下 req 细节,其实就早就明白了)

    然后,封 IP 。 由于查到该 IP 是南方某市的,直接打了当地 110 号,但是回复说应就近报警,由我这边 GA 来调查,他们配合

    想来也麻烦,目前反馈给阿里家,客服主动开了提交网警的工单,等后续。

    38 条回复    2024-12-11 10:23:19 +08:00
    daimaosix
        1
    daimaosix  
       5 天前 via Android
    这不算 CC ,刷点流量报警也没用,上点规则吧,不重要可以不用 dcdn
    BeautifulSoap
        2
    BeautifulSoap  
       5 天前
    被拿来刷下载流量平衡流量了?
    LanhuaMa
        3
    LanhuaMa  
       5 天前
    每次看到这种帖子都不是很理解,挂一个 cf 的 cdn 不就解决所有事情了吗,为什么总是想着要裸奔
    NAVYFIELD
        4
    NAVYFIELD  
       5 天前 via Android
    @LanhuaMa cf 慢,有时候 ip 被污染还打不开啊
    billccn
        5
    billccn  
       5 天前
    这可能都不是 CC ,而是某个人在运行一个 PCDN 刷流量脚本
    LanhuaMa
        6
    LanhuaMa  
       5 天前   ❤️ 3
    @NAVYFIELD #4 好吧,所以这种低级 CC 又是一个有中国特色的问题
    manami
        7
    manami  
       4 天前 via Android
    fail2ban 写个过滤器,请求频率超出常规的直接封禁
    processzzp
        8
    processzzp  
       4 天前
    @billccn 真相了
    gaobh
        9
    gaobh  
       4 天前
    PCDN 吧,论坛搜一下很多都被刷了
    liuzimin
        10
    liuzimin  
       4 天前 via Android
    最近还在猖狂吗?我是 7 月中招的。
    airbo
        11
    airbo  
       4 天前
    请教一下楼主,怎么看 req 细节看出来这个伪造 ip 的呀。
    我之前也遇到过这种的。
    miaoge2024
        12
    miaoge2024  
       4 天前 via Android
    没破产吗?刷了几百 G?
    skylancer
        13
    skylancer  
       4 天前
    这类帖子其实我最不理解的就是洋洋洒洒所谓查了半天却不愿意第一时间上 ratelimit, 理解不能
    8863824
        14
    8863824  
       4 天前
    "通过 http 头伪造了 IP"

    这是怎么伪造的,ip 不是 ip 层的协议吗?
    flyqie
        15
    flyqie  
       4 天前 via Android
    @8863824 #14

    建议了解一下 http 协议,因为有 proxy 的存在,所以实际上 http 应用获取到客户端 ip 的方式很多样,如果没做好的话,确实容易被人钻空子,这里说的 ip 应该是 7 层传递过去的。
    fredcc
        16
    fredcc  
       4 天前 via Android
    op 开了全站加速,那么拿客户端 IP 时要用 x-forward-for ,不然拿到的就是 cdn 节点 IP ,但这个字段可以伪造。
    阿里云本来就给了 X-Real-IP 字段,这个伪造不了
    https://help.aliyun.com/zh/ga/use-cases/preserve-client-ip-addresses
    Hardrain
        17
    Hardrain  
       4 天前
    @8863824 目测是通过 X-Forwarded-For
    加上没有正确配置 Trusted Proxies.
    realpg
        18
    realpg  
       4 天前
    @LanhuaMa #3
    就 CF 那破速度,用户都直接放弃访问了,又不是非得看
    52txr
        19
    52txr  
       4 天前
    请教一下,Cloudflare 阻断了请求为什么服务器的 cpu 还是会很高?这种情况该如何解决?或者说明明是已经拉黑的 ip ,仍然造成负载
    我的服务器:腾讯清凉云 1h2G
    目前状态:仍在被攻击
    采取的措施:套了 cf ,设置了防火墙规则(根据请求的 ip 和 url 特点进行直接阻断),设置了 cf 的速率限制。把主要的 ip 拉黑了。服务器也进行了设置 ip 黑名单等等
    攻击特点:国内 ip 。请求的不是静态资源,而是一个页面 url ,并且带着很多莫名奇妙的参数。例如 fuckyou 、iloveyou 之类的,基本都是 404 响应。例如:
    156.38.63.202 - - [06/Dec/2024:09:07:47 +0800] " GET /?action=ajax_search&content=H5V4N&l=2n0W3&nmAvgu=fuckyouhzuCVcUNdg&v=1733208924 HTTP/1.1 " 200 96534 " Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
    61.241.130.31 - - [07/Dec/2024:11:40:41 +0800] " GET /category/7r0BbgD/?_=iloveyouBECAUSEPxwGK&vYnZ_y=iloveyoutxrBECAUSExxz_mcRa HTTP/1.1 " 301 162 " Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
    IP 归属地 请求数
    39.145.32.162 安徽 合肥 61,914
    39.145.32.31 安徽 合肥 61,554
    61.241.130.101 安徽 合肥 26,235
    61.241.130.81 安徽 合肥 25,955
    61.241.130.166 安徽 合肥 25,831
    61.241.130.31 安徽 合肥 25,125
    61.241.130.12 安徽 合肥 24,574
    117.68.3.38 安徽 合肥 10,437
    117.68.3.228 安徽 合肥 10,433
    117.68.3.163 安徽 合肥 10,201
    117.68.3.39 安徽 合肥 10,123
    117.68.3.145 安徽 合肥 9,969
    117.68.3.102 安徽 合肥 9,960
    117.68.3.224 安徽 合肥 9,875
    117.68.3.229 安徽 合肥 9,859
    117.68.3.162 安徽 合肥 9,719
    117.68.3.168 安徽 合肥 9,700
    117.68.3.223 安徽 合肥 9,656
    117.68.3.32 安徽 合肥 9,537
    117.68.3.14 安徽 合肥 9,479
    最近几个小时请求总数:155.96k
    CPU 占用率 top5 的进程信息
    php-fpm 11.2%
    php-fpm 10.9%
    php-fpm 10.9%
    php-fpm 10.9%
    monitor 9.8%
    LanFomalhaut
        20
    LanFomalhaut  
       4 天前
    目标为静态文件,那么这种攻击方式并不能称之为 CC 攻击。
    52txr
        21
    52txr  
       4 天前
    @LanFomalhaut 很多 PCDN 是这样子刷的,就是对一个图片文件使劲刷
    humxman
        22
    humxman  
       4 天前
    @52txr #16 你躲到 CF 之后要换 IP 并禁止非 CF IP 访问你的服务器。
    xfelix
        23
    xfelix  
       4 天前 via iPhone
    @52txr 既然套了 cf ,那就屏蔽掉所有除了 cf ip 段过来的连接,另外把原先服务器 ip 地址改一个,只让 cf 知道
    ncmonster
        24
    ncmonster  
       4 天前
    防 CC 可以上一个雷池 WAF 啊
    esee
        25
    esee  
       4 天前
    被刷量的文件有多大呀
    yaocf
        26
    yaocf  
       4 天前 via Android
    @52txr 首先看看是不是源站地址泄露(查看请求头,是否是 cloudflare 的请求),大多数情况下,恶意地址会被 cf 自动拦截验证的。源站泄露可以先 sni 分流,针对 cf 的域名,开 nginx 的 allow ip ,只允许 cf 的地址进行请求。
    iqoo
        27
    iqoo  
       4 天前
    不开限流就算用单 IP 几分钟就可以给你压上几百 GB 。
    52txr
        28
    52txr  
       4 天前
    @yaocf 老哥,我设置了发现正常访问也不行了咋回事,刚刚提问了已经
    希望用户只能通过 Cloudflare CDN 访问网站,你们怎么配置 Nginx 的? https://www.v2ex.com/t/1095751
    yaocf
        29
    yaocf  
       4 天前 via Android
    @yaocf 如果不是源站地址泄露。针对这种情况,简单点的处理:在 nginx 里写方法去匹配 cf 给的 real ip (本地通过 include nginx 配置文件维护一个变量,保存所有恶意 ip ),然后直接返回 404 ,就不会打到业务代码上了。然后可以配合 fail2ban 自动更新恶意 ip 的配置文件。
    lixon166
        30
    lixon166  
       4 天前
    网站什么内容 会不会被 jc 反查
    yaocf
        31
    yaocf  
       4 天前
    @52txr 你的回复里这两个请求,都是 Baiduspider 的,你是不是没有开 cf 的那个防止爬虫的保护?
    yaocf
        32
    yaocf  
       4 天前
    @52txr 你是不是开了 real ip?的模块。开了就会重写源地址,然后走到 allow ip 就会被拦住。
    GeekGao
        33
    GeekGao  
       4 天前
    "实只有 1 个 IP 来源,通过 http 头伪造了 IP "

    完全可以通过 waf 防啊,限制同一个 ip / 同地区的访问频率
    konakona
        34
    konakona  
       4 天前
    @52txr 你这个情况应该是 CF 认为还有必要回源,导致这些 CF 没有缓存过的 URI 被回源到了你的服务器,导致了大量的 TCP 握手扔回去一个 404 ;你看看要不要考虑让 CF 对整站进行缓存,同时对于明显可疑的 query 和 path 进行拦截规则的设定。
    feitxue
        35
    feitxue  
       3 天前
    请问报案的案在本坛是敏感词吗?
    你这个标题的 AN 我脑子一下子没反应过来。。。
    daimaosix
        36
    daimaosix  
       2 天前 via Android
    @feitxue Stronge
    daimaosix
        37
    daimaosix  
       2 天前 via Android
    @daimaosix Strong
    buildops
        38
    buildops  
       20 小时 10 分钟前
    建议可以到工信部平台投诉查处这个违法 IP: https://ts.isc.org.cnhttps://yhssglxt.miit.gov.cn
    之前一个博主被 PCDN 恶意刷量的投诉成功 case: https://www.idcbuy.net/talk/3242.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   913 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:33 · PVG 06:33 · LAX 14:33 · JFK 17:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.