速率限制是一种限制网络流量以防止用户耗尽系统资源的技术。速率限制使恶意行为者更难使系统负担过重并导致拒绝服务(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) 等攻击。这涉及攻击者向目标系统发送请求并消耗过多的网络容量、存储和内存。,DDoS攻击试图用流量淹没目标系统,使其对合法用户不可用。速率限制通过防止任何给定流量源发送过多请求来减轻 DDoS威胁。然而,DDoS 攻击具有独特的挑战,因为它们在许多不同的来源(有时是数百万个 IP 地址)之间分发请求。分发攻击允许每个源避免超过速率限制。安全解决方案应将来自不同位置的请求识别为单一攻击的一部分,并将它们视为单一来源。,
DNS 劫持是一种常见的网络攻击技术,称为域名服务器重新配置。攻击者的目标是将用户重定向到他们创建的虚假网站。,, 域名服务器劫持,也称为 DNS 重定向,黑客利用该过程更改域名系统 (DNS) 的解析,使用恶意软件确保将真实服务器修改为不符合设定的互联网标准。,多年来,基于 DNS 的攻击一直处于高位。事实上,网络罪犯知道 DNS 是组织使用的受信任协议,并且其中许多组织不会跟踪其 DNS 流量以了解异常流量或恶意活动。因此,犯罪者利用这个漏洞攻击网站,以窃取信息、进行欺诈或破坏网站。,如今,许多组织比以往任何时候都花费更多的金钱和资源来实施 DNS 监控解决方案,并雇用和培养坚实的第一道防线所需的人才。不用说,这是因为 DNS 在商业世界中已经司空见惯。, 什么是DNS?,域名系统 (DNS) 是互联网不可或缺的一部分,每个人都有意或无意地使用它。正如联系人保存在您的电话簿中以在他们拨打您的电话时识别他们一样,互联网有自己的计算机、服务和其他连接资源的电话簿。互联网使用的这种命名系统称为 DNS。,当试图访问互联网上的信息时,人们会输入“google.com”、“supersport.com”等网站的域名。完成后,用于启动搜索的网络浏览器通过设备的互联网协议进行交互( IP地址。DNS 随后将域名转换为 IP 地址,网站加载互联网上可用的资源。,DNS 是技术爱好者开发的一项计划,因为没有它;人类将不得不记住或连续记下他们用来连接互联网的不同设备的不同数字——笔记本电脑、手机、平板电脑等。,换句话说,DNS 是互联网的名称记录,它与称为 IP 地址的数字相匹配。这些数字(IP 地址)是计算机用来通过网络相互通信的,以消除人类记忆 IP 地址的需要。,, DNS是如何工作的?,就像每个有街道地址的房子一样,互联网上的每个设备都有一个与其相关联的 IP 地址。如果没有 IP 地址,则连接到 Internet 网络的其他设备无法找到该设备。因此,当用户在他们的 Web 浏览器中键入一个人性化的 URL,如“www.mfisp.com”(使用计算机友好的 IP 地址,如192.123.1.1 – 对于 IPv4 或2606:1100:220:1:258 :1893:25c8:1945 – 对于 IPv6),输入浏览器的信息与通过查找服务器(包括递归解析器、根名称服务器、顶级域服务器 (TLD))的 IP 地址之间存在通信) 和权威名称服务器,然后才能在 Internet 上找到该网页。请务必注意,除了从计算机发送的初始请求外,DNS 查找过程在幕后进行,不需要计算机进行任何进一步的交互。, 什么是 DNS 劫持?,DNS 劫持是对域名系统 (DNS) 的攻击。在某些情况下,它可能是对 DNS 的攻击,使其无法使用,而在其他情况下,它可能是一种将网站用户重定向到另一个网站的隐秘模式。无论哪种方式,DNS 劫持攻击都将 DNS 用作攻击过程的重要组成部分。通常,在 DNS 劫持期间,攻击者会错误地解析用户发送的 DNS 查询,并在用户不知情的情况下将其重定向到虚假站点。之后,网站用户无意中进入了链接的有害网站或继续在网络攻击者已入侵的服务器上使用互联网。,在世界各地,每天都会发生大量的 DNS 劫持攻击浪潮,因为许多公司都有链接到其网站的域名,这些域名旨在向网站访问者提供有关其产品和服务的更多信息。,通常,恶意软件由攻击者安装在用户的计算机上,攻击者随后将他们的查询重定向到有害网站,网络犯罪分子可以在这些网站上窃取用户的登录凭据和其他信息等数据。在其他一些情况下,域名服务器通信被黑客攻击以达到相同的结果。,从业务角度来看,DNS 劫持攻击可能会使您失去无法信任您网站安全性并因无法访问您网站内容而感到沮丧的用户。它可以让黑客访问您客户的敏感信息,并使他们和您的企业面临欺诈活动的风险。,, 为什么 DNS 会被劫持?,网络罪犯出于不同的原因劫持域名系统。在某些情况下,黑客将其用于域欺骗——显示不需要的广告以从用户重定向中获取收入。在其他情况下,它被用于网络钓鱼——显示有害的虚假网站,旨在窃取用户的凭据和其他数据。然而,在许多其他情况下,黑客发起域名系统攻击的主要目的是非常明显的。他们想从网站用户的银行账户中抽取资金到其他渠道,进行信用卡欺诈,在暗网上出售从此类网站获得的用户个人数据。,同样公开的秘密是,相当多的互联网服务提供商(ISP)也使用这种域重定向方法来控制用户的DNS查询,收集他们的数据,并根据这些数据定制广告。在一些不受欢迎的情况下,ISP 随后会向其订户提供可配置的设置,以自行禁用劫持。如果设置正确,该设置会将 DNS 恢复为默认状态。但是,在更多情况下,其他 ISP 会使用网络浏览器 cookie 来存储用户的偏好。在这种情况下,用户的 DNS 查询继续被重定向,而 ISP 重定向页面被伪造的 DNS 错误页面所取代。一些政府机构使用 DNS 劫持将用户重定向到政府网站或在其他一些情况下用于审查目的。, DNS 劫持攻击的类型,网络犯罪分子可以通过四种不同的方式实现 DNS 劫持:,, 缓解 DNS 劫持的方法,由于 DNS 劫持是对网站的频繁攻击,网站所有者和用户都应该采取预防措施来防止 DNS 劫持。有很多方法可以从网站使用的前端和后端防止 DNS 劫持。,要提高您的 DNS 安全性:, 针对最终用户的 DNS 劫持缓解措施,除了在 DNS 劫持期间用未经请求的产品广告塞满用户的设备外,攻击者还会获取用户的凭据和其他个人数据。因此,作为网站用户,您可以不时更改您的路由器密码,在您的计算机上安装防病毒软件并保持更新,只连接到可靠的私人和公共网络,或者使用 VPN 通道将您的 IP 地址更改为防止 DNS...
设置服务器时需要考虑许多因素;性能、可靠性、可扩展性和控制是最广为人知的因素。根据您的操作和您对服务器的需求,您可以通过多种方式设置您的服务器。每种设置都有自己的优点和缺点,并且会专门针对特定用户。因此,根据您的需要,您可以以不同的方式设置您的服务器。鉴于用户在设置计算环境时遇到的问题,我们想到写一篇博客来解释各种组合。,,在这种安排中,您将拥有一台服务器,它将处理有效运行应用程序所需的一切。这意味着,您的数据库和应用程序将共享同一台机器的资源。,此类服务器最适合在您的服务器上快速设置应用程序。也就是说,web服务器、应用服务器和数据库服务器在一台机器上。这种设置的唯一缺点是它提供的可扩展性很小,而且组件隔离几乎不存在。,它是最简单的系统之一,缺点:应用程序和数据库在争用同一台服务器的资源时会产生冲突。这反过来会产生较差的性能和较高的应用程序延迟。该系统不容易扩展。,数据库和应用程序都可以有一个单独的服务器,因此不存在资源冲突,因为两者在技术上在不同的机器上是分开的。单独的数据库服务器的安全性也得到了增强,因为您可以在每个地方部署多个安全点。,用例:它非常适合在不影响质量的情况下快速设置应用程序,因为应用程序和数据库永远不会争夺同一资源。,,顾名思义,负载平衡器通过将工作负载均匀分布在多台服务器上来平衡服务器之间的工作负载,以提高可靠性。即使连接到负载均衡器的其中一台服务器发生故障,其他服务器也可以有效地处理传入的数据,直到故障排除或更换默认服务器为止。负载平衡器以通过同一域和端口处理多个应用程序而闻名。,需要通过添加越来越多的服务器来频繁扩展资源的环境。对于具有因客户需求而变化的不同需求的组织来说就是这种情况。如果您拥有这样的企业之一,您一定会从负载均衡器设置中受益。,HTTP 加速器也称为缓存 HTTP 反向代理,旨在通过一系列技术减少用户访问服务器文件和其他内容所花费的时间。使用加速器部署的主要技术是在内存中缓存来自 Web 或应用程序服务器的响应。如果您是新手,缓存会在附近的服务器中创建文件的副本,以便在需要时可以更快地加载文件。,改进数据库系统最深刻的方法之一是实现主副本数据库复制。复制要求一个主节点与一个或多个副本节点一起使用。,读/写性能根据需要而变化的数据库和 Web 应用程序。,需要提高数据库层读取性能的地方。,通过在服务器之间传播副本来显着提高数据库服务器的读取性能。可以通过使用可用的独有更新来提高写入性能。,,访问数据库的应用程序必须有系统来识别哪些数据库节点应该发送更新和读/写请求。如果主系统出现故障,则在更正问题之前无法执行更新。主节点的故障会严重影响所有后续节点的故障。,现在您已经了解了很多关于服务器设置的知识,您一定对您将用于自己的应用程序的设置类型有一个相当不错的想法。请记住,您测试的越多,您就越能够在没有太多复杂性的情况下运行您的计算环境。, ,设置服务器时需要考虑许多因素;性能、可靠性、可扩展性和控制是最广为人知的因素。根据您的操作和您对服务器的需求,您可以通过多种方式设置您的服务器。每种设置都有自己的优点和缺点,并且会专门针对特定用户。因此,根据您的需要,您可以以不同的方式设置您的服务器。鉴于用户在设置计算环境时遇到的问题,我们想到写一篇博客来解释各种组合。,缺点:应用程序和数据库在争用同一台服务器的资源时会产生冲突。这反过来会产生较差的性能和较高的应用程序延迟。该系统不容易扩展。,