no script

你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!

详细解析DNS欺骗问题与防御方法总结

1. DNS域名服务器

根域名服务器 .
顶级域名服务器 ( .com , .org , .edu)
权限域名服务器 (baidu.comgoogle.comabc.orgedf.edu
1)根域名服务器

根域名服务器是最高层次的域名服务器。每个根域名服务器都知道所有的顶级域名服务器的域名及其IP地址。因特网上共有13个不同IP地址的根域名服务器。当本地域名服务器向根域名服务器发出查询请求时,路由器就把查询请求报文转发到离这个DNS客户最近的一个根域名服务器。加快了DNS的查询过程,同时也更合理地利用了因特网的资源。

2)顶级域名服务器

这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时就给出相应的回答,可能是最后的结果,也可能是下一级权限域名服务器的IP地址。

3)权限域名服务器

这些域名服务器负责管理某个区的域名。每一个主机的域名都必须在某个权限域名服务器处注册登记。因此权限域名服务器知道其管辖的域名与IP地址的映射关系。另外,权限域名服务器还知道其下级域名服务器的地址。

4)本地域名服务器

本地域名服务器不属于上述的域名服务器的等级结构。当一个主机发出DNS请求报文时,这个报文就首先被送往该主机的本地域名服务器。本地域名服务器起着代理的作用,会将该报文转发到上述的域名服务器的等级结构中。本地域名服务器离用户较近,一般不超过几个路由器的距离,也有可能就在同一个局域网中。本地域名服务器的IP地址需要直接配置在需要域名解析的主机中。

2. DNS域名解析过程

1)递归查询

主机 =====> 本地域名服务器 =====> 根域名服务器 =====> 顶级域名服务器 =====> 权限域名服务器

主机 <===== 本地域名服务器 <===== 根域名服务器 <===== 顶级域名服务器 <===== 权限域名服务器

a)主机首先向其本地域名服务器进行递归查询。

b)本地域名服务器收到递归查询的委托后,也采用递归查询的方式向某个根域名服务器查询。

c)根域名服务器收到递归查询的委托后,也采用递归查询的方式向某个顶级域名服务器查询。

d)顶级域名服务器收到递归查询的委托后,也采用递归查询的方式向某个权限域名服务器查询。

2) 迭代查询

主机 => 本地域名服务器 主机 <= 本地域名服务器 (主机和本地域名服务器采用递归方式)

本地域名服务器 <=> 根域名服务器 本地域名服务器 <=> 顶级域名服务器 本地域名服务器 <=====> 权限域名服务器

a)主机首先向其本地域名服务器进行递归查询。
b)本地域名服务器采用迭代查询,它先向某个根域名服务器查询。
c)根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器的IP地址。
d)本地域名服务器向顶级域名服务器进行迭代查询。
e)顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器的IP地址。
f)本地域名服务器向权限域名服务器进行迭代查询。
g)权限域名服务器告诉本地域名服务器所查询的域名的IP地址。
h)本地域名服务器最后把查询的结果告诉主机。

3. 局域网内IP地址解析查找方式

1)hosts文件域名与IP映射

此方法只适合开发环境或者局域网主机数量比较小的情况,通过修改添加hosts文件中的域名和IP地址映射关系,达到域名解析目的

2)搭建私有化DNS服务器,构建DNS解析功能

一般通过bind来搭建私有化DNS服务器

a)拉取镜像

docker pull sameersbn/bind:latest

b)启动服务

#mkdir -p ~/bind && \
docker run --name='bind' -d -p 53:53/udp -p 10000:10000/tcp \
  -e WEBMIN_ENABLED=true \
  -v ~/bind:/data \
  sameersbn/bind:latest

c)访问https://localhost:10000 配置域名解析

3)iptables NAT转发

a)SNAT (内网访问外网,修改source ip地址为某个公网ip地址)

b)DNAT (外网访问内网,比如解析域名xyz.com为内网ip地址192.168.1.233)

iptables -t nat -I PREROUTING -i eth0 -d xyz.com -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.233

4. DNS欺骗方式

DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。 攻击者如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,以达到受害者访问广告、恶意网站和网络钓鱼的目的。

1)hosts文件篡改

攻击者通过木马病毒或者恶意网页的恶意插件感染计算机等手段,篡改目标计算机的hosts文件,修改hosts文件中的域名和IP地址映射关系,达到欺骗目的。

2)本地DNS缓存污染

目标机感染恶意程序后,可修改DNS本地缓存。

3)DNS ID序列号攻击

这种攻击常常发生在同一个网络中,也就是所谓的熟人攻击。在同一个网络中,先通过ARP欺骗,不断的发送arp报文,把自己的mac地址当成网关的mac地址,把自己伪装成目标主机的网关,这样流量就会经过欺骗者,当在流量中检测到解析请求时,欺骗者解析报文,拿到ID和端口发送目标机伪造响应报文。

4)攻陷DNS服务器

一般服务器存在重大风险漏洞,攻击者获得root权限后,可以完全控制计算机修改DNS域名映射关系。这种情况发生概率较小,需要做好服务器的安全防范工作。

5. DNS欺骗防御方法

1)DNS域名解析通信双方身份鉴别

https双向认证或者sslpingning的方式保证通信身份可信,避免通信包中间人劫持风险。

2)DNS解析流量加密

采用专有dns流量加密解决方案,对通信包的应用层数据全加密,可彻底解决通信数据泄露和篡改问题。

3)使用虚拟专用网络(VPN)

通过VPN的专用安全隧道保障数据传输的安全性。

4)预防ARP欺骗攻击

DNS攻击的欺骗行为要以ARP欺骗作为开端,所以如果能有效防范或避免ARP欺骗,也就使得DNS ID欺骗攻击无从下手。例如可以通过将Gateway Router 的Ip Address和MAC Address静态绑定在一起,就可以防范ARP攻击欺骗。

5)保护内部设备

ARP欺骗等大多数都是从网络内部执行攻击的,如果网络设备很安全,那么那些感染的主机就很难向你的设备发动欺骗攻击,所以做好内部设备的安全防护。比如,使用入侵检测系统就可以检测出大部分形式的ARP缓存中毒攻击和DNS欺骗攻击。

1
chujiao_cbc84**1260
清风明月清风明月本无价,万水千山自有人。
  • 赞同
  • 威望

相关问题

    Copyright © 2025