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

2019-08-06 10:54:17 +08:00
 BinRelay

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

不知道我哪里理解错了?

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

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

另外 cdn 回源访问之间的通信也的确有被中间人攻击篡改的可能性,这一点无法避免
anzu
2019-08-06 12:12:50 +08:00
没错,就是中间人。另一个妥协的办法是,静态资源单独开设子域名用不同的证书,CDN 用该子域名,非静态资源请求还是连接到你的服务器。
yzkcy
2019-08-06 12:18:41 +08:00
针对 CDN 的缓存投毒,很有意思。https://www.anquanke.com/post/id/156356
BCy66drFCvk1Ou87
2019-08-06 15:29:29 +08:00
没理解错,cdn 完全是一个内容副本
MonoLogueChi
2019-08-06 16:57:16 +08:00
很多 CDN 有网页压缩,gzip 压缩,自定义 header 头等功能,严格一点来讲,只要开了类似的功能,你的网页就已经被中间人攻击了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/589425

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX