我理解的 CDN 就是一个缓存,而这个缓存是在别人手里,自己
完全不可控。
缓存篡改了数据你也不知道。
部署 https 之后,部分 CDN 的实现甚至需要上传 private key,
这样岂不是把家里的钥匙都给别人了?
不知道我哪里理解错了?
我理解的 CDN 就是一个缓存,而这个缓存是在别人手里,自己
完全不可控。
缓存篡改了数据你也不知道。
部署 https 之后,部分 CDN 的实现甚至需要上传 private key,
这样岂不是把家里的钥匙都给别人了?
不知道我哪里理解错了?
|
silencefentAug 6, 2019
1
被篡改了甚至你还没法得到用户反馈
|
|
2
“我想找个管家帮我看家,但是我不知道他是否可信,钥匙到底给不给他呢?”系列。
|
|
imWBBAug 6, 2019 via Android
3
找一个你能信任的。
如果没有 自建一个 cdn |
|
anguiaoAug 6, 2019 via Android
4
你要用自己的证书当然得上传私钥了,用它提供的就不需要上传。
这个本来就是这样的,你用了它的服务就代表你信任它。 |
|
imkuangAug 6, 2019
5
本来就是这样嘛,你不信任它就不要用它
|
|
virusdefenderAug 6, 2019
6
|
|
7
cdn 如果要提供 https 服务,必须要缓存明文内容,这一点无法避免。我们只能假设 cdn 服务商是可以信任的。
另外 cdn 回源访问之间的通信也的确有被中间人攻击篡改的可能性,这一点无法避免 |
|
8
没错,就是中间人。另一个妥协的办法是,静态资源单独开设子域名用不同的证书,CDN 用该子域名,非静态资源请求还是连接到你的服务器。
|
|
9
针对 CDN 的缓存投毒,很有意思。https://www.anquanke.com/post/id/156356
|
|
BCy66drFCvk1Ou87Aug 6, 2019
10
没理解错,cdn 完全是一个内容副本
|
|
MonoLogueChiAug 6, 2019 via Android
11
很多 CDN 有网页压缩,gzip 压缩,自定义 header 头等功能,严格一点来讲,只要开了类似的功能,你的网页就已经被中间人攻击了
|