侧边栏壁纸

关于域名的DNS劫持

2024年03月23日 93阅读 5评论 0点赞

什么是DNS劫持

DNS劫持又称域名劫持,是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。
简单的理解就是在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则直接返回假的IP地址或者什么也不做使请求失去响应,其效果就是对特定的网址不能访问或访问的是假网址。

dc580b389c6da83f369dc83333e93648.jpg

DNS劫持的潜在危害

互联网的快速发展,人们越来越离不开互联网,而对上网的体验也有着越来越高的要求。每当打开电脑网页或手机时,大家都希望能享受安全快速纯净的上网模式。但上网时遇到上网卡顿、网页频繁弹出广告、下载速度上不去等问题是许多人都经历过的,上网体验不得不多次被吐槽!那么问题究竟出在哪里呢?

原来这是网络拥堵造成人们的上网体验下降,而配置DNS服务器也已经成为提升上网体验的重要方式,DNS解析的速度和准确率将直接影响我们的上网体验。细心的网友会发现,当DNS被劫持时会导致大量广告弹出和自动跳转,而且网络拥挤的时候偶尔会宕机或解析速度极慢。

79b02f97043614dbe3139e2c0fe95631.jpg

了解DNS劫持,我们来仔细了解下DNS域名解析的全过程,从过程中找答案;

1.输入网址

2.电脑发出一个DNS请求到本地DNS服务器(本地DNS服务器一般由网络接入商提供,中国移动、电信等)

3.本地服务器查询缓存记录,有则直接返回结果,没有则向DNS根服务器进行查询。(根服务器没有记录具体的域名和IP地址对应的关系)

4.告诉本地DNS服务器域服务器地址

5.本地服务器向域服务器发出请求

6.域服务器告诉本地DNS服务器域名的解析服务器的地址

7.本地服务器向解析服务器发出请求

8.收到域名和IP地址的对应关系

9.本地服务器把IP地址发给用户电脑,并保存对应关系,以备下次查询

而这解析的全过程中随便一步都可以被攻击者攻陷劫持,而DNS劫持后果可想而知,轻则影响网速,重则不能上网。

其中大规模的DNS劫持,其结果往往是断网,因为大网站的访问量实在太大了,钓鱼网站的服务器可能会扛不住大流量的访问,导致瞬间瘫痪网页打不开,这也是上网用户以及网站所有者最不愿看到的结果。而如果是网上购物、网上支付被恶意指向别的网站,更加加大了个人账户泄密的风险。当然还有网站内出现恶意广告等不好体验。

be021e4ed519a12e154aef685884726a.jpg

目前针对DNS劫持,不能做到完全杜绝,很多公司的产品基本从减少劫持概率上改善DNS劫持的现象。智能DNS解析根据请求来源对同一域名做出相应不同解析,满足请求用户获取最优的解析结果,在查询解析过程携带请求用户的源IP地址段,保证被请求权威DNS识别用户所属的网络,实现基于用户IP地址段的智能解析,精准调度解析结果。用户请求可以实现就近访问,使得域名解析整个访问流程的时延明显缩小,在解析效率上可以得到充分保障。主动同步com、net等主要域名数据、缓存热点域名等举措,减少递归过程,以最大程度实现快速应答,减少劫持的概率。从而确保一次更高效、更安全、更精准的网络体验。

怎么查看域名是否被DNS劫持

1、打开命令提示符

开始---运行---cmd,或者快捷键Win+R---cmd打开即可;
8ac11f20d184b2c18d2c8f29859c7ef4.jpg

2、解析域名

使用nslookup+域名的命令随意解析某个域名,查看解析后的IP地址,然后通过nslookup+域名+DNS的命令解析同样的域名,并查看解析后的IP地址;

3、对比

两个DNS解析的地址若不一样,则证明该DNS已经被劫持了;

可以多测试几个公共DNS,找一个没有被解析的公共DNS进行使用,不过还是建议使用运营商分配的DNS,若某些运营商为了利益在其中添加广告或其它杂七杂八的消息,那么可以通过更改DNS来解决此问题。

DNS被劫持了怎么办

某些运营商为了某些目的,对DNS进行了某些操作,导致网民使用正常的上网设置无法通过域名解析出正确的IP地址。常用的手段就是DNS劫持。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。DNS劫持的症状就是在某些地区的用户在成功连接带宽后,首次打开任何页面都指向ISP提供的电信互联网星空或网通黄页广告等内容页面。还有就是曾经出现出用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。

1.提升网站安全性

如果网站还没有做HTTPS改造部署,强烈建议改造部署HTTPS,能一定程度解决域名被劫持问题,有条件的给网站部署百度云加速CDN,可解决DDoS、CC攻击,并拦截黑客对程序漏洞扫描,彻底解决安全问题。

2.优先联系自己服务商,确认DNS解析是否正确。

如果发现有未知DNS解析,则立即删除这些记录,在客服的引导下添加正确的域名DNS解析记录。

3.修改域名管理密码、网站后台管理密码。

出现被劫持现象,说明我们的信息已经有部分泄露了,因此要立即修改各类密码信息。密码应尽量复杂化,数字、字母、符号,以及字母大小写等。

4.检查网站是否被挂马、中毒等。

如果自己有技术,要理解检查网站是否挂马了,中毒了,导致代码被篡改。清理掉各种问题页面,并收集起来。如果不怎么懂技术,则可以找专业的安全公司给你检查,网上这类公司或者个人都提供这类服务。

0

—— 评论区 ——

昵称
邮箱
网址
取消
  1. 头像
    回复

    我认为文中给出的检查方法并没有用,在 OpenWrt 下使用 Dnsmasq 后局域网内设备的 dns 查询请求会被 Dnsmasq 劫持,包括指定 dns 服务器,效果如图

    其次解决方案中只提到了自己的网站的"解决措施",然而如果是 GFW 这种 意义上的 "DNS 劫持" 我相信以上解决方案均无效
    所以,Ctrl + C 和 Ctrl + V 并不是一个好的选择

    1. 头像
      梦泽 博主
      回复
      @BLxcwg666

      文中方法仅用于简单处理域名被恶意DNS劫持的解决方案,而不是对于“GFW”意义上的“域名被墙”与此并不一样

    2. 头像
      回复
      @BLxcwg666

      图 https://i.mij.rip/2024/03/23/d883d750f53258b2a0cbcfb6fd643153.png

  2. 头像
    回复

    我记得没错的话,CF好像有一个叫:DNSSEC的东西

    1. 头像
      梦泽 博主
      回复
      @awaae001

      不只是CF,DNSSEC是一种DNS安全技术,很多DNS服务商都有 ::aru:cheer::

人生倒计时
舔狗日记