速率限制是一种限制网络流量以防止用户耗尽系统资源的技术。速率限制使恶意行为者更难使系统负担过重并导致拒绝服务(DoS) 等攻击。这涉及攻击者向目标系统发送请求并消耗过多的网络容量、存储和内存。,,使用速率限制的 API 可以限制或暂时阻止任何试图进行过多 API 调用的客户端。它可能会在指定时间内减慢受限用户的请求或完全拒绝它们。速率限制可确保合法请求可以到达系统并访问信息,而不会影响整体应用程序的性能。这是关于网站安全的系列文章的一部分。,速率限制是现代网络安全策略的重要组成部分。它解决了影响传入请求率的几种攻击技术。,DDoS 攻击试图用流量淹没目标系统,使其对合法用户不可用。速率限制通过防止任何给定流量源发送过多请求来减轻 DDoS威胁。然而,DDoS 攻击具有独特的挑战,因为它们在许多不同的来源(有时是数百万个 IP 地址)之间分发请求。分发攻击允许每个源避免超过速率限制。安全解决方案应将来自不同位置的请求识别为单一攻击的一部分,并将它们视为单一来源。,当攻击者破坏包含用户凭据的数据库时,他们可以使用这些凭据进行进一步的攻击。通常,机器人会将窃取的用户凭证填充到登录表单中,直到凭证集起作用,从而允许机器人访问帐户。机器人通常非常成功,因为它们可以将数百或数千个凭据提交到登录表单中。速率限制有助于识别信用填充并在机器人接管帐户之前阻止它们。,,暴力攻击类似于凭据填充攻击,但没有真实用户凭据列表。在这种情况下,机器人会系统地提交随机生成的凭据,直到凭据集起作用。高度安全的 Web 应用程序设置密码要求有助于减轻暴力攻击,但大型攻击仍会消耗许多网络资源。速率限制阻止这些攻击以节省系统资源。,恶意行为者经常抓取目标网站以获取他们可以出售或用来削弱竞争对手的信息。例如,攻击者可能会窃取电子商务公司的定价信息。爬虫机器人可以从目标应用程序复制大量数据。速率限制检测并阻止数据抓取。,库存拒绝或库存囤积攻击涉及将机器人发送到目标 Web 应用程序,在那里它们开始交易而不完成交易。它囤积库存,使合法用户无法使用。,在我们的详细指南中了解更多信息:,速率限制在应用程序中起作用,而不是在 Web 服务器中起作用。速率限制通常涉及跟踪发出请求的 IP 地址并识别请求之间的时间间隔。IP 地址是应用程序识别每个请求的发出者的主要方式。,,速率限制解决方案通过测量来自给定 IP 地址的每个请求之间经过的时间并跟踪在设定时间范围内发出的请求数来工作。如果一个 IP 地址在指定的时间范围内发出过多请求,则速率限制解决方案会限制该 IP 地址,并且不会在下一个时间范围内满足其请求。,如果个人用户过于频繁地发出请求,限速应用程序可以告诉他们放慢速度。这好比警察拦下超速司机,或者父母告诉孩子不要在短时间内吃太多糖。,管理员可以在设置速率限制时定义不同的参数和方法以及参数。组织选择的速率限制技术取决于目标和所需的限制级别。以下是组织可能实施的三种主要速率限制方法:,有几种类型的速率限制算法。,固定窗口速率限制算法限制在给定时间范围(窗口)内允许的请求数。例如,服务器的限速组件可能实施一种算法,每分钟最多接受 200 个 API 请求。有一个从指定时间开始的固定时间范围——服务器在 9:00 到 9:01 之间不会处理超过 200 个请求,但窗口将在 9:01 重置,允许另外 200 个请求直到 9:02。,开发人员可以在服务器或用户级别实现固定窗口算法。在用户级别实施该算法将限制每个用户每分钟 200 个请求。相比之下,服务器级别的算法将限制服务器,这意味着所有用户加起来每分钟最多可以发出 200 个请求。,漏桶速率限制算法与固定窗口算法不同,因为它们不依赖于指定的时间范围。他们专注于请求队列的固定长度,而没有考虑时间。服务器将按照先到先得的原则为请求提供服务。新请求加入队列的后面。如果新请求在队列已满时到达,服务器将丢弃该请求。,,滑动窗口速率限制算法与固定窗口算法类似,只是每个时间窗口的起始点不同。使用滑动窗口速率限制,时间范围仅在用户发出新请求时开始,而不是预定时间。例如,如果第一个请求在上午 9:00:24 到达(并且速率限制为每分钟 200 个),则服务器将在 9:01:24 之前允许最多 200 个请求。滑动窗口算法有助于解决固定窗口限速中影响请求的问题。它们还通过提供更大的灵活性来缓解漏桶速率限制所面临的饥饿问题。, ,速率限制是一种限制网络流量以防止用户耗尽系统资源的技术。速率限制使恶意行为者更难使系统负担过重并导致拒绝服务(DoS) 等攻击。这涉及攻击者向目标系统发送请求并消耗过多的网络容量、存储和内存。,当攻击者破坏包含用户凭据的数据库时,他们可以使用这些凭据进行进一步的攻击。通常,机器人会将窃取的用户凭证填充到登录表单中,直到凭证集起作用,从而允许机器人访问帐户。机器人通常非常成功,因为它们可以将数百或数千个凭据提交到登录表单中。速率限制有助于识别信用填充并在机器人接管帐户之前阻止它们。,
什么是DNS劫持/重定向攻击?域名服务器 (DNS) 劫持,也称为 DNS 重定向,是一种 DNS 攻击,其中 DNS 查询被错误地解析,以便意外地将用户重定向到恶意站点。为了执行攻击,犯罪者要么在用户计算机上安装恶意软件,接管路由器,要么拦截或破解 DNS 通信。,,DNS劫持可用于 域名欺骗 (在这种情况下,攻击者通常会展示不需要的广告以产生收入)或 网络钓鱼 (显示用户访问的网站的虚假版本并窃取数据或凭据)。许多 Internet 服务提供商 (ISP) 还使用一种 DNS 劫持来接管用户的 DNS 请求、收集统计信息并在用户访问未知域时返回广告。一些政府使用 DNS 劫持进行审查,将用户重定向到政府授权的站点。,DNS 重定向有四种基本类型:, DNS 欺骗是一种将流量从合法网站(例如 www.google.com)重定向到恶意网站(例如 google.attacker.com)的攻击。 DNS 欺骗 可以通过 DNS 重定向来实现。例如,攻击者可以破坏 DNS 服务器,并以这种方式“欺骗”合法网站并将用户重定向到恶意网站。,, 缓存投毒是实现 DNS 欺骗的另一种方式,不依赖于 DNS 劫持(物理接管 DNS 设置)。DNS 服务器、路由器和计算机缓存 DNS 记录。攻击者可以通过插入伪造的 DNS 条目来“毒化”DNS 缓存,其中包含同一域名的替代 IP 目的地。DNS 服务器将域解析为欺骗网站,直到缓存被刷新。, 名称服务器和解析器的缓解措施,DNS 名称服务器是高度敏感的基础设施,需要强大的安全措施,因为它可能被劫持并被黑客用来 对其他人发起 DDoS 攻击:, 最终用户的缓解措施,最终用户可以通过更改路由器密码、安装防病毒软件和使用加密的 VPN 通道来保护自己免受 DNS 劫持。如果用户的 ISP 劫持了他们的 DNS,他们可以使用免费的替代 DNS 服务,例如 Google Public DNS、Google DNS over HTTPS 和 Cisco OpenDNS。,, 网站所有者的缓解措施,使用域名注册商的网站所有者可以采取措施避免 DNS 重定向其 DNS 记录:, ,什么是DNS劫持/重定向攻击?域名服务器 (DNS) 劫持,也称为 DNS 重定向,是一种 DNS 攻击,其中 DNS 查询被错误地解析,以便意外地将用户重定向到恶意站点。为了执行攻击,犯罪者要么在用户计算机上安装恶意软件,接管路由器,要么拦截或破解 DNS 通信。,,