来源:https://sucuri.net/guides/what-is-a-ddos-attack/
分布式拒绝服务(DDoS)攻击是一种非侵入性的互联网攻击,通过虚假流量充斥网络、服务器或应用程序,使目标网站瘫痪或减慢其速度。当针对脆弱的资源密集型端点时,即使很小的流量也足以使攻击成功。
分布式拒绝服务(DDoS)攻击是网站所有者必须熟悉的威胁,因为它们是安全领域的重要组成部分。处理各种类型的DDoS攻击可能很有挑战性,也很耗时。为了帮助您理解什么是DDoS攻击以及如何防止它,我们编写了以下指南。
1 什么是DDoS攻击?
1.1 了解DDoS攻击
DDoS攻击的目的是阻止合法用户访问您的网站。DDoS攻击要想成功,攻击者需要发送超过受害服务器处理能力的请求。另一种成功的攻击发生的方式是攻击者发送虚假请求。
1.2 DDoS攻击是如何工作的?
DDoS攻击通过发送虚假流量峰值来测试web服务器、网络和应用程序资源的极限。有些攻击只是对脆弱的端点(如搜索功能)发出短时间的恶意请求。DDoS攻击使用被称为僵尸网络的僵尸设备大军。这些僵尸网络通常由受威胁的物联网设备、网站和计算机组成。
当发生DDoS攻击时,僵尸网络会攻击目标,耗尽应用资源。一次成功的DDoS攻击可以阻止用户访问一个网站,或者降低访问速度,从而增加跳出率,从而造成经济损失和性能问题。
1.3 - DDoS攻击的目的是什么?
攻击者利用拒绝服务(DoS)攻击方法的主要目标是破坏网站的可用性:
(1)网站对合法请求的响应可能会变慢。
(2)该网站可以完全关闭,使合法用户无法访问它。
(3)根据您的配置,任何类型的破坏都可能对您的业务造成毁灭性的影响。
(4)跳到第4节来学习其中的一些原因。
1.4 DoS攻击和DDoS攻击有什么区别?
DoS (Denial of Service)攻击和DDoS (Distributed Denial of Service)攻击非常相似。它们之间唯一的区别是它们的规模。单一的DoS攻击来自一个源,而DDoS(分布式)攻击来自多个位置,通常是欺骗。
无论是DoS攻击还是DDoS攻击,攻击者都使用一台或多台计算机。DoS攻击属于这一范围的低端,而DDoS攻击属于高端。非常大的DDoS攻击可以跨越数百或数千个系统。DoS/DDoS攻击的激增直接归因于DDoS出租服务市场的激增,也被称为Booter服务。
1.5 DDoS攻击可以窃取信息吗?
DDoS攻击无法窃取网站访问者的信息。DDoS攻击的唯一目的是使网站资源过载。然而,DDoS攻击可以被用作敲诈勒索的一种方式。例如,网站所有者可能被要求为攻击者支付赎金以阻止DDoS攻击。
DDoS攻击可能有许多其他动机,包括政治、黑客、恐怖分子和商业竞争。任何出于经济或意识形态动机的人都可以通过对一个组织发起DDoS攻击来破坏它。
1.6 DDoS攻击的特征是什么?
DDoS攻击的特征包括:
该网站反应缓慢。
网站反应迟钝。
用户在访问网站时遇到了问题。
网络连接问题,如果你是一个目标。
根据您的配置,任何类型的破坏都可能对您的业务造成毁灭性的影响。
跳到第4节来学习其中的一些原因。
1.7 DDoS攻击的放大效应
每次我们谈到DDoS攻击,我们不得不提到它的放大效应。为了实现放大,大多数攻击者利用僵尸网络组成的受损计算机,允许他们扩大他们的攻击跨越僵尸网络的规模。一个攻击者可以控制1000个机器人,然后可以用来DDoS攻击受害者。这是1000个机器人对1个服务器,使得攻击者更容易获胜。然而,攻击者并不总是需要控制僵尸网络。它们还可以使主机向错误的目的地发送响应。例如,脆弱的memcached服务器被用来关闭Github,它们没有一个真正被黑客攻击,只是被攻击者愚弄了。
放大的另一个方面与网络层和欺骗请求有关。如果僵尸网络上的每台计算机只需要发送1个字节就能得到100个字节的响应呢?这叫做100倍放大。当请求被欺骗时,回复会返回给互联网上的其他人,而不是攻击者。这意味着服务器的网口正在处理1字节输入+ 100字节输出,而攻击者在他们的端只处理1字节输出。
当使用正确的放大方法时,一个理论上由1000个僵尸程序组成的小型僵尸网络可以很容易地产生接近100 Gbps的数据。
放大效应还不止于此。大多数人倾向于只从网络的gb来考虑它们,但是在应用程序层也发生了一些变化。
如果攻击者仅通过僵尸网络的一个HTTP请求就可以迫使web应用程序执行大量工作,那该怎么办呢?比如昂贵的搜索或者需要大量资源的搜索?这是我们所看到的许多第七层(HTTP flood)攻击的基础。
1.8 DDoS攻击时会发生什么?
你有没有想过DDoS攻击过程中会发生什么,以及它在技术方面是什么样子的?
DDoS攻击会消耗服务器资源,增加网站加载时间。当DDoS攻击攻击一个网站时,它可能会导致性能问题,或者通过压倒服务器资源(如CPU、内存甚至整个网络)而使服务器完全崩溃。如今,大多数DDoS攻击源自由易受攻击物联网设备组成的黑客控制的僵尸网络。这包括联网的安全摄像头、家用电器、智能电视、家庭照明系统,甚至冰箱。
DDoS攻击的指数级增长主要是由于对物联网设备完全缺乏监管控制,这使它们成为僵尸网络的优秀新兵。被劫持的一组拥有唯一IP地址的物联网设备可以被重定向,对网站发出恶意请求,从而引发DDoS攻击。
2 DDoS攻击类型
DDoS攻击主要用于消耗web服务器资源。其结果是,他们减慢或完全停止您的服务器或网站。
物联网(IoT)是嵌入在电子、软件、传感器、执行器和连接性中的物理设备的网络。这些对象能够连接和交换数据,这些数据也可以用于恶意攻击。
你的设备,比如家用路由器,可能会被攻击,成为DDoS攻击的僵尸网络。
我们发现了大量与物联网设备相关的大规模DDoS攻击。你可以在这里阅读相关文章:
大型闭路电视僵尸网络利用DDoS攻击
物联网家庭路由器僵尸网络在大型DDoS攻击中发挥作用
在下面的部分中,我们将介绍一些类型的DDoS攻击。
2.1 基于容量的DDoS攻击
顾名思义,基于容量的DDoS攻击依赖于流入流量的大小。这种类型的攻击的目的是使网站的带宽过载或导致CPU或IOPS使用问题。
攻击者使用一个基本的战术-更多的资源赢得这场游戏。如果他们能超载你的资源,攻击就是成功的。
攻击者很容易达到他们的目标。大多数网站所有者都使用共享主机,而拥有虚拟专用服务器(VPS)环境的网站通常设置在最小的层和配置中。
这种攻击可以用每秒比特数( bits per second)来衡量。
基于容量的DDoS攻击包括:
UDP洪水
用户数据报协议(User Datagram Protocol, UDP) DoS攻击会随机淹没各种端口,导致主机服务器返回一个ICMP报文。这是一种协议,用于在出现问题阻止IP包发送时生成到IP地址的错误消息。UDP泛洪是通过数据包进行的——也称为3 / 4层攻击。这会迫使web服务器响应,进而吞噬您的web服务器资源,迫使它停止或完全死亡。UDP是一种无连接协议,这意味着它不验证源IP地址。正因为如此,UDP攻击通常与分布式反射拒绝服务(DRDoS)攻击相关联。
ICMP洪水
攻击者通过大量源ip发送欺骗的ICMP报文,使服务器泛滥。这种攻击的结果是耗尽服务器资源和处理请求失败,导致服务器重新启动或对其性能造成广泛影响。ICMP flood攻击可以针对特定的服务器,也可以是随机的。它基本上消耗带宽到精疲力尽的程度。
Ping洪水
攻击者通过大量源ip向服务器发送欺骗ping报文。它是ICMP flood攻击的演化。攻击者的目标是使服务器充斥,直到它离线。对网站所有者来说,这种攻击最大的缺点是很难检测到,会被误认为是合法的流量。
Ping flood,也被称为ICMP flood,是一种常见的拒绝服务(DoS)攻击,攻击者通过ICMP响应请求(也被称为Ping)使受害者的计算机瘫痪。
这种攻击包括向受害者的网络发送大量请求包,而知道网络将以相同数量的应答包进行响应。使用ICMP请求关闭目标的其他方法包括使用自定义工具或代码,如hping和scapy。
这对网络的传入和传出通道都造成了压力,消耗了大量的带宽并导致拒绝服务。
2.2 基于协议的DDoS攻击
互联网是基于协议的。基于协议的DDoS攻击利用了第3层和第4层协议栈的弱点。这种类型的攻击会消耗服务器资源或任何其他网络硬件的处理能力。其结果是服务中断。
这些攻击试图通过发送超过服务器能够处理的包或超过网络端口能够处理的带宽来利用您的网络堆栈。
攻击次数以Pps (packet per second)为单位。
基于协议的DDoS攻击包括:
Ping of Death
攻击者向服务器发送恶意ping信号,操纵IP协议。这种袭击在20世纪90年代非常常见。如今,尽管攻击已经发展,但仍有一些形式的Ping of Death攻击可以针对应用程序或硬件。这种攻击的结果是重新引导或服务器完全崩溃。这正是DoS攻击不能被低估的原因:单个攻击者可以使整个数据中心瘫痪。
Ping of Death是对计算机系统的一种攻击,涉及向计算机发送畸形或恶意的ping。一个正确的ping报文大小通常是56字节,考虑ICMP报头时是64字节,包括Internet协议版本4报头时是84字节。但是,任何IPv4报文(包括ping)都可能高达65,535字节。一些计算机系统从来没有被设计成能够正确处理大于最大包大小的ping包,因为它违反了RFC 791中记录的互联网协议。与其他大型但格式良好的数据包一样,Ping of Death在传输前被分成8个字节的组。但是,当目标计算机重新组装畸形数据包时,可能会发生缓冲区溢出,导致系统崩溃,并可能允许注入恶意代码。
SYN洪水
攻击者利用传输控制协议(TCP)连接三次握手中的弱点,这是客户端、主机和服务器之间的通信过程。攻击者向目标服务器发送SYN包作为欺骗消息,直到服务器的表内存连接耗尽,导致整个服务关闭。
2.3 应用层攻击
这种攻击的基础通常是像Web服务器(即Windows IIS, Apache等)这样的应用程序;然而,应用层攻击已经发展到WordPress、Joomla、Drupal、Magento等应用平台。
应用层攻击的目标是攻击应用程序、在线服务或网站。
这些攻击通常比我们以前见过的要小。然而,应用层攻击的后果可能是有害的,因为它们可能不被注意到,直到来不及作出反应。这就是为什么它们被称为“低而慢的攻击”——“low and slow attacks”,甚至是“慢速攻击”——“slow-rate attacks”。它们可能是无声的、小规模的,特别是与网络层攻击相比,但它们也可能具有破坏性。
例如,Linode、Digital Ocean或AWS (Amazon)上的小型VPS每秒可以轻松处理10万到20万个SYN包。然而,运行在WordPress或Joomla CMS上的同一台服务器在不关闭的情况下每秒只能中断500个HTTP请求。这就是为什么应用层攻击可以造成与网络应用程序攻击一样大的破坏。
当您考虑我们在1.4节中讨论的放大效应时,即使是一个HTTP请求(攻击者不需要花费很多金钱或资源就可以执行)也会导致服务器执行大量内部请求并加载大量文件来创建页面。
应用层攻击(通常称为第七层攻击)可以是攻击的一部分,它不仅针对应用程序,也针对带宽和网络。
这些攻击上升的原因之一是,恶意行为者实现它们的成本往往较低。在应用层攻击中,放大是基于CPU、内存或资源的,而不是基于网络的。
这些攻击也比网络层攻击更难检测。
你的设备,比如家用路由器,可能会被攻击,成为DDoS攻击的僵尸网络。我们发现了大量与物联网设备相关的大规模DDoS攻击。
应用层攻击包括:
针对DNS服务器的攻击:
域名系统(DNS)是至关重要的网站基础设施。DNS将信息与域名关联起来,它们也可能成为DDoS攻击的目标。
这些攻击使用欺骗、反射和放大,这意味着一个很小的查询可以在很大程度上被放大,从而产生以字节为单位的更大的响应。
僵尸网络被用来发送DNS请求。如果攻击者想要攻击DNS服务器,它会利用网络中的所有僵尸网络发送DNS请求消息,获取打开的递归DNS服务器的放大记录,这些DNS服务器将域名转换为IP地址。当这是一个新的请求时,服务器立即向受感染的服务器发出自己的请求,以获取放大记录。这种攻击是通过欺骗来完成的,因此即使服务器从未发送过请求,它也会因为响应而负担过重。
这些攻击在今天非常流行。它们发生在第3 / 4层,使用世界各地的公开可访问的DNS服务器,以DNS响应流量淹没您的web服务器。您的web服务器被大量的响应淹没了,从而使其资源耗尽而难以正常工作,使其无法响应合法的DNS流量。
第三层DNS放大(Layer 3 DNS Amplification)是一种DDoS攻击,攻击者通过反射第三方的攻击,隐藏目标站点的攻击源。它使用放大技术,这意味着受害者接收到的字节数超过了攻击者发送的字节数,从而增加了攻击的威力。
如果这些攻击成功,目标站点将关闭并不可用。
第七层HTTP Flood - Cache Bypass:
第七层HTTP Flood - Cache Bypass是最聪明的攻击类型。攻击者试图使用造成最大破坏的url,使网站在没有缓存的情况下耗尽所有资源。例如,攻击可以对“news”、“gov”、“faith”进行随机字典搜索,这将消耗网站的大量资源,而且不容易被发现,因为它看起来像普通用户的搜索习惯。
第七层HTTP Flood攻击:
第七层HTTP Flood攻击是一种DDoS攻击,其主要目的是使站点或服务器的特定部分过载。它们很复杂,很难检测,因为发送的请求看起来像合法的流量。这些请求消耗服务器的资源,导致站点宕机。这些请求也可以由机器人发送,增加攻击的威力。
关于第7层DDOS攻击(又称HTTP flood攻击),一个有趣的地方是,它们对带宽的依赖很小,允许它们通过超载服务器资源来轻松关闭服务器。根据web服务器和应用程序栈的不同,即使是每秒少量的请求也会阻塞应用程序和后端数据库。平均来说,每秒超过100个请求的攻击有可能使大多数中等规模的网站瘫痪。
这种类型的攻击的问题是,服务器级缓存无法阻止它。传入的url是动态的,对于每个不在缓存中的新请求,应用程序强制从数据库重新加载内容,这将创建一个新页面。攻击者知道这一点,这使得它成为当今第七层DDoS攻击的首选攻击方法。
我们将HTTP flood(第7层DDoS尝试)分为4大类:
基本HTTP flood:常见和简单的攻击,试图一次又一次地访问同一页面。它们通常使用相同范围的IP地址、用户代理和引用。
随机HTTP flood:复杂的攻击,利用大量的IP地址池和随机的url,用户代理和引用。
Cache-bypass HTTP flood:随机HTTP flood的一个子类,它也试图绕过web应用程序缓存。
WordPress XMLRPC flood:一个使用WordPress pingback作为攻击反射的子类别。
任何启用了pingback的WordPress站点(默认是开启的)都可以被用来对其他站点进行DDoS攻击。
XMLRPC用于pingback、trackback、通过移动设备的远程访问和许多其他特性。然而,它也可能被攻击者严重滥用。
可能发生的情况是,其他WordPress网站可能会大量发送随机请求,导致网站瘫痪。
一个攻击者可以使用数千个干净的WordPress安装来执行DDoS攻击,只需对XML-RPC文件发出一个简单的pingback请求。换句话说,在Linux中一个简单的命令就可以发动大规模的攻击。
如果你有兴趣了解更多关于合法的WordPress网站被滥用来执行DDoS攻击的信息,请阅读这篇博客文章:超过162,000个WordPress网站被用于分布式拒绝服务攻击。
3. DDoS攻击的动机是什么?
3.1 DDoS勒索赎金
赎金活动可能是非常可怕的,特别是当他们之后是一个巨大的DDoS活动。
一些攻击者使用的策略是先向网站所有者发送一封电子邮件,然后进行小规模的DDoS攻击,这种攻击可以持续很短的时间。
以下是赎金活动中使用的电子邮件的一些例子:
在发送赎金邮件之前,第一次DDoS攻击的目的是为了表明,如果网站所有者不支付赎金,事情会变得更糟。更严重的DDoS攻击通常紧随第一个攻击之后,如果没有可靠的WAF,它们可能会让网站瘫痪。
这种勒索活动始于2014年,主要集中在比特币交易网站和金融机构。然而,这场运动不断发展,已经威胁到更多中等规模的网站。
阻止DDoS攻击的赎金价格从小额到巨额不等。赎金通常是用比特币支付的。
我们对所有人的建议是,永远不要支付赎金,因为恶意行为者通过这些活动赚的钱越多,他们创造和释放的活动就越多。
与所有勒索软件一样,最好的选择是在网站受到攻击之前做好备份和保护。
3.2 黑客行动主义
黑客行动主义是指黑客为了传播信息而发动攻击。
这种网站攻击的动机也许是最难理解的。与其他攻击类似,这些攻击的驱动因素是金钱或滥用。然而,当黑客行动主义发生时,其目的通常是为了抗议宗教或政治议程。
黑客可以通过DDoS攻击向黑客社区的同行炫耀,以此作为炫耀的权利。
许多DDoS攻击的目标是政府、金融或商业网站。例如,黑客可以DDoS攻击一个网站,以出于政治原因关闭它。如果发生在知名组织身上,黑客就有机会声称对攻击负责,并发表声明。
3.3 定向攻击
雇佣黑客可以被用来破坏网站的声誉,或者给营销团队带来痛苦。这通常是为较大的企业保留的,但并不总是规则。举个例子,想想福布斯的黑客事件。最近有很多此类黑客攻击的例子,他们成为攻击目标的原因也很明显。进入这些环境所需要的努力水平是指数级的困难。
DDoS攻击在竞争企业中很流行。它们可以用于对抗大的或小的站点,可以是由竞争、纯粹的无聊或需要挑战驱动的。这些攻击的范围从非常简单到非常复杂,其目的是破坏一个网站的可用性。
3.4 纯粹无聊
有些事情总是让人们猝不及防,人们攻击一个网站纯粹是出于无聊和娱乐。说这些黑客总是很年轻是不公平的,但是这些攻击者大部分时间都是精通计算机的青少年,他们有的是时间。
这类黑客也被称为“脚本小子”,因为他们的年龄,他们有时只使用脚本DDoS网站。只需要一个预先编写好的脚本和一些命令,就可以针对目标网站启动受感染计算机的网络。
如果某人在电脑前感到无聊,那么创建一个大型的DDoS攻击听起来像是一个有趣的挑战。让整个业务下线是让“脚本小子”(script kiddy)更强大。
4 DDoS攻击对站点所有者的影响
大多数网站所有者将很难理解DDoS攻击的复杂细节。并不是说他们需要了解所有的事情,而是期望他们已经实施的安全控制能够充分地解决问题。不幸的是,并不是所有的保护措施都能阻止DDoS攻击的发生。
一个网站所有者可以尝试登录一天,发现网站没有打开,或者他们可以收到一个错误信息:
这对于一个依靠内容分销或广告收入为生的博客写手来说可能是灾难性的。想象一下,如果一个企业的收入依赖于他的电子商务网站,会发生什么。
你准备如何处理这件事?“我的主人会处理这件事”的答案是不正确的。
大多数主机都没有准备好解决基于应用程序的攻击问题。这也不是在应用程序层解决的问题。事实上,由于这些工具的资源密集型本质以及整个宿主生态系统,任何试图阻止这些问题的应用程序安全工具都可能成为问题的一部分,因为需要消耗本地资源。
这对于共享主机帐户尤其具有挑战性,因为攻击同一服务器上的另一个网站会迫使整个服务器被禁用,无意中影响到其他网站。
5 如何防止DDoS攻击
我们已经详细讨论了什么是DDoS攻击,以及DDoS攻击的典型类型。
现在我们将花一些时间来讨论如何保护您的站点免受ddos攻击。
5.1 激活网站应用防火墙,防止DDoS攻击
一个网站应用防火墙(WAF)阻止恶意流量远离你的网站。它是位于你的网站和它所接收的流量之间的一层保护。
网站应用程序防火墙是针对网站的特定应用程序防火墙,它超越了在网络级别传输的数据包的元数据。他们关注的是传输中的数据。创建应用程序防火墙是为了理解每种协议(如SMTP和HTTP)允许的数据类型。
考虑到保护任何网站免受DDoS攻击和其他网站破坏,我们开发了自己的专有WAF。Sucuri防火墙是一款基于云计算的软件即服务(SaaS)网站应用防火墙(WAF)和入侵防御系统(IPS)。
Sucuri防火墙作为反向代理,拦截和检查所有进入网站的超文本传输协议/安全(HTTP/HTTPS)请求。通过这种方式,Sucuri WAF可以在到达服务器之前剥离Sucuri网络边缘的恶意请求。
您可以根据需要定制Sucuri防火墙。我们还提供紧急DDoS保护网站遭受DDoS攻击。Sucuri WAF增加了一个浏览器挑战,以验证流量是来自浏览器还是脚本。
5.2 国家封锁
大多数网站攻击来自特定的国家,如中国、俄罗斯和土耳其。虽然我们没有反对这些国家,Sucuri防火墙给你选择阻止他们与你的网站互动(POST)。
你可以很容易地在我们的防火墙仪表板上启用这个选项,这样来自这些国家的IP地址仍然可以查看所有内容,但他们将不能注册,提交评论,或尝试登录。它基本上是只读模式。
5.3 监控流量
监控你的网站流量,了解流量高峰和DDoS攻击是至关重要的。正如我们之前所解释的,当有大量的流量到达服务器时,就会发生DDoS攻击。如果你的网站在一天内获得100万新用户,那就太好了,但这不是很可疑吗?
出口流量比例的急剧增加是DDoS攻击的危险信号。我们强烈建议您使用监视工具,并经常检查日志。
Sucuri有一个监控平台,这是一个针对网站的基于云的危害检测系统(CDS)。我们的监控扫描仪不断检查您的网站,如果它检测到任何可疑的东西,警告您。这可以让你迅速采取行动,减少任何对你的交通的负面影响。
Sucuri还在防火墙上提供了一个入侵检测系统(IDS),用来防止DDoS攻击使你的网站瘫痪或中断。
5.4 阻断应用层DDoS攻击
针对应用层的DDoS攻击通常采取谨慎和秘密的方式,使得它们更难被检测到。一开始,他们甚至可能被流量高峰所误导。
它们是当今最常见的攻击,影响所有的组织,无论其规模大小。任何网站都可能成为这些攻击的受害者,因为它们大多是自动化的。Sucuri防火墙的一个特性是阻止应用层DDoS攻击。
5.5 当网站受到DDoS攻击时,注意其他攻击
DDoS攻击也可以作为其他攻击的转移,特别是当恶意行为者针对金融机构发起攻击时。当所有人的目光都集中在DDoS攻击上时,数据盗窃就可能发生。
5.6 DDoS攻击怎么办?
您需要有一个DDoS缓解计划,例如网站应用程序防火墙(WAF)。
Sucuri提供了一个网站安全平台,这是一个管理的安全服务提供商的网站。我们的云平台为您提供完整的网站安全,包括一个反病毒和防火墙为您的网站。
我们监控安全事件,修复网站黑客,并保护您的网站,以防止黑客。这个平台还能让你的网站快速运行,确保运营的连续性。
我们的安全运营团队每天都会调查并减轻多次拒绝服务(DDoS)攻击。