前言
云服务器,优惠购买地址:https://www.rainyun.com/MzgyMDA3_
![图片[1]-防止 SSL 证书泄露源站 IP-hyun's blog](https://blog.hyun.cc/wp-content/uploads/2024/08/image-3-1024x512.png)
快速自测
![图片[2]-防止 SSL 证书泄露源站 IP-hyun's blog](https://blog.hyun.cc/wp-content/uploads/2024/08/QQ_1722848741926-1024x619.png)
而如果查询结果中出现了你的源站 IP,并且你已经套了 CDN,这说明你的源站 IP 已泄露。
莫要慌,原因通常是这样的:
用 Nginx 部署网站后,如果未设置默认网站,直接访问 IP 的 443 端口,即 IP:443 ,Nginx 默认会返回 “首次创建的那个站点” 的 SSL 证书。浏览器这边会提示 “该安全证书来自 xxx.com”,间接地也就暴露了你这个 IP 对应的域名。
就像下图这样:
![图片[3]-防止 SSL 证书泄露源站 IP-hyun's blog](https://blog.hyun.cc/wp-content/uploads/2024/08/image-1024x756.png)
开始
1. 用假域名创建一个网站
这里假设用 hyun.cc (实际情况你可以随便填写一个) 作为假域名,填入并保存:
![图片[4]-防止 SSL 证书泄露源站 IP-hyun's blog](https://blog.hyun.cc/wp-content/uploads/2024/08/QQ_1722848878583-1024x834.png)
2. 给网站绑定一个ssl证书
这个证书一定要填写假证书,不能是你的真证书,不然你白忙活,可以自己签一个假证书,如果不会签下面我会提供一个,直接用我提供的证书即可!
将证书和密钥填入并保存,再开启强制 HTTPS 。
![图片[5]-防止 SSL 证书泄露源站 IP-hyun's blog](https://blog.hyun.cc/wp-content/uploads/2024/08/QQ_1722849695613-1024x915.png)
证书
私钥
3. 设置默认站点
看图:
![图片[6]-防止 SSL 证书泄露源站 IP-hyun's blog](https://blog.hyun.cc/wp-content/uploads/2024/08/QQ_1722849906106-1024x477.png)
4. 验证效果
创建一个无痕标签页,再次通过 https 访问你的 IP。如果刚刚一切配置正确,此时应当不再显示你的域名。
![图片[7]-防止 SSL 证书泄露源站 IP-hyun's blog](https://blog.hyun.cc/wp-content/uploads/2024/08/image-1-1024x551.png)
这时候点击浏览器地址栏左侧的 “不安全” 提示,还可以看到刚刚那个自签名证书的信息~
![图片[8]-防止 SSL 证书泄露源站 IP-hyun's blog](https://blog.hyun.cc/wp-content/uploads/2024/08/image-2.png)
好啦,至此,你已经成功隐藏了你的源站 IP 。
但由于那个 Censys Search 仍会保留查询历史结果,建议你立即找主机商更换一个新的 IP,或者向 Censys Search 要求删除搜索结果。
5. 更高级的手段 (可选)
如果有特别高的安全需求,还可以设置服务器 iptables:只允许 CDN 服务商的 IP 段访问自己的服务器。
当然了,一般没必要。
其它安全措施
不要自建邮局
比如宝塔邮局这种,在自己的服务器发信可能会泄露源站 IP,建议使用阿里/腾讯等提供的企业邮箱服务。
禁用 xmlrpc 和 REST API
一般人用不上,还有被攻击者利用的风险。 (针对 WordPress 站长)
编辑你主题的 functions.php 文件,在底部插入以下代码:
// 禁用 xmlrpc.php
add_filter( 'xmlrpc_enabled', '__return_false' );
// 禁用 REST API
add_filter('rest_authentication_errors', 'disable_rest_api_except_admins');
function disable_rest_api_except_admins($access) {
if (!current_user_can('manage_options')) {
return new WP_Error('rest_disabled', __('REST API IS DISABLED'), array('status' => 403));
}
return $access;
最后
全文完~ 这些安全措施都比较基础,只能防御部分攻击手段。另外还有一点:不泄漏真实 IP 不等于不会被 DDoS 或者 CC 攻击。
网络安全学无止境,文中如有错漏不妥,欢迎各位大佬批评指正 (,,ԾㅂԾ,,)
云服务器,优惠购买地址:https://www.rainyun.com/MzgyMDA3_
