V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoc19
V2EX  ›  程序员

大家使用 CDN 的时候对于机密信息会再加一次密吗

  •  
  •   xiaoc19 · 2017-09-23 09:24:29 +08:00 · 3953 次点击
    这是一个创建于 2620 天前的主题,其中的信息可能已经有所发展或是发生改变。

    登录系统的账户密码和 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 条附言  ·  2017-09-25 18:51:10 +08:00
    各位这个问题不是讨论 CDN 的原理,
    而是在不信任第三方 CDN 的情况下如何处理好 https 携带的内容
    23 条回复    2017-09-26 18:18:52 +08:00
    kslr
        1
    kslr  
       2017-09-23 10:54:27 +08:00
    为什么在 cdn 会变成明文呢?
    kslr
        2
    kslr  
       2017-09-23 10:55:29 +08:00
    你是指鉴权时发送的明文用户账户信息吗? https 呢
    qq12345454
        3
    qq12345454  
       2017-09-23 10:55:55 +08:00
    @kslr 有些 cdn 如 360 网站卫士 要求上传证书、密钥, 不晓得是否可以解开内容
    gclove
        4
    gclove  
       2017-09-23 11:12:10 +08:00
    为什么在 cdn 会变成明文呢 ?

    @qq12345454 当然不行了, 你认为 POST 请求也会经过 CDN ?

    再者, 难道账户授权只和密码有关系 ? token 是哪里都可以使用的吗?
    oneoo
        5
    oneoo  
       2017-09-23 11:14:47 +08:00
    所有具备缓存功能的 CDN 服务在系统内部都要卸载 SSL 加密,否则内容无法缓存的。PS:所有 SSL 卸载环节就是在证书部署的地方做的。

    如果是动态内容,可以考虑自行再加一层加密来达到更好的加密效果,同时也兼顾到静态内容缓存加速。当然 CDN 厂商也帮客户考虑到这个问题了,因为在系统内部已经卸载 SSL,所以会支持 HTTPS 回源。这样来起到更全的链路加密作用,只是在 CDN 系统内部是明文的。
    mytsing520
        6
    mytsing520  
       2017-09-23 11:32:34 +08:00
    CloudFlare 里面核心不是 CDN,是 WAF
    xiaoc19
        7
    xiaoc19  
    OP
       2017-09-23 19:16:57 +08:00
    @kslr 你是不是没仔细看我的正文?你是不是没用过第三方带 https 的 CDN ?要是 https 能解决就不用来问了,CDN 在这里相当于中间人
    xiaoc19
        8
    xiaoc19  
    OP
       2017-09-23 19:17:52 +08:00
    @gclove 你的当然不行是什么意思,这个地方 CDN 是能解开的,它是个中间人
    xiaoc19
        9
    xiaoc19  
    OP
       2017-09-23 19:19:22 +08:00
    @oneoo 对 就是这个问题,尽管全程走 CDN,在 CDN 内部是明文的,所以不太放心
    vileer
        10
    vileer  
       2017-09-23 20:24:13 +08:00 via iPhone
    静态资源: http->CDN->http->资源子域名
    动态资源: https->CDN->https->原站
    xiaoc19
        11
    xiaoc19  
    OP
       2017-09-23 22:29:56 +08:00
    @vileer 你并没有回答我的问题哦
    flynaj
        12
    flynaj  
       2017-09-24 00:26:15 +08:00 via Android
    cdn 就是一个透明代理,不解开没法缓存,也不可能代理。
    liuminghao233
        13
    liuminghao233  
       2017-09-24 10:15:28 +08:00 via iPhone
    觉得不安全的话

    自己用 nginx 搭一个反向代理

    或者架个 vpn 内网 nginx 直接指过去
    lslqtz
        14
    lslqtz  
       2017-09-24 13:57:44 +08:00
    需要加密,除直接回源
    LanFomalhaut
        15
    LanFomalhaut  
       2017-09-24 21:23:27 +08:00
    WAF 当然要解开提取相关信息 丢规则那边匹配下 不然还怎么防 →_→
    binjjam
        16
    binjjam  
       2017-09-25 08:44:31 +08:00
    @gclove POST 请求不经过 CDN 怎么回源站呢大侠?部署了 CDN,用户自然不知道源站(理论情况下,找源站的方法是有),那用户的 POST 请求不经过 CDN 怎么回你源站呢
    gclove
        17
    gclove  
       2017-09-25 13:57:31 +08:00
    感谢 @binjjam 大神指点, POST 这个地方可能是我想错了

    @xiaoc19 一般来说 token 要关联到 ip, 浏览器, 设备等信息的

    其实大部分网站, CDN 只用来对 静态的资源做镜像

    API 和 网关 不做镜像的
    xiaoc19
        18
    xiaoc19  
    OP
       2017-09-25 18:48:59 +08:00
    @gclove 跟你回的 POST 那句一样,你回我这个依然是好落后又错误的答案
    gclove
        19
    gclove  
       2017-09-25 19:35:40 +08:00
    @xiaoc19 为什么 ?
    gclove
        20
    gclove  
       2017-09-25 19:36:05 +08:00
    @xiaoc19 落后在哪里
    gclove
        21
    gclove  
       2017-09-25 19:40:31 +08:00
    我的意思是 和 用户无关的东西才走 cdn, 需要用户授权的都直连服务器
    xiaoc19
        22
    xiaoc19  
    OP
       2017-09-26 15:04:51 +08:00 via iPhone
    @gclove 这句话也是错的,你可能还没完全了解 CDN 的作用吧,这个帖子别回了,结贴
    gclove
        23
    gclove  
       2017-09-26 18:18:52 +08:00
    好吧, 我是单纯想到,

    如果你可以不用 CDN 隐匿服务器 IP 的情况下, 可以让 获取资源 和 认证接口避开 CDN 服务。

    确实有这种问题不可避免。 我再去补补 SRP 的知识
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5682 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 08:52 · PVG 16:52 · LAX 00:52 · JFK 03:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.