DDOS到底是什么,怎么预防,看看就明白了
可怕的DDOS怎么预防
分布式拒绝服务(DDoS: distributed denial-of-service)攻击是恶意破坏目标服务器、服务或网络的正常通信量的企图,其方法是用大量Internet通信量淹没目标或其周围的基础设施。DDoS攻击通过利用多个受损的计算机系统作为攻击流量的来源来达到有效性。被利用的机器可以包括计算机和其他网络资源,如物联网设备。从高层来说,DDoS攻击就像堵塞高速公路的交通堵塞,阻止常规交通到达它想要的目的地。

DDoS攻击是怎么工作的?
DDoS攻击要求攻击者获得对在线计算机网络的控制,以便进行攻击。电脑或者其他机器(如物联网设备)被恶意软件感染,每台电脑都变成了僵尸。然后攻击者就可以远程控制这群被称为僵尸网络的机器人。
一旦建立了僵尸网络,攻击者就可以通过远程控制的方法向每个机器人发送更新的指令,从而指导机器人。当僵尸网络攻击受害者的IP地址时,每个机器人都会向目标发送请求,这可能导致目标服务器或网络溢出容量,导致对正常流量的拒绝服务。因为每个机器人都是一个合法的互联网设备,所以很难将攻击流量与正常流量分开。
DDoS攻击的常见类型是什么?
不同的DDoS攻击向量针对不同的网络连接组件。为了了解不同的DDoS攻击是如何工作的,有必要了解网络连接是如何建立的。Internet上的网络连接由许多不同的组件或“层”组成。就像从头开始建造房子一样,模型中的每一步都有不同的目的。OSI模型,如下图所示,是一个概念框架,用来描述网络连接在7个不同的层。

虽然几乎所有的DDoS攻击都涉及用流量淹没目标设备或网络,但攻击可以分为三类。攻击者可能利用一个或多个不同的攻击向量,或基于目标采取的对抗措施的循环攻击向量。
应用层攻击(Application Layer Attacks)
攻击目标:
有时被称为第7层DDoS攻击(参照OSI模型的第7层),这些攻击的目标是耗尽目标的资源。攻击针对的是在服务器上生成并响应HTTP请求交付web页面的层。在客户端执行一个HTTP请求很便宜,而且目标服务器响应起来也很昂贵,因为服务器通常必须加载多个文件并运行数据库查询才能创建web页面。第7层攻击很难防御,因为流量很难标记为恶意的。
应用层攻击实例:

HTTP Flood
这种攻击类似于在web浏览器中一次又一次地在许多不同的计算机上按下refresh——大量的HTTP请求涌向服务器,导致拒绝服务。
这种类型的攻击范围从简单到复杂。更简单的实现可以使用相同范围的攻击IP地址、引用和用户代理访问一个URL。复杂版本可能会使用大量的攻击IP地址,并使用随机的引用器和用户代理来目标随机url。
协议攻击(Protocol Attacks)
攻击目标:
协议攻击(也称为状态耗尽攻击)通过消耗web应用服务器或防火墙和负载均衡器等中间资源的所有可用状态表容量,导致服务中断。协议攻击利用协议栈的第3层和第4层的弱点使目标无法访问。
协议攻击的例子:

SYN Flood
同步洪水类似于供应室的工作人员接收来自商店前面的请求。工作人员接收到请求,然后去获取包,并等待确认,然后再将包带到前面。然后,工作人员在没有确认的情况下得到更多的包请求,直到他们无法携带更多的包,变得不堪重负,请求开始无人应答。
这种攻击利用TCP握手,通过发送大量具有欺骗源IP地址的TCP“初始连接请求”SYN包给目标。目标机器响应每个连接请求,然后等待握手的最后一步,握手永远不会发生,这会耗尽目标的资源。
容量耗尽攻击(Volumetric Attacks)
攻击目标:
这类攻击试图通过消耗目标和大型Internet之间的所有可用带宽来造成拥塞。通过使用一种放大形式或另一种产生大量流量的方式(如僵尸网络的请求)将大量数据发送到目标。
放大的例子:

DNS Amplification
DNS扩增就像如果有人打电话给一家餐馆,说“我要一份套餐,请给我回电话,告诉我我的全部订单”,他们给出的回叫电话号码就是目标顾客的号码。只需很少的努力,就会产生长时间的响应。
通过向具有欺骗IP地址(目标的实际IP地址)的开放DNS服务器发出请求,目标IP地址然后从服务器接收响应。攻击者构造请求,使DNS服务器用大量数据响应目标。因此,目标接收攻击者初始查询的放大。
怎么才能减轻DDoS攻击?
减轻DDoS攻击的关键问题是区分攻击和正常通信量。例如,如果一个产品发布让一个公司的网站挤满了热切的客户,那么切断所有的流量就是一个错误。如果该公司突然有一个流量激增的已知不良演员,努力减轻攻击可能是必要的。难点在于区分真正的客户和攻击流量。
在现代互联网中,DDoS流量有多种形式。流量可以在设计上有所不同,从无欺骗的单源攻击到复杂的自适应多矢量攻击。多矢量DDoS攻击使用多种攻击路径,以不同的方式覆盖目标,可能分散在任何一条轨迹上的缓解工作。同时攻击协议栈的多个层,例如DNS放大(目标层3/4)和HTTP洪水(目标层7)是多向量DDoS的一个例子。
减轻多矢量DDoS攻击需要多种策略来对抗不同的轨迹。一般来说,攻击越复杂,流量就越难以从正常的流量中分离出来——攻击者的目标是尽可能地融入其中,使缓解的效率尽可能低。不加区别地减少或限制流量的缓解尝试可能会将好的流量与坏的流量一起抛弃,攻击也可能修改和适应以规避对策。为了克服破坏的复杂尝试,分层的解决方案将带来最大的好处。
黑洞的路由
几乎所有网络管理员都可以使用的一种解决方案是创建一个黑洞路由,并将流量引入该路由。最简单的形式是,当在没有特定限制条件的情况下实现黑洞过滤时,合法的和恶意的网络流量都被路由到空路由或黑洞并从网络中删除。如果一个互联网财产正在经历DDoS攻击,该财产的互联网服务供应商(ISP)可能发送所有的网站流量到一个黑洞作为防御。
速度限制
限制服务器在某个时间窗口内接受的请求数量也是减轻拒绝服务攻击的一种方法。虽然速率限制在减缓web抓取器窃取内容和减轻强制登录尝试方面很有用,但它本身可能不足以有效地处理复杂的DDoS攻击。然而,在有效的DDoS缓解策略中,速率限制是一个有用的组成部分。
Web应用程序防火墙
Web应用程序防火墙(WAF)是一种可以帮助减轻第7层DDoS攻击的工具。通过在Internet和原始服务器之间放置WAF, WAF可以充当反向代理,保护目标服务器免受某些类型的恶意通信。通过基于用于识别DDoS工具的一系列规则过滤请求,第7层的攻击可能会受到阻碍。有效WAF的一个关键价值是能够快速实现自定义规则以响应攻击。
Anycast网络扩散
这种缓解方法使用Anycast网络将攻击流量分散到分布式服务器网络上,直到网络吸收流量为止。就像将湍急的河流引导到单独的较小的通道上一样,这种方法将分布式攻击流量的影响分散到可以管理的地方,分散了任何破坏能力。Anycast网络减轻DDoS攻击的可靠性取决于攻击的大小以及网络的大小和效率。
原文地址:https://cloud.tencent.com/developer/news/373128
DDOS到底是什么,怎么预防,看看就明白了的更多相关文章
- 白话大数据 | Spark和Hadoop到底谁更厉害?
要想搞清楚spark跟Hadoop到底谁更厉害,首先得明白spark到底是什么鬼. 经过之前的介绍大家应该非常了解什么是Hadoop了(不了解的点击这里:白话大数据 | hadoop究竟是什么鬼),简 ...
- TCP/IP具体解释--三次握手和四次握手 Dos攻击
TCP连接的状态图 TCP建立连接的三次握手过程,以及关闭连接的四次握手过程 贴一个telnet建立连接,断开连接的使用wireshark捕获的packet截图. 1.建立连接协议(三次握手) (1) ...
- Linux性能优化实战学习笔记:第三十九讲
一.上节回顾 上一节,我带你学习了 tcpdump 和 Wireshark 的使用方法,并通过几个案例,带你用这两个工具实际分析了网络的收发过程.碰到网络性能问题,不要忘记可以用 tcpdump 和W ...
- 详细分析Android viewpager 无限循环滚动图片
由于最近在忙于项目,就没时间更新博客了,于是趁着周日在房间把最近的在项目中遇到的技术总结下.最近在项目中要做一个在viewpager无限滚动图片的需求,其实百度一下有好多的例子,但是大部分虽然实现了, ...
- fir.im Weekly - 除了写代码,还需要了解什么
雾霾天,宜撸代码.吹牛,不宜出门约会(¬_¬)ノ 本期 fir.im Weekly 亦如往期,收集了优秀的 iOS/Android 开发资源,GitHub 源码.前端方面的热点分享.除了代码,也许你 ...
- git 教程(5)--工作区和暂存区
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 工作区(working directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区: 版本库 ( ...
- <转>一个最不可思议的MySQL死锁分析
1 死锁问题背景 1 1.1 一个不可思议的死锁 1 1.1.1 初步分析 3 1.2 如何阅读死锁日志 3 2 死锁原因深入剖析 4 2.1 Delete操作的加锁逻辑 4 2.2 死锁预防策略 5 ...
- git(工作区,暂存区,管理修改,撤销修改,删除文件)
工作区和暂存区 984次阅读 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的l ...
- 随手小记(es6)
在学习前辈阮一峰大神写的<ECMAScript入门>一书的过程中,第九章中讲到对象扩展时,第一条我就有点看不懂 ES6允许直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. v ...
随机推荐
- Visual Studio 2013创建并运行Cocos2d-x工程
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.准备: 我们得先把Visual Studio 2013安装好:可以去MSDN官网下载,在安装好 2.安装好vs之后,在cmd(终端)创 ...
- jQuery选择器我犯的错误(原创)
jQuery的选择器十分强大,但是在使用jQuery选择器的时候一定要十分小心,空格.冒号.引号到处都是坑,老手也不能避免,只能勤加练习,熟能生巧,掌握规律,为了练习,凡是到选择器的地方我都自己先敲, ...
- (1.3)学习笔记之mysql体系结构(C/S整体架构、内存结构、物理存储结构、逻辑结构)
目录 1.学习笔记之mysql体系结构(C/S架构) 2.mysql整体架构 3.存储引擎 4.sql语句处理--SQL层(内存层) 5.服务器内存结构 6.mysql如何使用磁盘空间 7.mysql ...
- 程序性能优化之APK大小优化(六)上
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 本篇文章将继续从APK瘦身来介绍APK大小优化:文章主要内容从理 ...
- A 小G数数
题目链接 题解: 此题可以直接暴力求解,(甚至可以四层循环 具体思想便是a[k]充当两种身份,同时判断两种不同情况,然后计数便可以了 /** /*@author victor /*language c ...
- 遇到的css问题
1.上下两个div高度重叠:原因是上面的div中存在浮动,且没有设置高度,解决方案:外面再套一个div,设置高度或overflow:hidden 2.上下两个div存在间隙:原因是有div的displ ...
- ASE——热身作业自我介绍
自我介绍 大家好我是王皓,由于之前忙于保研的机试和面试导致第一次作业就拖到第二次写blog的时候才交(非常抱歉..)我喜欢玩CTF,觉得学习安全方向的知识,寻找软件或者硬件的漏洞是一件非常有意义且有趣 ...
- 我的黑苹果之路 9400f + msi b360 mortar + 1050ti
硬件配置: CPU:i5 9400f 主板:微型msi迫击炮B360 内存:威刚 ddr4 8g 2133 *2 显卡:技嘉1050ti 4g 显示器:koiso 4K (使用的dp接口连接,hdmi ...
- ZOJ-3524 拓扑排序+完全背包(好题)
题意:在一个DAG上,主角初始有W钱起点在s点,每个点有一个代价wi和价值vi,主角从起点走到某一点不能回头走,一路上可以买东西(一个点的东西可以买无限次),且体力消耗为身上负重*路径长度.主角可以在 ...
- xshell本地上传文件到Ubuntu上及从Ubuntu上下载文件到本地
1.第一种方法是最常用的 :如果下载了Xshell和Xftp,Ctrl+Alt+F就可以选择文件的互传了!(虚拟机/云服务器通用)--只要相互间能ping得通. 2.第二种方法 :ubuntu环境下安 ...