在互联网海洋中隐藏你的源站 IP
本文将尽可能全方位为你讲解如何在互联网中隐藏你的源站 IP,理论来说按照此方法配置后无法使用常规方法获取到源站 IP。
建议使用此前与你要保护域名无关的 IP 地址以尽可能完全隐藏。
CDN 层
警告: 请 务必 选择 靠谱且信誉良好 的 CDN 服务商,选择无良 CDN 服务商可能会导致你的源站 IP 由其被泄露,甚至可能导致你网站访客的安全无法被保证。
请 务必 为你的网站安排好 CDN。CDN 不仅可以加快访客的访问速度,还可以隐藏你的源站 IP。大陆地区 CDN 请 务必 选择合法合规拥有增值电信业务许可证且许可证 有 内容分发网络业务的服务商。
大陆地区 CDN 服务商推荐:白山 / 腾讯云 / 阿里云 / 又拍云 / 上海云盾 等
国际 CDN:无脑推荐 CloudFlare
DNS 层
切勿 使用 任何 子域名直接解析到你的源站 IP,即使这个子域名只有你一个人知道。
另外,也请选择靠谱的 DNS 服务商;不知名小 DNS 服务商可能无法保证其可靠性与安全性。
如果不需要分地区、运营商等高级解析,可以直接托管到 CloudFlare DNS(使用 NS 接入 CloudFlare)。
服务端
如非必要,建议 仅 允许 CDN 回源节点 IP 访问源站的 WEB 端口。
部分默认的 Web 服务器配置不当也会导致源站 IP 泄露——它会使服务端首个配置的 SSL 证书被暴露在 IP 地址的 443 端口,例如:
宝塔面板解决方案
此方法理论来说是目前最有效的方法,但不排除以后被针对性查找等预料之外的情形。
请逐步进行,每个节并不是单独的解决方案而是一个步骤。
以你服务器的公网 IP 地址建站
进入宝塔面板,点击左侧菜单栏中的「网站」进入网站列表。
在右侧网站列表中,单击「添加站点」;在弹出窗口的「创建站点」Tab 下,「域名」一栏中输入你的服务器公网 IP 地址——一般地,它应该与你域名 A 记录解析地址、宝塔面板左上角地址相同;完成后,点击弹框右下角「提交」。
给你的 IP 地址签发一个 SSL 证书
打开 ZeroSSL 网站并 Log in。
在 这里 「Enter Domains」输入框中输入你的源站 IP 地址并选择「Next Step」。
有效期选择 90-Day Certificate 即可,如果你有钱买 1-Year Certificate 也不是不行对吧,然后「Next Step」。
CSR 这个让它自己生成就行了,直接「Next Step」。
后面这个也不用管 除非你想氪金,直接「Next Step」。
如果不出问题,你的订单应该已经提交成功并进入验证阶段。
验证阶段请选择「HTTP File Upload」并依照提示放置验证文件到指定位置,「Next Step」。
然后,单击「Verify Domains」。
如果没什么问题的话就会签发证书啦,接着你会被引导至安装页面。
在「Download Certificate」中选择你的 Web 服务,点击右侧「Download Certificate (.zip)」。
部署证书
在 宝塔面板 -> 网站 -> 站点修改 -> SSL -> 其他证书 中填入刚才签发的证书并确认。
NGINX 证书拼接方法:将 certificate.crt 中的内容置于前,ca_bundle.crt 中的内容置于后。
注意: 宝塔面板证书配置左侧需填写内容为 private.key(私钥文件),右侧才为证书文件,不要搞反了。
部署完成后访问 HTTPS://IP 应该会有「连接安全」、「证书有效」之类的提示并且会有一个小锁图标(新版 Chrome 为类似于向下箭头符号的图标)。
修改配置
一般地,我们认为 IP 地址不应被任何人直接访问;所以这一节将会教你如何禁止任何直接的访问。
本节以 NGINX 为例进行演示。
首先,进入 宝塔面板 -> 网站 -> 站点修改 -> 配置文件。
在 server{}
中,任意位置(建议直接插到 SSL-START 上方),插入 return 444;
并保存。
444 No Response Used internally to instruct the server to return no information to the client and close the connection immediately.
此时,无论是以 HTTP 还是 HTTPS 访问 IP 地址都应该返回这个错误:ERR_EMPTY_RESPONSE,如果如此则证明配置正常。
本文来源:LCZBlog
暂无评论内容