近些年来,多种多样的攻击方式让站长们防不胜防,很是苦恼,其中较为典型的就是DNS缓存中毒,此类攻击利用DNS缓存漏洞来影响用户正常访问网站,严重的通过站长网站来实施非法钓鱼和金融诈骗,从而给站长和用户造成巨大的经济损失。
什么是DNS缓存?
DNS是IP地址和域名的全球目录。DNS缓存是将这些地址存储在世界各地的DNS服务器中的系统。为了保持您的DNS请求快速,原始开发人员创建了一个分布式DNS系统,每个服务器都存储一个它知道的DNS记录列表–这称为缓存。
什么是DNS缓存中毒,它是如何实现的?
DNS缓存中毒是一种网络攻击,它使您的计算机误以为它会到达正确的地址,但事实并非如此。攻击者使用DNS缓存中毒来劫持互联网流量并窃取用户凭据或个人数据,DNS缓存中毒攻击也称为DNS欺骗,它试图诱骗用户将其私人数据输入不安全的网站。这种攻击往往被归类为域欺骗攻击由此它会导致出现很多严重问题。首先,用户往往会以为登陆的是自己熟悉的网站,而它们却并不是。与钓鱼攻击采用非法URL不同的是,这种攻击使用的是合法的URL地址。
DNS劫持
另外一个问题是,成百上千的用户会被植入缓存中毒攻击的服务器重定向,引导至黑客设立的圈套站点上。这种问题的严重性,会与使用域名请求的用户多少相关。在这样的情况下,即使小白新手也可以造成很大的麻烦,让用户不知不觉的就陷入了攻击者的圈套中,生活中的例子比比皆是,就如自己平时网购时,看似卖家发的链接不经相同,但是往往就是这个不经意间,自己就落入了别人的圈套中。
如何检测和应对DNS缓存中毒呢?
如何检测DNS缓存中毒攻击?监视DNS服务器以获取可能的攻击指示,将数据安全分析应用于您的DNS监视,以识别正常的DNS行为免受攻击。
1.来自单个来源的有关单个域的DNS活动突然增加表示潜在的Birthday Attack。
2.从单一来源查询DNS服务器以获取多个域名而不进行递归的DNS活动的增加表示尝试查找用于中毒的条目。
3.除了监视DNS之外,还监视Active Directory事件和文件系统行为是否存在异常活动。甚至更好的是,使用分析来关联所有三个媒介之间的活动,从而为您的网络安全策略添加有价值的环境。
关于应对
当存在DNS缓存中毒时,默认用于查询的UDP端口不应该再是默认的53端口了,而是应该在UDP端口范围内随机选择(排除预留端口)。但是有些站长会发现目前使用的DNS服务器远落后于提供网络地址转换的各种设备,大部分NAT设备会随机选择NDS服务器使用的UDP端口,这样一来就会使得新的安全补丁会失效,网站会重蹈覆辙。
遇到这种情况,站长们就需要考虑保护DNS的其他方案了。UDP源端口随机化选择是一种比较有用的防护举措,但是这会打破UDP源端口随机化给与DNS服务器的保护,同由此全方位开放端口面临的风险或者降低防火墙性能这两者间的平衡关系。还有一种比较有效的防护措施就是,当检测到面临潜在攻击风险时,让DNS服务器切换到使用TCP连接,来应对DNS缓存中毒的状况。
互联网中服务器和网站遭受攻击的例子比比皆是,各类的攻击方式也是层出不穷,想要避免发生这类情况还需要在日常维护中多下功夫,经常排查和备份,防患于未然。