登录系统的账户密码和 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 PRO CludFlare 里面核心不是 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 的知识 |