域名不买服务器只挂证书?这份避坑指南能省你几万块
改个需求建站公司拖一周,这种憋屈事谁没干过?你以为买了域名万事大吉,结果发现光有个“门牌号”(域名),没“房子”(服务器/网站程序)根本打不开,甚至因为配置不当,还没开业就被黑客盯上。很多创业团队负责人以为“域名不做网站”就是闲置,其实这恰恰是安全盲区。今天这篇避坑指南,专门拆解当你的域名处于“裸奔”或“仅解析未建站”状态时,如何低成本防住攻击,顺便聊聊证书年审和材料清单,全是实战里踩出来的坑。
威胁场景:裸奔域名的隐形杀手
很多人有个误区:域名只要不指向我的服务器,黑客就找不到我。大错特错。只要域名在 DNS 上有解析记录,或者域名本身被恶意注册者利用,风险就存在。
场景一:域名解析指向公共 IP 或已废弃 IP 你注册了域名,解析到了阿里云或腾讯云的一个通用入口,但网站程序还没部署,或者解析到了一个已经释放的旧服务器 IP。黑客扫描到该 IP 开放了 80/443 端口,就会尝试爆破或注入。虽然你的业务没上线,但服务器可能还挂着其他测试项目,或者被植入 Webshell,变成肉鸡去攻击别人。
场景二:域名未备案但解析至国内节点 根据中国互联网络信息中心(CNNIC)及工信部规定,国内服务器必须 ICP 备案。如果你域名解析到国内 IP 却没备案,访问会被拦截,显示“该域名未备案”。但黑客不会走正常浏览器访问,他们通过脚本扫描,发现未备案域名对应的 IP 往往安全等级较低,因为管理员认为“反正打不开,没人管”,从而放松了对服务器本身的防护。
场景三:DNS 劫持与子域名接管
这是最隐蔽的。如果你域名下有 www 或 api 子域解析到 GitHub Pages、Heroku 或已删除的云服务子域,而主域没做网站,黑客可以通过接管那个云服务账号,把子域指向恶意页面。用户输入 api.yourdomain.com,看到的却是钓鱼页。因为主域没网站,大家往往忽略子域的管理,导致“域名不做网站”反而成了“域名做钓鱼”的工具。
场景四:证书泄露导致的信任危机 有些老板买了 SSL 证书,域名没建站,但把证书私钥放在了共享文件夹或旧服务器上。黑客拿到私钥,可以伪造你的网站进行中间人攻击。虽然你没网站,但证书代表身份,身份被盗,信誉尽失。
漏洞原理:为什么“空域名”也危险?
要懂防护,得先懂漏洞怎么来的。核心在于攻击面暴露和信任链断裂。
1. 端口暴露与默认配置
服务器部署后,默认开启 SSH(22)、HTTP(80)、HTTPS(443)。如果域名没建站,通常意味着 Nginx/Apache 配置了默认的 default_server 或 catch-all 规则。黑客扫描时,只要 IP 开放端口,就会发起请求。如果服务器返回 200 OK(即使是默认欢迎页),黑客就会标记该 IP 为“活跃目标”,后续发起暴力破解或漏洞利用。
2. 未验证的子域信任传递
现代 Web 架构中,主域与子域在 DNS 层面是信任传递的。如果 mail.yourdomain.com 指向了某个邮件服务,而该服务因域名过期被黑客接管,黑客可以在该子域上设置反向代理,窃取通过该子域传输的流量。因为主域没网站,安全监控往往只盯着主域,忽略了子域的异常流量。
3. 证书吊销列表(CRL)/ OCSP 响应滞后 SSL 证书即使被泄露,也有一个吊销过程。如果域名没建站,你更不可能定期监控证书状态。一旦私钥泄露,黑客可以立即使用。OCSP(在线证书状态协议)查询如果配置不当或响应慢,用户浏览器可能忽略吊销状态,继续信任伪造连接。
4. 备案信息中的漏洞 ICP 备案信息包含负责人手机号、邮箱。如果域名未建站,你可能长期不登录管理后台,导致备案信息过期或未及时更新。黑客通过社工手段获取备案信息,可以冒充负责人进行恶意操作,甚至申请域名转移。
防护方案:低成本高回报的配置实战
针对“域名不做网站”的状态,我们的防护核心是:最小化暴露、强认证、持续监控。以下是具体配置代码和步骤。
1. DNS 层面:清理无用解析,启用 DNSSEC
错误做法:保留所有子域解析,包括指向已废弃服务的记录。 正确做法:只保留必要的 A/AAAA 记录,启用 DNSSEC 防止 DNS 劫持。
代码示例:Nginx 配置(防止默认页泄露)
# /etc/nginx/conf.d/default.conf# 监听所有未指定 server_name 的请求,直接返回 444 或 301 到备案拦截页
server {listen 80 default_server;listen [::]:80 default_server;server_name _;# 关键:不返回任何内容,直接关闭连接,避免被扫描识别为有效服务return 444;# 或者重定向到备案提示页# return 301 https://www.gov.cn/notice;
}# 如果有特定子域需要解析,单独配置
server {listen 443 ssl http2;server_name api.yourdomain.com;ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;# 强制 HSTS,即使没网站也声明信任add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;# 返回最小化响应,避免信息泄露location / {return 200 '{"status":"ok"}';add_header Content-Type application/json;}
}
解析建议:
- 删除所有指向已删除云服务、GitHub Pages 等的 CNAME 记录。
- 如果域名完全不用,将 A 记录指向
127.0.0.1或0.0.0.0(如果服务商允许),这样外部无法建立 TCP 连接。 - 启用 DNSSEC,大多数国内服务商(如阿里云、腾讯云)都支持免费开启。
2. 服务器层面:防火墙与 SSH 加固
即使域名没建站,服务器如果还挂着其他项目,必须加固。
代码示例:SSH 配置加固(/etc/ssh/sshd_config)
# 禁止 root 登录
PermitRootLogin no# 仅允许特定用户登录
AllowUsers deploy# 禁用密码认证,仅使用密钥
PasswordAuthentication no
PubkeyAuthentication yes# 修改默认端口(可选,增加一层防护)
Port 2222# 限制登录尝试次数
MaxAuthTries 3
防火墙配置(UFW):
# 仅允许 SSH 和 HTTPS,其他全部拒绝
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp
sudo ufw allow 443/tcp
sudo ufw enable
3. 证书管理:Let's Encrypt 自动化与监控
对于没建站的域名,使用 Let's Encrypt 免费证书是最佳选择。但要注意有效期和自动续签。
代码示例:Certbot 自动续签脚本
# /etc/cron.d/letsencrypt-renew
# 每天凌晨 3 点检查证书续签
0 3 * * * root certbot renew --quiet --post-hook "systemctl reload nginx"
监控建议:
- 使用 UptimeRobot 或 Pingdom 监控域名状态。
- 配置邮件告警,当证书剩余有效期小于 30 天时发送通知。
- 定期使用
openssl s_client -connect yourdomain.com:443检查证书链完整性。
检测与修复:如何发现你已经被盯上?
1. 检查访问日志
即使没网站,Nginx/Apache 也会记录访问日志。
命令示例:分析异常请求
# 查找高频 IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -20# 查找扫描特征(如 /wp-login.php, /.env, /admin)
grep -E "/wp-login|\.env|/admin" /var/log/nginx/access.log | tail -50
如果看到大量非人类 IP 在短时间访问这些路径,说明你已被扫描。立即在防火墙封禁该 IP。
2. 子域名接管检测
使用 subfinder 或 amass 工具枚举所有子域,检查每个子域的 CNAME 指向是否仍然有效。
命令示例:枚举子域
# 使用 subfinder 枚举
subfinder -d yourdomain.com -all -o subs.txt# 检查每个子域的解析
for sub in $(cat subs.txt); doecho "Checking $sub..."dig +short $sub CNAME
done
如果发现子域指向 *.herokuapp.com 或 *.github.io 且这些服务已删除,立即在 DNS 中修改解析指向自己的服务器或 127.0.0.1,并在云服务控制台重新验证所有权。
3. 备案信息审计
登录 ICP 备案管理系统,检查备案信息是否最新。如果负责人更换,及时更新。确保备案号悬挂在页脚(如果将来建站),并定期检查备案状态是否正常。
安全加固清单:创业团队必看的年度检查项
最后,给各位负责人一份实操清单,每年至少执行一次,避免“域名不做网站”变成“域名惹麻烦”。
1. 证书有效期与年审
- 检查项:所有 SSL 证书是否在有效期内?Let's Encrypt 证书是否自动续签成功?
- 操作:登录证书管理平台,查看到期时间。设置日历提醒,提前 30 天续签。
- 细节:如果使用了通配符证书,确保覆盖所有子域。如果域名结构变化(如新增
app.yourdomain.com),确保证书 SAN(Subject Alternative Name)包含新子域。
2. 报名材料清单(ICP 备案) 虽然域名没建站,但备案信息是合规底线。
- 主体资料:营业执照副本扫描件(确保在有效期内)、法人身份证正反面。
- 负责人资料:负责人身份证正反面、手机号码(需实名验证,且能接电话)、邮箱。
- 域名资料:域名证书(从域名注册商下载)、域名实名认证信息。
- 注意事项:
- 备案手机号必须是实名且能接通的,工信部会电话回访。
- 如果公司搬迁,需先变更备案主体信息,再提交新备案。
- 保留好备案受理号,以便查询进度。
3. DNS 记录清理
- 操作:每季度登录 DNS 控制台,删除所有未使用的子域记录。
- 细节:特别是
@、www、mail、api、dev等常见子域。如果不用,直接删除或指向127.0.0.1。
4. 服务器安全基线
- 操作:检查 SSH 是否允许 root 登录?是否仅使用密钥认证?
- 细节:使用
lynis audit system进行自动化安全审计,查看报告并修复高危项。
5. 监控与告警
- 操作:配置 DNS 监控(如 Cloudflare Radar 或自建 DNS 监控脚本),当 DNS 记录被意外修改时立即告警。
- 细节:DNS 记录修改是域名劫持的前兆,必须实时感知。
6. 应急响应预案
- 操作:如果域名被恶意解析或证书被滥用,立即联系域名注册商锁定域名,修改 DNS 解析,吊销并重新申请证书。
- 细节:保存好域名注册商的紧急联系方式和客服流程。
建站不仅是写代码,更是持续的安全运营。即使域名暂时不做网站,也要把它当作一个需要维护的资产。别等出了事才后悔,预防永远比修复便宜。
还有什么建站疑问?评论区留言挨个回


