七牛融合 CDN 自定义源站泄漏源站 IP

2017-09-18 22:30:38 +08:00
 isCyan

因为七牛从来不重视我们这种个人客户,必须搞个小新闻,放到 V2 上来,提高一下执行效率。

工单全文:

回源七牛存储的话,泄漏的就是七牛存储节点的 IP,这个我不管。

但是自定义源站的话,泄漏的是我的服务器 IP。

问题存在范围:

七牛融合 CDN 包括自定义源站和七牛存储空间源站的可被缓存的静态内容。

泄漏方式:

直白泄漏,毫无遮掩。X-M-Source-Addrs Header

我的确是手工指定 ip 解析到了一个阿里云 CDN 的节点,但是也不用证明是七牛 CDN 上的吧。

七牛工程师们看到 X-M-Reqid,X-Qnm-Cache 这些 Header 不敢否认吧。

详细说明:

七牛融合 CDN 不是七牛自建 CDN,它代理了阿里云,网宿,腾讯云,又拍云,白山云,等等各种 CDN 提供商。

七牛融合 CDN 包括自定义源站和七牛存储空间源站的域名的第一级源站(配置给各个 CDN 提供商的直接源站)并不是实际源站(七牛各个存储区域,或者自定义源站 IP /域名),而是一个 nb-gate-io-msrc.qiniu.com ,最开始是位于浙江宁波和杭州的一组电信服务器,现在已经扩展到天津和广东了,并且添加了联通和移动服务器。

也就是说,除了 CDN 节点之外,源站还要再被 msrc 多反代一次。根据 Header 这个 msrc 还带有缓存,并且添加一系列以 X-M- 和 X-Qnm- 开头的 Header。

这些 msrc 服务器我猜七牛是在 CDN 节点之间做个中间源,拿来分摊服务器压力的。同时实现自定义源站(非七牛存储空间)的实时图片处理功能。

而就是这些 msrc 在 Header 里面把源站 ip 输出了…… 可能是方便 Debug 吧, 但是安全风险太高了。本来 CDN 的功能之一就是隐藏 IP。

建议:

  1. 自定义源站(非七牛存储空间)不输出 X-M-Source-Addrs Header,把相关源站 IP 信息放到日志里面,可以根据 Request ID 之类的查询日志,满足 Debug 需求

  2. 后台添加选项,自定义源站(非七牛存储空间)可以选择不经过 msrc 多一层反代源站,并关闭实时图片处理功能。

希望尽快解决。以上七牛 CDN 设计纯属臆想,如果和实际不符,以实际为准。

4777 次点击
所在节点    全球工单系统
4 条回复
defunct9
2017-09-18 23:38:16 +08:00
不改
huangtao728
2017-09-19 00:00:51 +08:00
支持一下,七牛小毛病太多
geekzu
2017-09-19 13:51:28 +08:00
中间源的存在可能是简化用户修改源站 ip 和缓存规则流程(感觉他们是手动去供应商改的)
niuer
2017-09-19 16:12:19 +08:00
尊敬的 @isCyan 您好,感谢您对七牛的平台服务指出问题和建议。

您在帖子中说明的 X-M-Source-Addrs Header 会暴露源站 ip 问题,的确当时是为了满足部分 debug 需求,收到了您的建议我们的技术人员已及时修复了该问题。之后有任何问题欢迎联系我们 support@qiniu.com 或者提交工单,我们会第一时间反馈你。

在七牛成长道路上,感谢您对七牛的督促及建议。

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

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

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

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

© 2021 V2EX