使用 CDN 后如何保护源站 IP 不泄露

实用教程 admin 来源:原文链接 2年前 (2023-02-10) 1182次浏览 0个评论

使用 CDN,一般都是出于加速和安全防护的目的,但是经常一些有意无意的配置导致源站 IP 暴露,致使 CDN 防护失效,本文将探讨如何更好地保护源站 IP 安全。

分析

背景

开始之前,先介绍一个网站:Censys – Security starts with visibility ,这个网站通过不间断地扫描来记录 IP 等信息,因此在这里可以找到与你网站相关的很多东西(且不限于此),比如:

这也就意外着,只要有心套几层 CDN 都防不住,而且能实现这个功能的网站或工具不限于 Censys 一家。因此我们就要想办法尽量减少各个信息链的关联。

原理

Nginx 服务器本身工作原理,当未设置默认网站(default_server)时,通过 IP 可直接访问建立的第一个网站,而当你在 IP 前加上 https 访问时,Nginx 会自动返回该网站的 https 证书,从而暴露相关域名信息。

实例

以百度为例,ping 一下 baidu.com,比如我这里分配到的 IP 是 220.181.38.148,于是我们访问 https://220.181.38.148,可以看到:

已经把该 IP 下的默认站点 www.baidu.cn 暴露了,虽然证书是可以随意配置的,但至少我们可以确定该 IP 曾经关联过 www.baidu.cn 域名,再去 Censys 搜一下 baidu.cn

可以看到刚查到 IP 220.181.38.148,以及其他很多关联 IP,这其中很有可能某一个就是真正的源站 IP。

结论

通过上述分析,我们知道只需要扫描全球所有 IP 段的所有 IP 的 443 端口就很有可能知道某个网站的源站 IP(直接扫描 0.0.0.0/0 即可)。

在讲如何防止源站 IP 泄露之前,如果你在 Censys 已经能查到源站 IP,请换掉你的源站 IP,或者直接重新开 VPS 搬家(比如 Vultr 17 元/月日本 VPS 、CloudCone 12 元/月美国 CN2 VPS华为云 199 元/年国内学生机等),换掉 IP 之后千万千万别那么着急傻乎乎的解析到自己源站 IP 上,到时候会有查解析记录的平台照样查得出。

方法

IP 限制

最暴力的方法,你用的啥 CDN,就利用防火墙只允许 CDN 的回源 IP 访问自己的 VPS,参考之前的文章《使用 CDN(CloudFlare|腾讯云|加速乐等)情况下如何获取访客真实 IP 》。

IP 证书

这是最方便快捷的方法,就是新建一个默认的站点(default_server),证书使用 IP 证书,这样通过扫描 443 来判断源站的方法就无法获知你的域名,签发可信任 IP 证书,可以参考之前的文章《获取免费的泛域名证书|IP 证书|多域名证书|单域名证书》。

默认站点的意思就是说不通过域名直接访问 IP,要显示的是哪个网站内容。

回源限制

你根本不需要在源站放一个证书,你只要 CDN 设置为 http 回源,CDN 使用 https 就行了,不要用协议跟随。

比如在 CloudFlare上把 SSL 设为 full即可(参考《如何正确启用 CloudFlare SSL》) ,记得一点就是不要把自己的网站设为默认网站。

PS:其实本站就是个宝藏有木有,相关的都有提过,就看你怎么串在一起用起来。

邮局保护

不要在服务器上直接使用邮件服务,包括使用托管邮局和本地直接发信,因为收信用户都可以在邮件头信息中直接查看来源 IP,确有需要尽量使用代理服务器或者邮局 web 端来发信。

当然了,防护措施不仅仅上面提到的这些,大家可以根据自己的需求选择。


参考文章:

1、《防止源站IP泄露


原文:https://vircloud.net/exp/hide-server-ip.html


VPS小白 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用 CDN 后如何保护源站 IP 不泄露
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址