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

没想到在腾讯云上的服务器遭受到了来自腾讯云的重放攻击

  •  
  •   NanoApe · 2022-06-18 11:46:47 +08:00 · 4695 次点击
    这是一个创建于 924 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在腾讯云上搭了一个自用的 Web Server ,用来简单控制一些智能设备的开关,端口和请求路径什么的只有自己知道。

    最近发现设备总会莫名其妙地处于关闭的状态,明明自己也没有操作。登陆服务器检查了下日志发现了一些来自未知 IP 的请求,溯源了下发现是腾讯云的 IP 。腾讯云重放了我关闭设备的请求,导致设备就被关闭了。

    简单来说,位于腾讯云的服务器遭受到了重放攻击,来源是腾讯云自己……

    迫不得已给 Server 加了个随机 Token 防御一下,也的确防下来了(下图日志)

    只能说,腾讯云真的垃圾……

    XL6KD1.md.png

    17 条回复    2022-06-21 09:04:58 +08:00
    villivateur
        1
    villivateur  
       2022-06-18 12:00:10 +08:00 via Android
    这个是否可以通过加 https 来防御呢?
    JensenQian
        2
    JensenQian  
       2022-06-18 12:12:46 +08:00   ❤️ 1
    良心云变凉心云了
    最近这还有隔壁,一堆人被山鸡的
    billlee
        3
    billlee  
       2022-06-18 12:20:22 +08:00 via Android
    是腾讯云自己的漏洞扫描?印象中最可以关的
    eason1874
        4
    eason1874  
       2022-06-18 12:23:50 +08:00
    是不是服务器自带的 agent 插件在做可用性监控?

    说到私有 API 设计,必须得验证,URL 是保密不了的,现在浏览器和软件都会主动去检测用户访问的 URL ,不可避免造成重放,区别只是有多少
    wooyuntest
        5
    wooyuntest  
       2022-06-18 12:24:11 +08:00
    这是漏扫吧 配合机器上的“云镜”来实现对“只有你知道的“端口和请求路径”做漏扫。
    NanoApe
        6
    NanoApe  
    OP
       2022-06-18 12:34:48 +08:00
    @eason1874 得看具体使用场景吧,我一般是脚本访问,所以不存在别的中间件能够获得请求 URL ,除了流量嗅探
    opengps
        7
    opengps  
       2022-06-18 13:20:07 +08:00
    能重放说明具备某些能力。。。
    opengps
        8
    opengps  
       2022-06-18 13:21:02 +08:00
    话说,你的案例可以拿来当案例,告诉后面的 iot 同学协议包校验的重要性
    jim9606
        9
    jim9606  
       2022-06-18 13:54:57 +08:00   ❤️ 5
    HTTP GET 的语义是幂等的,也就是说重放请求和缓存请求不应该产生副作用,所以很多组件会基于这个假设做一些功能,例如透明代理缓存和漏洞扫描器。非幂等请求应该用 POST 。
    用 TLS 保护是个好主意,但依然要注意 GET 的语义问题,例如浏览器只允许 GET 请求使用 TLS1.3 0RTT Early Data ,因为请求包有被重放的可能性。
    依赖端口号和路径来保密是绝对错误的安全实践。
    tramm
        10
    tramm  
       2022-06-18 13:57:21 +08:00
    @opengps 这个跟后面的 iot 同学那边没关系吧?这个步骤还在服务器下发指令给 iot 设备之前的啊 [表情]
    K1W1
        11
    K1W1  
       2022-06-18 14:03:19 +08:00 via Android
    阿里云也遇到过,以前有个任务脚本是通过 http 触发的,然后也没做防重复。有一天突然被多次触发,排查后发现来源 ip 是阿里云。然后他们答复是,监控到你们这个请求是通过 ip 的而且比较慢,我们觉得可能有风险,触发排查
    NanoApe
        12
    NanoApe  
    OP
       2022-06-18 17:53:30 +08:00
    @jim9606 你说的有道理,这里的确应该使用 POST 而不是 GET ,算是一种错误的实现了。等我修改完看看还会不会有类似的现象产生。
    依赖端口号和路径来保密当然不够安全,只是一种性价比高的简单保护罢了,现在加上有意义的 Token 也可以防止重放攻击,挺好的。(主要是整证书太麻烦了
    liuleixxxx
        13
    liuleixxxx  
       2022-06-18 21:32:37 +08:00
    @NanoApe 也许是理解错误了,截图上也没看到 post 请求,可能人家的目的不是攻击呢,如果想攻击你,还能搞错请求方式?有没有 post 请求的日志?
    Raidal
        14
    Raidal  
       2022-06-19 12:22:07 +08:00
    建议 GET 请求做好幂等
    SteveWoo
        15
    SteveWoo  
       2022-06-19 21:34:09 +08:00
    你要用 GET 还 HTTP 我也没有办法
    CarryOnHxy
        16
    CarryOnHxy  
       2022-06-20 11:26:18 +08:00
    漏扫
    opengps
        17
    opengps  
       2022-06-21 09:04:58 +08:00
    @tramm iot 设备需要从通信协议等层面进行防以外的重复命令操作,避免某些逻辑控制行为失效。
    举个例子说:开门关门命令,要用 2 个命令包,而不是一个命令重复用,每次改成相反状态。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   939 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:28 · PVG 06:28 · LAX 14:28 · JFK 17:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.