
干安全和运维这么多年半夜被电话叫醒说“咱们官网打不开了”或者“客户说咱们网站跳转到博彩网站了”这种心跳骤停的感觉太熟悉了。很多兄弟一听到DNS劫持第一反应是赶紧登录域名控制台把解析改回来或者换个DNS服务商。停打住这么干大概率会给自己挖大坑甚至把攻击者留下的唯一线索给抹了。今天咱们不扯虚的直接从一线实战视角把DNS劫持和域名安全事件的应急处置扒个底朝天。开篇立规矩处置DNS劫持的“四不要”与总原则接到域名解析异常或劫持告警先在心里默念这四条铁律严禁执行以下操作不要没确认劫持层面就乱改DNS配置你以为是解析被改了跑去控制台改A记录结果发现是本地运营商缓存问题改配置不仅没用还可能引发二次故障。不要在没取证前就换解析服务商直接把域名切到别的DNS原来的操作日志和解析记录全丢了事后拿什么溯源不要忽略本地缓存因素用户端或运营商DNS缓存没刷新你服务端改出花来用户那边照样报错这锅不能瞎背。不要只恢复不溯源解析改回来了就完事了攻击者是怎么进来的账号密码是不是还漏着不查根因明天他还能把你劫回去。处置总原则刻在脑子里“先确认劫持层面再恢复解析先保护域名账号再排查根因。”正确开局第一件事是确认劫持发生在哪一层别一上来就急着敲命令先搞清楚现在的局面。第一步多地点对比解析结果。找几个不同地域、不同运营商的朋友或者用在线拨测工具看看是不是所有人都访问异常。第二步按四层往下收敛。域名注册层域名还在不在咱们自己名下有没有被转移DNS解析层权威DNS服务器上的记录对不对本地/运营商缓存层是不是本地DNS缓存没刷新应用层解析对了但网站内容被篡改了或者HTTP被中间设备劫持了第三步明确区分三类情况决定响应级别。域名被接管高危域名注册商变了或者NS记录被改到了别人的DNS。这是最严重的直接走域名找回流程。解析被篡改中高危域名还在NS记录没变但具体的A/CNAME记录被改了。改回正确记录排查账号安全。链路劫持中危解析完全正确但访问时HTTP被注入广告或跳转。必须上HTTPS。排查主链路可复制的命令与操作排查必须形成证据链。以下是标准动作命令可直接复制。1. 多地解析命令对比解析结果操作使用dig或nslookup指定不同的公共DNS进行查询。# 查阿里云DNS (223.5.5.5)dig223.5.5.5 www.yourdomain.com A short# 查腾讯云DNS (119.29.29.29)dig119.29.29.29 www.yourdomain.com A short# 查Google DNS (8.8.8.8)dig8.8.8.8 www.yourdomain.com A short现象与问题如果不同DNS返回的IP不一样说明存在缓存不一致或权威DNS被篡改如果都返回了奇怪的IP说明权威解析被改了。2. 查看当前解析记录是否被改操作登录域名解析服务商控制台查看当前生效的解析列表。现象与问题发现原本指向公司服务器的A记录被改成了一个陌生的境外IP。实锤解析被篡改。3. 查域名注册信息操作使用whois命令查询域名状态。whois yourdomain.com现象与问题看Registrar注册商有没有变看Expiration Date到期时间是不是快到了看Status有没有clientTransferProhibited转移锁。如果注册商变了说明域名被转移了。4. 查解析服务商登录日志操作在DNS控制台找“操作日志”或“登录日志”。现象与问题发现凌晨3点有个陌生IP登录了控制台并删除了原有解析添加了恶意解析。这是内部账号泄露的铁证。5. 查域名是否被转移操作对比whois结果中的Name ServerNS记录。whois yourdomain.com|grepName Server现象与问题如果NS记录变成了ns1.attacker-dns.com说明整个域名的解析权被接管了。[生产环境风险这时候改A记录没用了必须找回域名控制权]6. 查证书签发记录操作去 crt.sh 查询该域名近期的SSL证书签发记录。现象与问题发现攻击者用你的域名申请了免费证书。说明攻击者不仅劫持了解析还试图做中间人攻击或钓鱼。7. 查网站内容是否被挂马或跳转操作用curl看响应头和正文。curl-Ihttps://www.yourdomain.comcurl-shttps://www.yourdomain.com|grep-iscript现象与问题如果返回302跳转到博彩网站或者页面里多了一堆隐藏的script标签说明是应用层被挂马或HTTP被劫持。8. 查本地/运营商缓存因素操作清理本地缓存或换DNS测试。# Windows 清本地缓存ipconfig /flushdns# Linux 清 systemd-resolved 缓存sudoresolvectl flush-caches现象与问题清完缓存后解析恢复正常。说明只是本地或运营商DNS缓存了旧的错误记录等TTL过期或手动刷新即可服务端无需改动。高频现场逐个拆遇到具体场景对号入座1. 域名被转移注册商账号被攻破/邮箱被接管现象whois显示域名注册商变了或者NS记录全变了。命令whois yourdomain.com处理[生产环境风险最高危] 立即联系原注册商客服提交企业资质、域名所有权证明走域名申诉找回流程。同时立刻修改域名注册邮箱的密码和MFA。2. 解析记录被篡改A记录指向攻击服务器现象控制台里A记录的IP被改了。命令登录控制台核对记录。处理立刻改回正确IP排查控制台操作日志修改DNS控制台密码开启MFA。3. NS记录被改整个域名解析被接管现象whois查出来的NS记录不是你们用的DNS服务商了。命令whois yourdomain.com | grep Name Server处理在域名注册商控制台把NS记录改回正确的DNS服务商地址。注意NS记录修改生效极慢可能需要24-48小时。4. 子域名被接管未使用的子域名/悬空解析现象主域名没事但某个废弃的子域名如test.yourdomain.com被解析到了别人的服务器。命令dig test.yourdomain.com A处理这种通常是CNAME指向了已释放的云资源如AWS S3桶、GitHub Pages。立刻在DNS控制台删除该悬空解析记录。5. 链路劫持HTTP被注入广告/跳转现象解析IP完全正确但浏览器访问时页面被插入了广告或者被302跳转。命令curl -v http://yourdomain.com看响应过程。处理这是运营商或中间路由设备干的。唯一解法全站强制HTTPSHTTP请求直接301重定向到HTTPS让中间设备无法篡改内容。6. 缓存投毒用户端解析到错误IP现象只有部分用户反馈打不开且解析出来的IP很奇怪。命令让用户执行ipconfig /flushdns。处理如果是大面积的可能是运营商Local DNS被投毒。联系运营商客服投诉同时临时把域名CNAME到CDN利用CDN的节点缓存来绕过污染。7. 域名过期被抢注现象whois显示域名创建时间变成了最近几天注册人变了。命令whois yourdomain.com处理域名已经被别人合法抢注了。只能尝试联系新注册人购买或者启用备用域名。这属于严重的管理事故。8. 账号无多因素导致被接管现象DNS控制台登录日志显示异地登录且没有MFA验证记录。处理立刻踢出所有活跃Session强制修改密码必须开启手机验证码或虚拟MFA二次验证。处置与恢复分场景给策略处置分三档紧急恢复改回正确解析 → 保护账号改密多因素 → 溯源谁改的怎么改的。域名被转移怎么找回别自己在控制台瞎点。直接打注册商如阿里云、腾讯云、GoDaddy的VIP客服电话说明域名被盗。准备好营业执照、法人身份证、域名证书。走人工申诉流程必要时报警拿受案回执。解析恢复的生效时间改A/CNAME记录受TTL影响通常几分钟到几小时生效。改NS记录受上级注册局缓存影响最长可能需要24-48小时。[生产环境风险改NS前一定要确认新DNS配置已经100%正确否则域名会彻底断网]是否切换解析服务商如果原服务商被脱裤或者内部有内鬼必须换。如果只是单点账号泄露改密加MFA即可没必要换换服务商迁移成本很高。受影响用户怎么通知如果涉及资金或敏感信息跳转必须发官方公告。口径“因网络波动/域名解析异常部分用户访问可能出现错误我们已紧急修复。请勿在异常页面输入账号密码。”处置后验证用在线拨测工具如站长工具、拨测网全国多地验证解析是否恢复检查SSL证书是否是自家的用不同网络环境实际访问验证。根因分析别全怪黑客技术高DNS被劫持表面看是解析变了根因往往在管理上域名账号弱口令/无多因素DNS控制台密码是123456还没开MFA一猜就进。邮箱被攻破找回密码通道失守攻击者通过重置邮箱密码拿下了域名控制台。解析服务商无变更告警解析记录被改了安全团队居然没收到短信或邮件告警。未使用子域名未清理项目下线了DNS里的CNAME没删导致子域名被接管Subdomain Takeover。HTTP明文传输没上HTTPS给运营商和中间设备留了劫持的后门。域名过期无人管财务没续费或者域名管理员离职没交接导致域名掉线被抢注。如何用日志定责形成证据链用控制台登录日志证明是某员工账号在异地登录并修改了记录定位到具体账号。用操作变更日志证明修改操作发生的具体时间排除历史遗留问题。用whois和NS记录证明是注册商层面的转移还是解析层面的篡改。把这三段证据拼在一起复盘报告交上去责任清清楚楚。事后加固要点擦完屁股得防病域名账号多因素强口令所有涉及域名注册、DNS解析的账号必须开启MFA密码16位以上。注册商域名锁定在注册商控制台开启“域名转移锁”clientTransferProhibited防止被恶意转出。解析变更告警配置DNS控制台的操作告警只要有人修改解析记录立刻发钉钉/企微/短信给安全团队。悬空子域名清理定期跑脚本对比CMDB里的资产清单和DNS解析记录清理无主子域名。全站强制加密所有Web服务强制HTTPSHSTS头拉满杜绝HTTP链路劫持。域名到期提醒设置域名到期前90天、60天、30天的自动续费或人工提醒绑定多个管理员邮箱。备用解析服务商核心域名使用双DNS如阿里云腾讯云或者主用商业DNS备用免费DNS防止单点故障。定期解析一致性检查写个定时脚本每天比对权威DNS和各地Local DNS的解析结果发现不一致立刻告警。总结处置过程中高频踩坑最后回顾一下大家最容易踩的8个坑有则改之没确认层面乱改配置用户本地缓存问题你跑去改权威DNS越改越乱。没取证就换解析商一气之下把DNS切了事后查不到是谁改的解析。忽略本地缓存背锅没让用户清缓存自己在那排查半天服务端。只恢复不溯源解析改回来了但控制台密码还是泄露的第二天又被改。悬空子域名被接管老项目下线没删DNS被黑客拿去搞钓鱼。域名账号无多因素裸奔的账号被撞库直接拿下。过期被抢注域名到期没人管被职业抢注人盯上花大价钱赎回来。没有解析变更告警解析被改了半个月直到客户投诉才发现。处理DNS劫持是个拼细心和全局观的活网络层的魔鬼都藏在解析记录里。别把安全做成简单的“改IP”要把每一次异常都当成一次梳理域名资产和加固账号安全的机会。如果你觉得这篇实战复盘对你有帮助别忘了点赞、收藏、关注一键三连你在处理DNS劫持或域名安全事件时还遇到过什么奇葩事或者坑欢迎在评论区留言交流咱们一起排雷