如何保护基础架构免受DNS缓存中毒攻击


当公司通过互联网访问VoIP和电子邮件时,都依赖于DNS,所以您必须保证您的DNS服务器免受DNS欺骗攻击,可以采取DNSSEC(Domain Name System Security Extensions,DNS安全扩展)方案来解决。

域名系统(DNS)是我们信任的根源,也是互联网最重要的一个组成部分。它是一项关键服务,一旦它发生故障,企业的网络必然受到影响。

DNS是名称和数字的虚拟数据库,它是企业其他关键服务的支柱,比如:电子邮件、互联网站点访问,互联网协议语音(VoIP)和文件管理。

你希望当键入域名后,通过DNS能够到达你想去的地方。然而,通常在发生攻击之前,很多企业对DNS的漏洞没有过多的关注。例如:在2018年4月,管理Myetherwallet域的公共DNS服务器被劫持,客户被重定向到网络钓鱼站点。 许多用户报告说他们的帐户中有资金流失,这引起了公众对DNS漏洞的关注。

事实上,DNS的安全问题已存在很长时间。根据设计,DNS是网络上的开放式服务,之初没有得到适当的监控,传统的安全解决方案无法有效保护。

如何保护您的基础架构免受DNS缓存中毒攻击

什么是DNS缓存中毒?

DNS服务器存在漏洞,攻击者可以利用这些漏洞来攻击它们。 DNS缓存中毒攻击就是黑客最常用的攻击方法之一。

当攻击者控制DNS服务器后,他们可以修改缓存信息,这是DNS中毒。通过垃圾邮件或网络钓鱼电子邮件发送的URL中,经常可以找到DNS缓存病毒的代码。这些电子邮件会尝试提醒用户注意,声称这是一份重要邮件,是你需要立即引起注意的事件。此时,用户只要单击邮件中的URL,病毒就会感染用户电脑。此外,一些横幅广告和图片通常用于将用户重定向到这些受感染的网站。

然后,当用户通过请求链接重定向到虚假站点,访问金融站点或者其他任何站点时,攻击者就可以控制用户的去向。攻击者可将用户发送到启动脚本的页面,该脚本将会把恶意软件、密钥记录器或者蠕虫下载到用户的设备。

此外,通过DNS服务器访问其他DNS服务器的缓存,这就是它传播的方式,并且可能是非常大规模的。

DNS缓存中毒有何风险?

DNS缓存中毒的主要风险是窃取数据。 DNS缓存中毒攻击的最喜欢的目标是医院,金融机构网站和在线零售商。这些目标容易被欺骗,这意味着任何密码,信用卡或其他个人信息都可能受到损害。此外,在用户设备上安装密钥记录器的风险,可能会导致用户访问其他站点时暴露其用户名和密码。

另一个重大风险是,如果互联网安全提供商的网站被欺骗,那么用户的计算机可能会受到其他威胁(如:病毒或特洛伊木马)的影响,因为一旦被攻击用户则不会执行合法的安全更新。

据EfficientIP称,DNS攻击的年平均成本为223.6万美元,其中23%的攻击来自DNS缓存中毒。

如何防止DNS缓存中毒攻击?

那么,企业究竟该如何防止DNS缓存中毒攻击?笔者认为要从以下几点出发:

第一,DNS服务器应该配置为尽可能少地依赖与其他DNS服务器的信任关系。以这种方式配置将使攻击者更难以使用他们自己的DNS服务器来破坏目标服务器。

第二,企业应该设置DNS服务器,只允许所需的服务运行。因为在DNS服务器上运行不需要的其他服务,只会增加攻击向量大小。

第三,安全人员还应确保使用最新版本的DNS。较新版本的BIND具有加密安全事务ID和端口随机化等功能,可以帮助防止缓存中毒攻击。

第四,用户的安全教育对于防止这些攻击也非常重要。最终用户应接受有关识别可疑网站的培训,如果他们在连接到网站之前收到SSL警告,则不会单击“忽略”按钮。 他们还应始终接受有关通过社交媒体帐户识别网络钓鱼电子邮件或网络钓鱼的教育。

除此以外,为防止缓存中毒攻击,还应采取的其他措施,比如:仅存储与请求的域相关的数据,并限制您的响应仅提供有关请求的域的信息。

解决方案——DNSSEC

缓存中毒工具可用于帮助组织防止这些攻击。 最广泛使用的缓存中毒预防工具是DNSSEC(域名系统安全扩展)。 它由Internet工程任务组开发,提供安全的DNS数据身份验证。

部署后,计算机将能够确认DNS响应是否合法,而目前无法确定真实或虚假的响应。 它还能够验证域名根本不存在,这有助于防止中间人攻击。

DNSSEC将验证根域或称为“签署根”。当最终用户尝试访问站点时,其计算机上的存根解析程序,将从递归名称服务器请求站点的IP地址。在服务器请求记录之后,它还将请求区域DNSEC密钥。然后,密钥将用于验证IP地址记录是否与权威服务器上的记录相同。接下来,递归名称服务器将验证地址记录是否来自权威名称服务器。然后,它将验证是否已修改并解析正确的域源。如果对源进行了修改,则递归名称服务器将不允许对站点进行连接。

DNSSEC正变得越来越普遍。许多政府机构和金融机构都在提出DNSSEC要求,因为发布未签名区域会忽略DNS弱点,并使企业的系统对各种欺骗攻击开放。企业需考虑部署DNSSEC,从而保护数据。

我总结了一些Java架构资料,欢迎大家前来领取,加群即可,群号:957734884

你可能感兴趣的:(如何保护基础架构免受DNS缓存中毒攻击)