Menu Close

什么是 DDoS 攻击?如何防止DDoS 攻击

DDoS 攻击使黑客能够用虚假流量淹没网络或服务器。过多的流量会使资源过载并中断连接,从而阻止系统处理真正的用户请求。服务变得不可用,目标公司遭受长时间停机、收入损失和客户不满意。

本文解释了企业如何防止 DDoS 攻击,并在黑客之前杜绝DDos攻击。我们在下面展示的做法有助于最大限度地减少 DDoS 的影响并确保从攻击尝试中快速恢复。

1.什么是 DDoS 攻击?

DDoS(分布式拒绝服务)是一种网络攻击,旨在用虚假流量进行攻击来使网络、服务或服务器崩溃。消息、连接请求或数据包的突然激增使目标的基础设施不堪重负,并导致系统变慢或崩溃。

虽然一些黑客使用 DDoS 攻击勒索企业支付赎金(类似于勒索软件),但 DDoS 背后更常见的动机是:

  • 中断服务或通信。
  • 造成品牌损害。
  • 在竞争对手的网站关闭时获得业务优势。
  • 分散事件响应团队的注意力。
DDOS 进攻
DDOS 进攻

DDoS 攻击对各种规模的企业都是一种威胁,从财富 500 强公司到小型电子零售商。据统计,DDoS 黑客最常针对:

  • 在线零售商。
  • IT 服务提供商。
  • 金融和金融科技公司。
  • 政府实体。
  • 在线游戏和赌博公司。

攻击者通常使用僵尸网络来引发 DDoS。僵尸网络是受攻击者控制的受恶意软件感染的计算机、移动设备和物联网小工具的链接网络。黑客使用这些“僵尸”设备向目标网站或服务器的 IP 地址发送过多的请求。

一旦僵尸网络发送了足够多的请求,在线服务(电子邮件、网站、Web 应用程序等)就会变慢或失败。根据 Radware 报告,以下是 DDoS 攻击的平均长度:

  • 33% 的人让服务在一个小时内不可用。
  • 60% 持续不到一整天。
  • 15% 持续一个月。

虽然 DDoS 通常不会直接导致数据泄露或泄露,但受害者会花费时间和金钱让服务重新上线。业务损失、购物车被遗弃、用户沮丧和名誉受损是未能阻止 DDoS 攻击的常见后果。

2. DDoS 攻击的工作原理

DDoS 攻击的工作原理
DDoS 攻击的工作原理

DDoS 攻击是通过连接互联网的计算机网络进行的。

这些网络由计算机和其他设备(例如 IoT 设备)组成,它们感染了恶意软件,从而被攻击者远程控制。这些个体设备称为机器人(或僵尸),一组机器人则称为僵尸网络。

一旦建立了僵尸网络,攻击者就可通过向每个机器人发送远程指令来发动攻击。

当僵尸网络将受害者的服务器或网络作为目标时,每个机器人会将请求发送到目标的 IP 地址,这可能导致服务器或网络不堪重负,从而造成对正常流量的拒绝服务。

由于每个机器人都是合法的互联网设备,因而可能很难区分攻击流量与正常流量。

3. 如何识别 DDoS 攻击

DDoS 攻击最明显的症状是网站或服务突然变慢或不可用。但是,造成类似性能问题的原因有多种(如合法流量激增),因此通常需要进一步调查。流量分析工具可以帮助您发现 DDoS 攻击的一些明显迹象:

  • 来自单个 IP 地址或 IP 范围的可疑流量
  • 来自共享单个行为特征(例如设备类型、地理位置或 Web 浏览器版本)的用户的大量流量
  • 对单个页面或端点的请求数量出现不明原因的激增
  • 奇怪的流量模式,例如一天中非常规时间段的激增或看似不自然的模式(例如,每 10 分钟出现一次激增)

DDoS 攻击还有其他更具体的迹象,具体取决于攻击的类型。

4.常见的 DDoS 攻击有哪几类?

不同类型的 DDoS 攻击针对不同的网络连接组件。为了解不同的 DDoS 攻击如何运作,有必要知道网络连接是如何建立的。

互联网上的网络连接由许多不同的组件或“层”构成。就像打地基盖房子一样,模型中的每一步都有不同的用途。

OSI 模型(如下图所示)是一个概念框架,用于描述 7 个不同层级的网络连接。

DDoS攻击类型
常见DDoS攻击类型

虽然几乎所有 DDoS 攻击都涉及用流量淹没目标设备或网络,但攻击可以分为三类。攻击者可能利用一种或多种不同的攻击手段,也可能根据目标采取的防范措施循环使用多种攻击手段。

DDoS 的类型的分布,64% 是属于容量耗尽型攻击,18% 是属于状态耗尽型攻击,应用层攻击也大约是 18%。

4.1 应用程序层攻击

攻击目标:

此类攻击有时称为第 7 层 DDoS 攻击(指 OSI 模型第 7 层),其目标是耗尽目标资源。

攻击目标是生成网页并传输网页响应 HTTP 请求的服务器层。在客户端执行一项 HTTP 请求的计算成本比较低,但目标服务器做出响应却可能非常昂贵,因为服务器通常必须加载多个文件并运行数据库查询才能创建网页。

第 7 层攻击很难防御,因为难以区分恶意流量和合法流量。

应用程序层攻击示例:

HTTP 洪水 DDoS Attack

HTTP 洪水

HTTP 洪水攻击类似于同时在大量不同计算机的 Web 浏览器中一次又一次地按下刷新 ——大量 HTTP 请求涌向服务器,导致拒绝服务。

这种类型的攻击有简单的,也有复杂的。

较简单的实现可以使用相同范围的攻击 IP 地址、referrer 和用户代理访问一个 URL。复杂版本可能使用大量攻击性 IP 地址,并使用随机 referrer 和用户代理来针对随机网址。

4.2协议攻击

攻击目标:

协议攻击也称为状态耗尽攻击,这类攻击会过度消耗服务器资源和/或防火墙和负载平衡器之类的网络设备资源,从而导致服务中断。

协议攻击利用协议堆栈第 3 层和第 4 层的弱点致使目标无法访问。

协议攻击示例:

SYN 洪水 DDoS 攻击

SYN 洪水

SYN 洪水就好比补给室中的工作人员从商店的柜台接收请求。

工作人员收到请求,前去取包裹,再等待确认,然后将包裹送到柜台。工作人员收到太多包裹请求,但得不到确认,直到无法处理更多包裹,实在不堪重负,致使无人能对请求做出回应。

此类攻击利用 TCP 握手(两台计算机发起网络连接时要经过的一系列通信),通过向目标发送大量带有伪造源 IP 地址的 TCP“初始连接请求”SYN 数据包来实现。

目标计算机响应每个连接请求,然后等待握手中的最后一步,但这一步确永远不会发生,因此在此过程中耗尽目标的资源。

4.3 容量耗尽攻击

攻击目标:

此类攻击试图通过消耗目标与较大的互联网之间的所有可用带宽来造成拥塞。攻击运用某种放大攻击或其他生成大量流量的手段(如僵尸网络请求),向目标发送大量数据。

放大示例:

NTP 放大 DDoS 攻击

DNS 放大

DNS 放大就好比有人打电话给餐馆说“每道菜都订一份,请给我回电话复述整个订单”,而提供的回电号码实际上属于受害者。几乎不费吹灰之力,就能产生很长的响应并发送给受害者。

利用伪造的 IP 地址(受害者的 IP 地址)向开放式 DNS 服务器发出请求后,目标 IP 地址将收到服务器发回的响应。

5.如何防止DDos进攻?

虽然没有办法阻止黑客尝试造成 DDoS攻击,但适当的计划和主动措施可以降低攻击的风险和潜在影响。

若要缓解 DDoS 攻击,关键在于区分攻击流量与正常流量。

例如,如果因发布某款产品导致公司网站涌现大批热情客户,那么全面切断流量是错误之举。如果公司从已知恶意用户处收到的流量突然激增,或许需要努力缓解攻击。

难点在于区分真实客户流量与攻击流量。

在现代互联网中,DDoS 流量以多种形式出现。流量设计可能有所不同,从非欺骗性单源攻击到复杂的自适应多方位攻击无所不有。

多方位 DDoS 攻击采用多种攻击手段,以期通过不同的方式击垮目标,很可能分散各个层级的缓解工作注意力。

同时针对协议堆栈的多个层级(如 DNS 放大(针对第 3/4 层)外加 HTTP 洪水(针对第 7 层))发动攻击就是多方位 DDoS 攻击的一个典型例子。

为防护多方位 DDoS 攻击,需要部署多项不同策略,从而缓解不同层级的攻击。

一般而言,攻击越复杂,越难以区分攻击流量与正常流量 —— 攻击者的目标是尽可能混入正常流量,从而尽量减弱缓解成效。

如果缓解措施不加选择地丢弃或限制流量,很可能将正常流量与攻击流量一起丢弃,同时攻击还可能进行修改调整以规避缓解措施。为克服复杂的破坏手段,采用分层解决方案效果最理想。

5.1.定期检查服务器漏洞

定期检查服务器软件安全漏洞,是确保服务器安全的最基本措施。无论是操作系统(Windows或linux),还是网站常用应用软件(mysql、Apache、nginx、FTP等),服务器运维人员要特别关注这些软件的最新漏洞动态,出现高危漏洞要及时打补丁修补。

5.1.1黑洞路由

有一种解决方案几乎适用于所有网络管理员:创建黑洞路由,并将流量汇入该路由。在最简单的形式下,当在没有特定限制条件的情况下实施黑洞过滤时,合法网络流量和恶意网络流量都将路由到空路由或黑洞,并从网络中丢弃。

如果互联网设备遭受 DDoS 攻击,则该设备的互联网服务提供商(ISP)可能会将站点的所有流量发送到黑洞中作为防御。这不是理想的解决方案,因为它相当于让攻击者达成预期的目标:使网络无法访问。

5.2.隐藏服务器真实IP

通过CDN节点中转加速服务,可以有效的隐藏网站服务器的真实IP地址。CDN服务根据网站具体情况进行选择,对于普通的中小企业站点或个人站点可以先使用免费的CDN服务,比如百度云加速、七牛CDN等,待网站流量提升了,需求高了之后,再考虑付费的CDN服务。

其次,防止服务器对外传送信息泄漏IP地址,最常见的情况是,服务器不要使用发送邮件功能,因为邮件头会泄漏服务器的IP地址。如果非要发送邮件,可以通过第三方代理(例如sendcloud)发送,这样对外显示的IP是代理的IP地址。

5.3.关闭不必要的服务或端口

这也是服务器运维人员最常用的做法。在服务器防火墙中,只开启使用的端口,比如网站web服务的80端口、数据库的3306端口、SSH服务的22端口等。关闭不必要的服务或端口,在路由器上过滤假IP。

5.4.购买高防提高承受能力

该措施是通过购买高防的盾机,提高服务器的带宽等资源,来提升自身的承受攻击能力。一些知名IDC服务商都有相应的服务提供,比如阿里云、腾讯云等。但该方案成本预算较高,对于普通中小企业甚至个人站长并不合适,且不被攻击时造成服务器资源闲置,所以这里不过多阐述。

5.5.限制SYN/ICMP流量

用户应在路由器上配置SYN/ICMP的最大流量来限制SYN/ICMP封包所能占有的最高频宽,这样,当出现大量的超过所限定的SYN/ICMP流量时,说明不是正常的网络访问,而是有黑客入侵。早期通过限制SYN/ICMP流量是最好的防范DOS的方法,虽然目前该方法对于DdoS效果不太明显了,不过仍然能够起到一定的作用。

5.5.1速率限制

限制服务器在某个时间段接收的请求数量也是防护拒绝服务攻击的一种方法。

虽然速率限制对于减缓 Web 爬虫窃取内容及防护暴力破解攻击很有帮助,但仅靠速率限制可能不足以有效应对复杂的 DDoS 攻击。

然而,在高效 DDoS 防护策略中,速率限制不失为一种有效手段。

5.6.网站请求IP过滤

除了服务器之外,网站程序本身安全性能也需要提升。以小编自己的个人博客为例,使用cms做的。系统安全机制里的过滤功能,通过限制单位时间内的POST请求、404页面等访问操作,来过滤掉次数过多的异常行为。虽然这对DDOS攻击没有明显的改善效果,但也在一定程度上减轻小带宽的恶意攻击

5.7 Web 应用程序防火墙

Web 应用程序防火墙(WAF) 是一种有效工具,有助于缓解第 7 层 DDoS 攻击。在互联网和源站之间部署 WAF 后,WAF 可以充当反向代理,保护目标服务器,防止其遭受特定类型的恶意流量入侵。通过基于一系列用于识别 DDoS 工具的规则过滤请求,可以阻止第 7 层攻击。有效的 WAF 的一个关键价值是能够快速实施自定义规则以应对攻击。

5.7.1 如果利用linux系统, 可以利用iptables

$ iptables -A INPUT -s 22.22.22.22 -j DROP

5.7.2 – Web 服务器也可以过滤请求

location / {
deny 22.22.22.22;
}

5.7.3Apache 的写法是在.htaccess文件里面,加上下面一段

Require all granted
Require not ip 22.22.22.22

5.8 Anycast 网络扩散

此类缓解方法使用 Anycast 网络,将攻击流量分散至分布式服务器网络,直到网络吸收流量为止。这种方法就好比将湍急的河流引入若干独立的小水渠,将分布式攻击流量的影响分散到可以管理的程度,从而分散破坏力。Anycast 网络在缓解 DDoS 攻击方面的可靠性取决于攻击规模及网络规模和效率。采用 Anycast 分布式网络是 Cloudflare 实施 DDoS防护策略的一个重要组成部分。

 

历史上有哪些重大的 DoS 攻击?

从历史上看,DoS 攻击通常利用网络、软件和硬件设计中存在的安全漏洞。这种攻击已变得不那么普遍,因为 DDoS 攻击具有更强的破坏性,并且一旦有可用工具便相对容易实现。实际上,大多数 DoS 攻击也可以转变为 DDoS 攻击。

一些曾经常见的 DoS 攻击包括:

  • Smurf 攻击 – 一种曾被利用的 DoS 攻击。恶意行为者通过发送伪造的数据包来利用易受攻击的网络的广播地址,从而导致目标 IP 地址被淹没。
  • Ping 洪水攻击 – 这种简单的拒绝服务攻击基于用 ICMP (ping) 数据包使目标不堪重负。用数量超过其有效响应能力的 ping 来淹没目标,从而造成拒绝服务。此攻击也可以用作 DDoS 攻击。
  • 死亡之 Ping – 通常与 Ping 洪水攻击混为一谈,死亡之 Ping 攻击涉及将格式错误的数据包发送到目标计算机,从而导致系统崩溃等有害行为。

 

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Leave the field below empty!

Posted in 网络安全

Related Posts