攻击者和被攻击者需要在同一个网段吗?
您好!
dns欺骗:一般是针对终端pc,使被攻击pc访问不到目的域名;
dns劫持:一般是针对dns服务器,使你不能使用正常的dns服务器,而使用“非法”的dns服务器;
攻击者和被攻击者需要在同一个网段吗:攻击者如果能直接入网,那当然是对他做'非法"动作更有利;如果不能入网,攻击者也会想办法映射入网或者扫漏洞找跳板机进网,再开始“非法”动作的。
DNS欺骗攻击就是利用了DNS协议设计时的的安全缺陷,因为所有DNS解析服务都是采用标准的一问一答模式,DNS服务器的IP地址和端口号都是对外公布的。
现在的Internet上存在的DNS服务器有绝大多数都是用bind来架设的,使用的bind版本主要为bind 4.9.5+P1以前版本和bind 8.2.2-P5以前版本。所有的DNS服务器有个共同的特点,就是会缓存(Cache)所有已经查询过的结果,这个问题就引起了下面的几个问题的存在。
在域名解析请求的过程中DNS没有提供认证机制:DNS服务本质上是通过客户/服务器方式提供域名解析服务,但它自己没有提供认证机制,查询者在收到应答时无法确认应答信息的真假,这样极易导致欺骗。同样地每一台DNS服务器也无法知道请求域名服务的主机或其他的DNS服务器是否合法,是否盗用了地址。
DNS信息劫持:
原则上来讲,TCP/IP协议严禁向内部添加仿冒数据,但是入侵者一旦监听到了用户和DNS服务器之间的通讯,了解了用户和DNS服务器的ID,敌手就可以在用户和真实的DNS服务器进行交互之前,冒充DNS服务器向用户发送虚假消息,将用户诱骗到之前设计的网站上。
先欺骗者向目标机器发送构造好的ARP应答数据包,ARP欺骗成功后,嗅探到对方发出的DNS请求数据包,分析数据包取得ID和端口号后,向目标发送自己构造好的个DNS返回包,对方收到DNS应答包后,发现ID和端口号全部正确,即把返回数据包中的域名和对应的IP地址保存进DNS缓存表中,而后来的当真实的DNS应答包返回时则被丢弃。
如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到被篡改后的地址,而不是用户想要取得的网站的地址了,这就是DNS欺骗的基本原理。
如何有效防御DNS欺骗攻击?
首先,选择较为权威的DNS解析服务商做域名解析,可以有效降低因为DNS解析服务商的漏洞导致域名解析记录被篡改的发生。
其次,结合使用DNS加速类的产品,可以持续不断的刷新DNS缓存,从而保障在DNS服务器缓存的数据得以实时更新,减少在解析请求过程中被劫持篡改的几率。
还有一些目前推出的DNS劫持监控功能,也能及时的发现各地DNS解析的情况,一旦发生问题可以针对性的进行解决,避免损失进一步加大。