互联网知识:域名劫持如何防范

导读:“域名劫持是互联网攻击的一种方式 , 通过攻击域名解析服务器(DNS) , 或伪造域名解析服务器(DNS)的方法 , 把目标网站域名解析到错误的IP地址从而实现用户无法访问目标网站的目的 , 或者蓄意/恶意要求用户访问指定IP地址(网站)的目的 。 ”(以上内容引自「域名劫持」百度百科) 。 网易云信IMSDK作为一款ToB产品 , 支撑着各种三方业务的开展 。 面对各种复杂的网络环境 , DNS劫持与DNS污染时有发生 , 那么在我们提供服务的过程中应该如何避免此类事故的发生呢?
技术是一把双刃剑 , 在大侠手中定国安邦 , 在鼠辈手中祸国殃民 。
【互联网知识:域名劫持如何防范】“域名劫持”虽然带了“劫持”二字 , 但在此环境中实属中性词汇 。 例如对于一些非法网站的访问 , 可以通过DNS服务把相应的域名解析到不可访问的IP地址 , 以阻止对于该非法网站的访问并给予警告等 。 在网易云信即时通信产品运维过程中 , 曾经发生过服务域名“http://netease.im”被别有用心的人或组织恶意劫持的事件 , 导致接入网易云信IMSDK的应用无法正常登录 , 给客户以及客户的用户造成影响 。
为了弄清楚这种事故是怎么发生的 , 我们来分析一下网易云信IMSDK的登录过程:
互联网知识:域名劫持如何防范

从流程上来看 , 在“更新LBS”的节点上 , 如果发生DNS劫持 , 在访问网易云信LBS服务时有可能超时或者拿到了错误的应答 , 导致IMSDK无法获取正常的Link服务器地址及端口 , 如何避免此类事故的发生呢?
本文将围绕网易云信端侧服务高可用技术方案以及高可用组件实现方案进行具体分享 。
一、如何预防DNS劫持
通常对于域名被劫持后 , 我们可以采用以下几种方式:
互联网知识:域名劫持如何防范

上述几种方式 , 都是在发生劫持后采取的方案 , 无论是从服务提供侧还是服务使用侧来说都不够灵活 , 为了解决这些问题 , 提前预防事故的发生 , 我们主要采用以下两种方案:
互联网知识:域名劫持如何防范

其中接入了HttpDNS服务的方案降低了所有场景下域名被劫持的风险 。