V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
BinRelay
V2EX  ›  问与答

CDN 如何保证数据不被篡改呢?感觉 CDN 就是一个中间人啊?

  •  
  •   BinRelay · 2019-08-06 10:54:17 +08:00 · 2921 次点击
    这是一个创建于 1718 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我理解的 CDN 就是一个缓存,而这个缓存是在别人手里,自己
    完全不可控。
    缓存篡改了数据你也不知道。
    部署 https 之后,部分 CDN 的实现甚至需要上传 private key,
    这样岂不是把家里的钥匙都给别人了?

    不知道我哪里理解错了?

    11 条回复    2019-08-06 16:57:16 +08:00
    silencefent
        1
    silencefent  
       2019-08-06 11:01:32 +08:00
    被篡改了甚至你还没法得到用户反馈
    passerbytiny
        2
    passerbytiny  
       2019-08-06 11:04:35 +08:00   ❤️ 2
    “我想找个管家帮我看家,但是我不知道他是否可信,钥匙到底给不给他呢?”系列。
    imWBB
        3
    imWBB  
       2019-08-06 11:05:48 +08:00 via Android
    找一个你能信任的。
    如果没有
    自建一个 cdn
    anguiao
        4
    anguiao  
       2019-08-06 11:07:18 +08:00 via Android
    你要用自己的证书当然得上传私钥了,用它提供的就不需要上传。
    这个本来就是这样的,你用了它的服务就代表你信任它。
    xiri
        5
    xiri  
       2019-08-06 11:08:31 +08:00
    本来就是这样嘛,你不信任它就不要用它
    virusdefender
        6
    virusdefender  
       2019-08-06 11:36:01 +08:00
    如果是网页端,可以试试 sri https://imququ.com/post/subresource-integrity.html

    以前出现过 cdn 回源是 http 被运营商劫持了。。
    tabris17
        7
    tabris17  
       2019-08-06 11:38:59 +08:00   ❤️ 1
    cdn 如果要提供 https 服务,必须要缓存明文内容,这一点无法避免。我们只能假设 cdn 服务商是可以信任的。

    另外 cdn 回源访问之间的通信也的确有被中间人攻击篡改的可能性,这一点无法避免
    anzu
        8
    anzu  
       2019-08-06 12:12:50 +08:00   ❤️ 1
    没错,就是中间人。另一个妥协的办法是,静态资源单独开设子域名用不同的证书,CDN 用该子域名,非静态资源请求还是连接到你的服务器。
    yzkcy
        9
    yzkcy  
       2019-08-06 12:18:41 +08:00   ❤️ 1
    针对 CDN 的缓存投毒,很有意思。https://www.anquanke.com/post/id/156356
    HuasLeung
        10
    HuasLeung  
       2019-08-06 15:29:29 +08:00
    没理解错,cdn 完全是一个内容副本
    MonoLogueChi
        11
    MonoLogueChi  
       2019-08-06 16:57:16 +08:00 via Android
    很多 CDN 有网页压缩,gzip 压缩,自定义 header 头等功能,严格一点来讲,只要开了类似的功能,你的网页就已经被中间人攻击了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2669 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 15:13 · PVG 23:13 · LAX 08:13 · JFK 11:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.