域名劫持防范:守住这个最关键的资产
域名是所有服务的入口。它一旦被转移走,你的网站、邮箱、证书全都失控——而且找回极其麻烦。
一、域名怎么会被偷
| 途径 | 说明 |
|---|---|
| 注册商账号被盗 | 最常见。弱密码、密码复用、钓鱼 |
| 邮箱被攻破 | 攻击者通过邮箱重置密码 |
| 社工攻击 | 冒充你联系注册商客服要求转移 |
| DNS 账号被改 | 不改所有权,但把解析指向恶意服务器 |
| 内部泄露 | 注册商自身出问题(少见但有过) |
注意第 4 条:域名没被转移,但 DNS 被改了,效果一样致命。很多人只保护注册商账号,忽略了 DNS 账号。
二、第一道防线:注册商账号
必做的四件事:
1. 强密码(16 位以上,密码管理器生成)
2. 开启双因素认证(2FA)
3. 开启注册商账号的登录提醒
4. 联系邮箱用独立的高安全性邮箱2FA 的选择
| 方式 | 安全度 | 说明 |
|---|---|---|
| TOTP(Authenticator) | 高 | 推荐 |
| 硬件密钥(YubiKey) | 最高 | 防钓鱼 |
| 短信 | 中 | 易被 SIM 卡劫持,尽量不用 |
| 邮箱验证码 | 低 | 邮箱本身可能就是弱点 |
短信 2FA 的主要风险是 SIM swap:攻击者冒充你补办 SIM 卡,就能收到所有验证码。重要账号优先用 TOTP 或硬件密钥。
三、域名层面的锁
| 锁 | 作用 | 在哪开 |
|---|---|---|
| Transfer Lock | 禁止转移注册商 | 注册商后台 |
| Registrar Lock | 更严格的锁,需人工解锁 | 部分注册商 |
| Domain Lock | 禁止修改关键信息 | 注册商后台 |
# 检查状态
whois www.bzii.cn | grep -i status
# clientTransferProhibited ← 转移锁,正常应该有
# clientUpdateProhibited ← 更新锁
# clientDeleteProhibited ← 删除锁Cloudflare Registrar 默认开启所有锁,且转移需要额外确认。
四、保护 DNS 账号
如果 DNS 在 Cloudflare(常见情况):
- 单独设置强密码 + 2FA,不要和注册商账号用同一套;
- API Token 按用途分开,权限最小化;
- 开启「账号活动」通知;
- 定期检查有哪些 API Token 在用,删掉不用的。
# 列出当前所有 API Token,定期清理
# Cloudflare → My Profile → API Tokens五、邮箱是关键弱点
注册邮箱往往是整条链里最弱的一环——因为「找回密码」都发到那里。
建议:
1. 用一个专门的邮箱管理域名(不要用日常邮箱)
2. 这个邮箱本身开启 2FA
3. 密码强度最高
4. 不用于任何其他注册六、WHOIS 隐私
开启隐私保护,减少社工攻击的素材(攻击者知道你的姓名、电话后更容易冒充你)。详见「WHOIS 与隐私保护」。
七、监控
越早发现越好。可以监控:
1. 解析是否被改
#!/usr/bin/env bash
# 定期检查 A 记录是否为预期值
EXPECTED="1.2.3.4"
ACTUAL=$(dig +short www.bzii.cn A | head -1)
if [ "$ACTUAL" != "$EXPECTED" ]; then
echo "[$(date)] 警告:DNS 被改为 $ACTUAL" >> /var/log/dns-monitor.log
# 发告警
fi2. NS 是否被改
dig +short www.bzii.cn NS
# 定期检查,出现陌生的 NS 立刻警觉3. 证书透明日志
任何人给你域名申请证书都会进 CT 日志。用 crt.sh 订阅监控:
curl -s "https://crt.sh/?q=%.www.bzii.cn&output=json" | jq -r ".[].common_name" | sort -u出现你不认识的证书,说明有人在冒用你的域名。
4. WHOIS 变更提醒
部分注册商提供 WHOIS 监控服务,变更时发邮件。
八、被盗后怎么办
时间非常关键:
- 立刻联系注册商,说明被未经授权转移,请求冻结;
- 如果已被转移走,联系新的注册商(whois 能看到是哪家);
- 提供所有权证据:注册时间、历史付款记录、原始注册信息;
- 向 ICANN 投诉(如果注册商不作为);
- 同时:更换所有相关密码、通知用户、检查 DNS 是否被改。
# 保全证据
whois www.bzii.cn > whois-$(date +%F).txt
dig +short www.bzii.cn NS
curl -s "https://crt.sh/?q=%.www.bzii.cn&output=json" > ct-$(date +%F).json现实是:域名一旦被转移到境外小注册商,找回可能要几个月。预防远比补救有效。
九、一份安全清单
- 注册商账号:强密码 + TOTP/硬件密钥 2FA
- 注册邮箱:独立、高强度、有 2FA
- 域名转移锁已开启(检查 WHOIS status)
- DNS 账号:独立密码 + 2FA
- API Token 权限最小化,定期清理
- WHOIS 隐私已开启
- 有 DNS 变更监控
- 订阅了证书透明日志告警
- 自动续费已开启(防止过期被抢注)
十、还有个容易忽略的:过期
域名过期被别人抢注,效果等同于被盗。防御方式:
1. 开启自动续费
2. 绑定长期有效的支付方式
3. 日历提醒(到期前 30 天)
4. 一次续多年(长期持有的域名)域名安全的核心:账号安全 + 转移锁 + 监控。 前两道是防,第三道是早发现。
