V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
maomaosang
V2EX  ›  云计算

公司的阿里云 CDN 每晚都在被偷偷刷量

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

    昨晚偶然查看了公司的阿里云 CDN 监控,发现被偷偷刷量了。

    攻击方式是每晚 20-23 点,会用几千个 IP 请求一个 100M 左右的 exe 文件,和一个十几 k 的静态文件,以非常稳定的带宽占用刷掉 100-700G 的流量,然后安静的结束。从 4 月中旬攻击到昨天晚上。然后我们换掉了文件名,CDN 返回 404 ,攻击仍然持续到 23 点准时结束。我们是买流量包用的,一次会买大半年的用量,所以之前没有发现。

    有几点非常奇怪,想请教一下各位:

    1.我们正常的每天用量大约是 30-50G ,每个月 1T 出头。费用是 126 元/T 。黑客用一个半月的时间,大约刷掉了 8T ,大概是一千块。这个费用对公司不痛不痒,目的是什么?(希望黑客不要看到这条后给我加个零)

    2.攻击 IP 非常诡异,除了全世界各地&全国各地的 IP 地址以外,还有一些 6.开头和 0.开头的 IP ,我查询之后发现分别是美国 DoD 和 IANA 的保留地址,前者还勉强可以说通,责任全在米方,保留地址是啥情况?这些 IP 地址来自阿里云后台下载的 CDN 访问记录。

    提醒大家为 CDN 服务加上监控。

    第 1 条附言  ·  154 天前
    感谢各位,这个帖子收到了很多有用的信息。我也把这两天查到的东西整理一下。

    类似情况:
    《阿里云的 CDN 也要慎用》 https://v2ex.com/t/903336
    《阿里云 CDN 被攻击,一早起来欠费 600 多停机了》 https://v2ex.com/t/848720
    《博客被攻击欠阿里云 cdn 费 350 快》 https://v2ex.com/t/592860

    关于省间结算:
    《电信的省间宽带流量结算来辣🥵!》 https://v2ex.com/t/1008228
    《吉林联通机房省间结算影响跨省访问》 https://v2ex.com/t/1007257

    阿里云获取真实 IP:
    方式 1:远程鉴权功能:在“URL 鉴权参数”中添加“$remote_addr”参数,然后鉴权 URL 收到的请求会包含真实 IP
    https://help.aliyun.com/zh/cdn/user-guide/configure-remote-authentication
    方式 2:实时日志功能:在实时日志中查看 remote_ip 字段。
    https://help.aliyun.com/zh/cdn/user-guide/overview-1

    没有确切的证据,我不能说攻击方是谁。但我认为事故的主要责任方还是 X:
    1.攻击特征明显、行为普遍、防御成本低,X 对产品没有做任何实质调整,只发布一则“风险提醒”。
    2.X 给到的应对方法,长篇大论罗列了各种可能的情况,却唯一“漏掉”了查询真实 IP 。
    3.即使找对了方向,要获得真实 IP 也很麻烦,历史日志没有真实 IP 。
    4.X 是最大受益者,谁拿钱,谁办事。

    不想给自己惹上麻烦,所以用 X 代替。我也向 X 提交了对此类行为进行提醒和防御的要求,以及对流量费和人工费索赔的诉求。其实这些内容我上周五就整理好了,给工作收个尾,但是 X 工单一直在踢皮球,4 天过去没有正面回应我的任何要求,和以前的工单一样,我只是自取其辱而已。但事总归要做一遍。

    最后再次提醒:记得在云监控里面加个监控,可以对 QPS 或流量进行监控,时间单位需要自己算好,几个界面的时间单位不一致。
    40 条回复    2024-08-01 10:30:27 +08:00
    HojiOShi
        1
    HojiOShi  
       159 天前   ❤️ 1
    阿里云在监守自盗
    someone0123
        2
    someone0123  
       159 天前   ❤️ 10
    还有一种可能是一些地方运营商在刷,他们好像会有跨省结算的问题,会通过刷流量来打平内部账单
    Moyyyyyyyyyyye
        3
    Moyyyyyyyyyyye  
       159 天前
    🤔xterminal 也遇到过,直接迁移出去了,任何方法都无法防止,固定时间固定频率,最大文件
    me1onsoda
        4
    me1onsoda  
       159 天前
    刷流量不用成本吗
    zx900930
        5
    zx900930  
       159 天前
    腾讯云也是一样
    刷最大的静态文件,刷了几个 T 的流量,几万块钱。
    zedpass
        6
    zedpass  
       159 天前
    之前我也遇到过有用国内 IDC 的机器一直访问我们官网的 APK 下载链接,半年刷了二十多万的账单出来,不知道做这些损人不利己的操作是什么目的,一百多台机器 24 小时不间断访问半年的成本也不低了
    yuzo555
        7
    yuzo555  
       159 天前
    有几个客户遇到了这个事情,现象一样,19:30 之后准时开始,23:00 准时停。
    不光是阿里云线路,我们这边其他包括腾讯云华为云线路都有遇到。

    攻击者 IP 来自中国境内各地的联通,没有电信和移动。
    个人赞成 #2 @someone0123 的判断。
    maomaosang
        8
    maomaosang  
    OP
       159 天前
    再补充两点

    攻击 IP 还有 231.0.0.0/8 这个网段的,查出来是“组播地址”,这已经完全超过我的知识范围了……

    以及,虽然攻击 IP 大部分不属于中国大陆,但阿里云在计费时 99%的流量都算到了“中国内地”
    yuzo555
        9
    yuzo555  
       159 天前
    有一个特点是它们似乎不在乎刷没刷成功,认定一个链接后我们运维把他 IP 封禁、响应 403 ,即使删除这个链接响应 404 或者其他错误,它们仍然继续刷。感觉可能是攻击范围太大,管不过来。
    maomaosang
        10
    maomaosang  
    OP
       159 天前
    @someone0123 这个角度听起来有意思,也符合我上条阿里云都计费到中国内地的状况,但一个月 1000 块的流量费也太少了,是找小网站给它“积少成多”?
    mmlmml1
        11
    mmlmml1  
       159 天前
    之前看到过有 PCDN 刷下载流量来降低上传/下载比例,来避免被运营商发现

    https://www.reddit.com/r/qBittorrent/comments/192c0nt/what_is_wrong_with_some_china_peers/
    maomaosang
        12
    maomaosang  
    OP
       159 天前
    根据二楼信息找到一个讲“省间结算”帖子 https://v2ex.com/t/1007257
    maomaosang
        13
    maomaosang  
    OP
       159 天前
    IP 的疑问解决了,阿里云 cdn 记录的是可以伪造的 xff 地址,不是真实 IP 地址
    https://help.aliyun.com/zh/cdn/user-guide/download-logs
    MartinWu
        14
    MartinWu  
       159 天前
    我们七牛云这里也是同样的时间,同样的问题。。。
    bytesfold
        15
    bytesfold  
       159 天前 via iPhone
    有一种测速网站会一直请求某个文件,不过不是定时的
    k452b
        16
    k452b  
       159 天前
    还有这回事
    javalaw2010
        17
    javalaw2010  
       159 天前
    我们也遇到过,ucloud ,单 IP 刷流量,请求我们的一个 apk 链接,被刷了一段时间之后如果不做出反制措施似乎会加大力度,我们 CDN 平时用的很少所以告警阈值设得很低,被我发现了,我拉黑之后还持续了大概一天多才停。
    lyc8503
        18
    lyc8503  
       159 天前   ❤️ 3
    有种可能就是上面提到的 PCDN 或者违规使用家庭宽带的黑心 IDC:

    近期运营商开始省间结算,部分地区的家庭宽带要求上传/下载比例足够小,否则可能会被限速或者封宽带

    然后这些违规使用宽带的人就开始用脚本随机找链接刷下载流量,而且晚 20-23 点正好是 PCDN 上传高峰期

    前段时间各个高校的开源镜像站也被类似地刷过流量
    LiuJiang
        19
    LiuJiang  
       159 天前
    哥们,要不提个阿里云工单问下?
    duanxianze
        20
    duanxianze  
       159 天前
    赞同 2# 大概率运营商自己干的
    maomaosang
        21
    maomaosang  
    OP
       159 天前
    @LiuJiang 我的第一个问题,在阿里云客服那里显然得不到答案。第二个问题,确实比较搞笑,查文档查到了,确实没想过阿里会做这么奇怪的设计(日志记录是 xff ip ),一度困在认为这是真实 ip 的井里,直到我看到计费是中国内地,才意识到很可能是个伪造 IP ,查文档确认了。

    阿里云官方在今年 2 月份发布了《高额账单风险警示》( https://help.aliyun.com/zh/cdn/product-overview/configure-high-bill-alerts ),很显然知道问题是广泛存在的,但通篇没有提到问题出现的原因,发布时间又说明这个问题可能是今年开始大规模爆发的。
    xueling
        22
    xueling  
       159 天前
    竟然还有这种情况,可以使用我的开源项目,https://github.com/xl-xueling/xl-lighthouse (单机版就可以)排查一下原因,通过 IP 、IP 头、IP 段、访问目标地址、访问时间段等方式进行流量统计和请求数统计(统计维度可以根据需要随意定制),拿到确凿证据后向云服务商投诉,看看能不能要求赔偿。
    lstz
        23
    lstz  
       159 天前 via Android
    用雷池可以解决吗
    wushenlun
        24
    wushenlun  
       159 天前 via Android
    对请求鉴权吧,用轻量级 js 或者重定向生成一个 token
    lyxxxh2
        25
    lyxxxh2  
       159 天前
    4 年前遇到过 刷一个 apk 文件
    不过比较少 一个月也就 30g
    dandankele
        26
    dandankele  
       159 天前
    这是之前一个哥们在腾讯云类似的情况 https://mp.weixin.qq.com/s/ANFnbDXwuhKI99fgYRZ9ug
    gadfly3173
        27
    gadfly3173  
       159 天前 via Android
    @maomaosang 不存在 100%在服务端获取真实 ip 的方法吧,即使你自建 cdn ,你在边缘节点忽略 xff 那只能拿到运营商的 ip 或者对面的代理的 ip
    KepaThings
        28
    KepaThings  
       158 天前
    遇到过,来自某个机房的 ip 段。拉黑了,还在不断请求,大概三天后,就没刷了。
    likunyan
        29
    likunyan  
       158 天前
    国都都一个样,垃圾
    likunyan
        30
    likunyan  
       158 天前
    国内
    maomaosang
        31
    maomaosang  
    OP
       158 天前
    @gadfly3173 确实不存在,但 xff 是最假的那个,也是在防御这种行为中最无用的那个。
    与边缘节点通讯的 ip 就是我希望拿到的 ip ,如果请求者是内网 IP ,那么我要他的外网 IP ,如果他用了代理,我要他的代理 IP 。这种情况下,IP 特征是有意义的。而 xff ,只要对方是恶意的,这个字段就没有任何意义。
    daimaosix
        32
    daimaosix  
       158 天前 via Android
    @lstz 当然不可,雷池能往 CDN 部署吗,显然不能。
    maomaosang
        33
    maomaosang  
    OP
       158 天前 via Android   ❤️ 3
    昨天找到了获取阿里云 cdn 真实 IP 的方法后,蹲守,查到是一个山西联通的 IP ,QPS 大几百都是这一个 IP 打的,那些全球各地的 IP 都是伪造 xff 头的。
    在阿里云 cdn 拉黑该 IP 后,所有请求都由阿里直接回 403 了。
    yestodayHadRain
        34
    yestodayHadRain  
       158 天前
    @maomaosang 比较好奇楼主是怎么获取真实 ip 的? 是把 cdn 缓存清掉,让请求到源站,然后源站 从 xff 里取吗?
    MartinWu
        35
    MartinWu  
       158 天前   ❤️ 2
    @maomaosang #33 同是被山西联通刷。。我被刷的是七牛云的
    esee
        36
    esee  
       158 天前
    会不会是你们公司内部的人心怀不满搞点小动作?
    maomaosang
        37
    maomaosang  
    OP
       154 天前
    @esee 可能性存在,但不高,概率和路人嫉妒我长的太帅然后对我进行打击的概率差不多。
    @yestodayHadRain 已经在 append 中补充,你说的这种我没试过。
    @dandankele 最终的“预热”说我觉得站不住脚,很可能是客服瞎 bb 的,一千个 CDN 节点对资源进行主动预热,这种主动冲业绩的行为真的有点搞笑了。从文档来看,阿里和腾讯都是用户触发预热的,不会主动预热。
    daisyfloor
        38
    daisyfloor  
       96 天前
    @maomaosang 我看文档的做法是 XFF 从左到右第一个。但通常即便是过 proxy ,转发者也是在右侧添加。

    所以正确的做法是不是应该是 增加 trustlist ,然后从右向左查找,找到的第一个不在 trustlist 里的 ip ,就任务是 访问者的 ip
    daisyfloor
        39
    daisyfloor  
       96 天前
    @maomaosang 按我上面的做法 从右向左找,不在 trustlist 里的 ,那这个山西联通的 IP ,就会被提到日志里。
    maomaosang
        40
    maomaosang  
    OP
       96 天前
    @daisyfloor 是的,阿里云的做法非常没有安全常识,对外部输入无限信任
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5511 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:36 · PVG 16:36 · LAX 00:36 · JFK 03:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.