如果说好莱坞电影教会我们一件事的话,那就是黑客很聪明,他们有各种各样的伎俩来绕过我们的安全。在现实世界中,安全问题往往归结为机会,而不是发展技能。“DNS中毒”攻击符合这一描述,事实上,您需要具备防止域被欺骗的技能。 这个概念很简单:访问者看到的是你的网站,但它是欺诈和有害的,而这个假网站看起来很相似。因此,您需要采用多种技术来确保用户的安全,并且您的站点不会受到攻击。 在这篇文章中,我们将深入探讨DNS污染(英文DNS Poisoning),又或者称作DNS中毒和域欺骗的概念。我们还将讨论一些相关概念,以帮助您理解为什么您的最终响应是最佳方法。 域名系统(DNS)入门 DNS查找的过程 什么是DNS污染 如何预防DNS污染 域名系统(DNS)入门 在我们进入DNS污染的细节之前,让我们先谈谈域名系统。虽然浏览一个网站似乎是一项简单的任务,但在服务器的引擎盖下有很多事情在进行。 从“A”到“B”涉及很多因素: IP地址。这是一个数字串,是你的实际网址。把它们当作你房子的坐标。例如,127.0.0.1:8080是标准的“本地主机”地址(即您的计算机)。 域名。如果IP地址代表坐标,则域名就是信封上显示的地址。当然,“wbolt.com”就是其中的一个例子。 DNS请求。这是一个高级前端任务和复杂的低级流程的极好例子。现在,考虑一个请求是浏览器请求一个专用服务器地址是一组坐标。 DNS服务器。这与您网站的服务器不同,它是四台服务器合一的。它的工作是处理DNS请求。我们将在后面的章节中更详细地讨论这一点。 递归服务器。您还将看到这些名为“解析名称服务器”的服务器。它是DNS查找过程的一部分,负责在服务器上查询与IP地址相关的域名。 总的来说,DNS使最终用户获取域名变得简单。它是Web的核心部分,因此,它有许多活动部分。 接下来我们将介绍查找过程本身,尽管您已经看到DNS如何完成一项重要任务。 DNS查找的过程 请容忍我们,我们提供的是一个抽象的类比。 把人们带到偏远地区的活动,如登山或航海,都有一个共同的危险:迷路和不能及时找到。定位被困人员的传统方法是使用坐标。它们是明确的,并提供精确的准确性。 然而,这个过程也有缺点。首先,你需要知道如何计算你在任何地点的坐标——如果你在世界的偏远地区,那就很棘手了。第二,你必须向救援队清楚说明这些坐标。一个错误的数字和后果是可怕的。 what3words应用程序需要计算和传递坐标的复杂过程,并将其转换为一个三个单词的大致位置摘要。例如,以Automatic的总部为例: Apple地图中的自动化办公室 该位置的坐标为37.744159, -122.421555。不过,除非你是一名专业的航海家,否则你不太可能知道这一点。即使你这样做了,把它交给能帮助你的人也是一个渺茫的提议。 简言之,What3单词需要一组抽象的坐标,并将它们翻译成三个值得记忆的单词。就Automatic的办公室而言,就是decent.transfers.sleeps: what3words网站,展示Automatic的办公室 这使得几乎所有能够访问该应用程序的人都能掌握复杂的全球定位。它已经拯救了很多平民的生命。 这与DNS查找相关联,因为过程类似。在what3words的情况下,救援者向应用程序询问字串的坐标。请求通过服务器发送,以查找坐标,并在找到坐标后返回给最终用户。 DNS查找具有类似的流程: 您的浏览器请求域名的IP地址。 您的操作系统(OS)要求递归服务器查找域名,并开始运行其服务器集合。 当它找到域名时,它将返回到浏览器。 what3words的缺点之一是一个单词字符串不如一组坐标精确。这意味着您可以快速确定一个大致位置,但可能需要花费更长的时间才能找到被困人员。 DNS查找也有缺点,恶意攻击者可以利用这些缺点进行攻击。不过,在我们看这个之前,让我们先简单地绕道讨论一下缓存,以及它如何加快查找速度。 DNS缓存 与Web缓存非常相似,DNS缓存可以帮助您向服务器调用常规查询。这将使每次新访问获取IP地址的过程更快。 简而言之,缓存位于DNS服务器系统内,并减少了到递归服务器的额外行程。这意味着浏览器可以直接从DNS服务器获取IP地址,并更快地完成GET请求。 您将在整个系统中找到DNS缓存。例如,您的计算机将具有DNS缓存,路由器和internet服务提供商(ISP)也将具有DNS缓存。你通常不会意识到你的浏览体验有多依赖DNS缓存,直到你成为DNS中毒的受害者。 什么是DNS污染 现在,您已经了解了DNS查找的概念和获取IP地址的整个过程,我们可以了解如何利用它。 你经常会看到DNS污染(DNS Poisoning)也被称为“欺骗”或者“中毒”,因为链中有一个欺诈性的“相似”网站是攻击的一部分。 我们将更详细地讨论所有这些方面,但要知道DNS中毒或欺骗是一种有害的攻击,可能会给用户和互联网带来精神、金钱和资源方面的问题。 首先,让我们进入缓存中毒的过程。 DNS污染的工作原理 鉴于整个污染过程非常复杂,攻击者创造了许多不同的方法来实现其目标: 机器在中间。这是攻击者在浏览器和DNS服务器之间进行攻击、毒害两者并将用户重定向到其自己服务器上的欺诈站点的地方。 服务器劫持。如果攻击者进入DNS服务器,他们可以重新配置该服务器,将所有请求发送到自己的站点。 通过垃圾邮件中毒。与服务器劫持不同,这种方法会毒害客户端(即浏览器)。访问权限通常通过垃圾邮件链接、电子邮件和欺诈性广告授予。 “Birthday attacks.”。这是一种复杂的加密攻击,需要进一步解释。 Birthday attacks基于“生日问题”。这是一个概率场景,即(简而言之)如果一个房间里有23个人,两个人共享同一个生日的概率为50%。如果房间里有更多的人,机会就会增加。 […]

