高权重域名一旦被盗取控制, 会导致访问量、企业品牌形象以及用户信任感等方面在几个小时之内遭受极其严重的损坏。
域名劫持这件事情, 通常来说主要分为三个不同的形式, 其中第一个形式叫做DNS解析劫持, 这个的意思其实就是通过篡改A记录或者是NS记录, 把正常的流量给引导到那个恶意的服务器上面去, 第二个形式叫注册商账户劫持, 这是指攻击者登录了你的账户之后, 会对你的域名进行转移或者修改的操作, 第三个形式是服务器接管, 这代表的就是入侵了Web服务器之后, 再通过篡改解析指向来达到目的。
核心防护原则只有一条: 多层锁定+多通道监控+可快速执行的恢复预案, 以下五步是按优先级排列的, 需要把各项内容逐一落实到位。
第一步:注册商账户加固(最重要)
先把注册商的后台里那个最厉害级别的密码策略给打开, 然后再把双因素认证也就是2FA给启用上。这里头大家伙儿最好多想想用硬件密钥这种选项, 比如说YubiKey这个牌子, 反正别用短信验证码就行。
需要在注册商的后台管理界面把这个叫做“域名转移锁”的东西给打开, 同时也得把这个叫做“修改锁”的东西也给打开, 这样一来的话, 要是有人想要去变更任何关于域名的DNS设置也好, 或者是想要去变更信息什么的也行, 那么都必须得先把手上这个锁头给解开了之后, 才能够去进行操作才行。
设置邮箱和手机号, 要把它们设为独立的、专用的账号。要避免跟主邮箱共用。这样做的目的是为了降低被连坐盗号的风险。
第二步:DNS层面防护
将域名的NS记录进行指向操作, 这个动作的目标对象是专业的权威DNS服务商, 你可以选择Cloudflare、Route 53这样的平台来使用, 而不要选择注册商所提供的默认DNS设置。
用户需要在注册商的后台里, 把 DNSSEC 签名这个功能给开启掉, 就算是有那种坏人, 他们去篡改了那个解析数据, 也没法子去造出一个能让系统觉得有效的签名出来, 所以在验证的那一边, 是直接就会拒绝掉这些被篡改过东西的。
把DNS里面那个叫做TTL的东西, 它的值设置成1800秒, 也就是说就是30分钟以内, 这样的话, 万一出现了那种错误的解析情况, 或者是被劫持了这种情况, 想要让它恢复生效的速度会变快一些, 也就是恢复的时间会变得更短。
第三步:多通道DNS监控与告警
把DNS监控这个事情给部署好, 至少得弄出两个相互独立的通道, 其中一个通道是依托于本地的服务器来运行的, 另外一个通道则是走云服务提供商那边的路线, 接着去借用像gname.xin这样的第三方DNS监控平台的服务, 以便能够实时的去追踪和查看域名的解析状态到底是怎么样的, 一旦发现有A记录或者是NS记录发生了没有被授权过的变更行为, 那么该系统就能够在1分钟这个时间段之内马上触发告警机制, 会通过发送短信或者发送邮件的方式来进行提示。
同时开启注册商后台的操作日志通知这个功能, 任何账户登录, 任何修改DNS, 任何转移请求, 都会推送至管理员。
第四步:备案与实名信息一致性核查
每个季度要进行一次的核对工作, 需要把ICP备案信息、域名实名认证信息还有注册商的联系方式这三样内容放在一起比对, 看看它们是否一致。如果这些信息之间出现了不一致的情况, 那么攻击者就会有机会去利用社会工程学这样的手段, 从而来伪装成进行所谓的合法操作的样子。
在涉及域名过户, 还有主体变更这类操作的时候, 你要提前给注册商那边发通知, 让他们对域名进行临时性的冻结转移处理, 这样做的目的是为了能够防止在进入过渡期的那个时候, 会出现被他人抢注的不利情况。
第五步:制定应急预案并每半年演练一次
把这些信息, 都记录在, 加密文档里面, 要分存两处。第一处, 包括注册商的后台地址URL, 还有备用的登录方式。第二处, 也要有这些信息, 或者互补的信息。
具体来说, 就是要写下DNS服务商的管理入口编号, 以及那个备案编号。还得把服务器的IP地址写清楚。另外, SSH密钥的存放位置也得标明。最后, 别忘了记上客服应急电话。
演练的具体流程如下, 首先要发现劫持的情况, 接着需要在十分钟之内通过注册商的电话客服来冻结域名, 然后切换到备用的DNS服务商去恢复解析, 最后在48个小时之内完成安全审计。
被劫持后的紧急处理
一旦你发现那个解析记录已经被别人动手脚给篡改了, 那你就要立刻去做下面这几件事, 第一件事情就是赶紧打电话去联系那个域名注册商, 让他们先把你这个域名冻结起来, 之所以要把拨打电话这件事放在第一位, 是因为它的优先级要比在后台进行各种操作都要高, 这么做主要是为了防止那些搞破坏的攻击者已经修改了登录密码导致你在后台没法操作, 第二件事情就是把你这个域名的名字服务器切换到备份好的那个DNS服务商那边去, 第三件事情就是要对服务器里面有没有被人入侵留下的痕迹去好好排查一下,第四件事情就是去工信部的1231或者去找你的域名注册商那边, 提交一个关于域名被劫持的投诉, 这样能够加速让事情恢复如初。
把这五个步骤全部都认真地做完, 做好之后, 域名被劫持的那个可能性能往下掉九成以上, 也就是百分之九十以上的降幅, 防护这事儿并不是做了一次就算完事了, 所以说建议大家每隔半年就重新检查一次, 看看各个锁的状态怎么样, 还有那个监控通道是不是还在好好地正常运转。

