前言
虽然咱这种小破站没有什么攻击的价值,不过嘛,最好是稍微防一防 ( ̄ ‘i  ̄;)
本新手站长因近期不幸遭到 dd,被迫去学习了一点点网络安全知识,刚刚才了解到 SSL 证书还有泄露源站 IP 的风险!故整理本文,希望能提醒到其他新手站长!如有错漏,欢迎批评指正~
快速自测
话不多说,先试试这个在线工具 Censys Search,看看你的源站 IP 有没有泄露:
输入你的域名进行测试:https://search.censys.io/
如果查询结果没有出现你的源站 IP(如下图),那可以跳过本节了。
而如果查询结果中出现了你的源站 IP,并且你已经套了 CDN,这说明你的源站 IP 已泄露。
莫要慌,原因通常是这样的:
用 Nginx 部署网站后,如果未设置默认网站,直接访问 IP 的 443
端口,即 IP:443
,Nginx 默认会返回 “首次创建的那个站点” 的 SSL 证书。浏览器这边会提示 “该安全证书来自 xxx.com”,间接地也就暴露了你这个 IP 对应的域名。
就像下图这样:
解决办法也很简单:创建一个默认站点,设置一个假域名,再自签一个 SSL 证书。
如果你是宝塔或 aaPanel 用户,就更简单了。
开始
1. 用假域名创建一个网站
这里假设用 block.page
作为假域名,填入并保存:
2. 自签一个 SSL 证书并绑定
然后呢,咱们随便找一个能自制 SSL 证书的网站,比如 https://www.toolhelper.cn/SSL/SSLGenerate ,给你刚刚的那个假域名 “颁发” 一个证书~
回到宝塔,将证书和密钥填入并保存,再开启强制 HTTPS 。
3. 设置默认站点
看图:
4. 验证效果
创建一个无痕标签页,再次通过 https 访问你的 IP。如果刚刚一切配置正确,此时应当不再显示你的域名。
这时候点击浏览器地址栏左侧的 “不安全” 提示,还可以看到刚刚那个自签名证书的信息~
好啦,至此,你已经成功隐藏了你的源站 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 攻击。
如果不幸遭到 DDoS ,建议立即全部解析到 Cloudflare ,先开五秒盾缓解一下,再准备进一步的对策。
网络安全学无止境,文中如有错漏不妥,欢迎各位大佬批评指正 (,,ԾㅂԾ,,)