BinRelay
V2EX  ›  问与答

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

  •  
  •   BinRelay · Aug 6, 2019 · 3831 views
    This topic created in 2513 days ago, the information mentioned may be changed or developed.

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

    不知道我哪里理解错了?

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

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

    另外 cdn 回源访问之间的通信也的确有被中间人攻击篡改的可能性,这一点无法避免
    anzu
        8
    anzu  
       Aug 6, 2019   ❤️ 1
    没错,就是中间人。另一个妥协的办法是,静态资源单独开设子域名用不同的证书,CDN 用该子域名,非静态资源请求还是连接到你的服务器。
    lorryo
        9
    lorryo  
       Aug 6, 2019   ❤️ 1
    针对 CDN 的缓存投毒,很有意思。https://www.anquanke.com/post/id/156356
    BCy66drFCvk1Ou87
        10
    BCy66drFCvk1Ou87  
       Aug 6, 2019
    没理解错,cdn 完全是一个内容副本
    MonoLogueChi
        11
    MonoLogueChi  
       Aug 6, 2019 via Android
    很多 CDN 有网页压缩,gzip 压缩,自定义 header 头等功能,严格一点来讲,只要开了类似的功能,你的网页就已经被中间人攻击了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3863 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 05:08 · PVG 13:08 · LAX 22:08 · JFK 01:08
    ♥ Do have faith in what you're doing.