登录系统的账户密码和 Token 虽然用了 https 传输,
但到了 CDN 都是变成明文的,CDN 可以直接看到内容,
大家在使用过程中会加密一次经过 CDN 吗
案例: 1Password 躲过 Cloudflare 的重大安全问题
https://blog.agilebits.com/2017/02/23/three-layers-of-encryption-keeps-you-safe-when-ssltls-fails/
1
kslr 2017-09-23 10:54:27 +08:00
为什么在 cdn 会变成明文呢?
|
2
kslr 2017-09-23 10:55:29 +08:00
你是指鉴权时发送的明文用户账户信息吗? https 呢
|
3
qq12345454 2017-09-23 10:55:55 +08:00
@kslr 有些 cdn 如 360 网站卫士 要求上传证书、密钥, 不晓得是否可以解开内容
|
4
gclove 2017-09-23 11:12:10 +08:00
|
5
oneoo 2017-09-23 11:14:47 +08:00
所有具备缓存功能的 CDN 服务在系统内部都要卸载 SSL 加密,否则内容无法缓存的。PS:所有 SSL 卸载环节就是在证书部署的地方做的。
如果是动态内容,可以考虑自行再加一层加密来达到更好的加密效果,同时也兼顾到静态内容缓存加速。当然 CDN 厂商也帮客户考虑到这个问题了,因为在系统内部已经卸载 SSL,所以会支持 HTTPS 回源。这样来起到更全的链路加密作用,只是在 CDN 系统内部是明文的。 |
6
mytsing520 2017-09-23 11:32:34 +08:00
CloudFlare 里面核心不是 CDN,是 WAF
|
7
xiaoc19 OP @kslr 你是不是没仔细看我的正文?你是不是没用过第三方带 https 的 CDN ?要是 https 能解决就不用来问了,CDN 在这里相当于中间人
|
10
vileer 2017-09-23 20:24:13 +08:00 via iPhone
静态资源: http->CDN->http->资源子域名
动态资源: https->CDN->https->原站 |
12
flynaj 2017-09-24 00:26:15 +08:00 via Android
cdn 就是一个透明代理,不解开没法缓存,也不可能代理。
|
13
liuminghao233 2017-09-24 10:15:28 +08:00 via iPhone
觉得不安全的话
自己用 nginx 搭一个反向代理 或者架个 vpn 内网 nginx 直接指过去 |
14
lslqtz 2017-09-24 13:57:44 +08:00
需要加密,除直接回源
|
15
LanFomalhaut 2017-09-24 21:23:27 +08:00
WAF 当然要解开提取相关信息 丢规则那边匹配下 不然还怎么防 →_→
|
16
binjjam 2017-09-25 08:44:31 +08:00
@gclove POST 请求不经过 CDN 怎么回源站呢大侠?部署了 CDN,用户自然不知道源站(理论情况下,找源站的方法是有),那用户的 POST 请求不经过 CDN 怎么回你源站呢
|
17
gclove 2017-09-25 13:57:31 +08:00
|
21
gclove 2017-09-25 19:40:31 +08:00
我的意思是 和 用户无关的东西才走 cdn, 需要用户授权的都直连服务器
|
23
gclove 2017-09-26 18:18:52 +08:00
好吧, 我是单纯想到,
如果你可以不用 CDN 隐匿服务器 IP 的情况下, 可以让 获取资源 和 认证接口避开 CDN 服务。 确实有这种问题不可避免。 我再去补补 SRP 的知识 |