引言
在互联网的世界里,即使是小型网站也需关注安全防护。作为一名新手站长,我在最近遭遇了DDoS攻击后,开始深入学习网络安全知识,意外发现SSL证书可能泄露源站IP的风险。为此,我整理了以下内容,旨在提醒同行注意这一潜在威胁,并分享相应的预防措施。如有不足之处,敬请指正。
快速检测:你的源站IP是否已泄露?
推荐使用Censys Search这一在线工具进行快速自测。只需输入你的域名,即可查看源站IP是否已被暴露。
访问链接:Censys Search
若结果显示“无结果”(如图所示),则说明你的源站IP尚未泄露。
然而,如果查询结果中出现了你的源站IP,且你已经使用了CDN,那么很不幸,你的源站IP已经泄露。这通常是由于Nginx部署时未设置默认网站,导致直接访问IP的443端口时,Nginx默认返回首个创建站点的SSL证书,从而间接暴露了IP对应的域名。
解决方案:创建默认站点,隐藏源站IP
以下是详细的步骤指南:
1、创建假域名网站
以 default.site
作为假域名,进行网站创建并保存。
2、自签SSL证书并绑定
利用在线工具(如:toolhelper.cn)为假域名生成自签名SSL证书,并在宝塔等管理面板中填写证书和密钥,开启强制HTTPS。
3、设置默认站点
按照下图所示进行默认站点的设置。
4、验证效果
通过无痕标签页访问你的IP,若配置正确,将不再显示你的域名,且可查看自签名证书信息。
至此,你已成功隐藏源站IP。但为保险起见,建议更换新IP或要求Censys Search删除历史查询结果。
高级防护:可选的进一步措施
对于有更高安全需求的用户,可设置服务器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攻击。若遭遇此类攻击,建议暂时解析到Cloudflare等平台进行缓解,并制定进一步对策。网络安全之路漫长且充满挑战,期待与各位同行共同进步,共同守护我们的网络空间。