随著互联网与信息技术的发展,所有人都在享受互联网带来的舒适和便利。如今,无论是个人社交行为,还是商业活动都早已离不开互联网。

但是,网络空间在创造机遇的同时,也带来了威胁。随着企业价值、知名度的提高、官方网站、线上交易平台、使用者登入页面皆为攻击者之首选目标,而最常见的攻击手法就是 DDoS 。DDoS 攻击让许多厂商与企业感到束手无策的同时,还遭受了巨大的损失。而且通过这些年的发展,DDoS 攻击手法还变得越来越多元且难以防范,它已经成为不同组织和个人的攻击形式之一,用于网络中的勒索、报复,甚至网络战争。

本篇文章就带大家认识一下常见的 DDoS 攻击手法,以及遇到攻击后要如何进行防御应变。

什么是 DDoS 攻击?

DDoS 攻击全名为 Distributed Denial-of-Service Attack,又称为分布式拒绝服务攻击,是旧时 DoS 攻击(Denial-of-Service Attack,拒绝服务攻击)的扩大版,其目的是以各种攻击手法,让网络系统的功能瘫痪或资源耗尽,迫使网页或服务器中断服务,导致正常的用户无法使用网页功能和使用服务。

早期的电脑不如今日发达,只要攻击方电脑性能高于被攻击方,一对一的 DoS 攻击很容易达到目的。现如今很多大型企业具备较强的服务提供能力,所以应付单个请求的攻击已经不是问题。

既然一打一行不通了,那就群殴。攻击者会组织很多同伙,同时提出服务请求,直到服务无法访问,这也就是名称中“分布式”的由来。但是,在现实中,一般的攻击者无法组织各地伙伴协同“作战”,所以会使用“僵尸网络”来控制众多计算机进行攻击。

僵尸网络感染了恶意软件的计算机,以及其它可联网资源,例如 IoT 设备。这些僵尸主机接收攻击者控制命令,从而构建出一只数量庞大的僵尸主机(Bot)军队,同时间对同一目标发动特定类型攻击,将被攻击者的网络资源及系统资源耗尽,导致无法为真正的用户提供服务。这也是名称中“阻止服务”的由来。

因为僵尸主机的数量很大而且分布广泛,又都是合法的网络设备,因此很难将攻击流量与正常流量分开,其危害程度和防御难度都很大。

上图是每年双十一淘宝服务器瘫痪的新闻。众多用户使用服务造成的流量洪峰,某种角度来说等同于一次大型的 DDoS 攻击。

如何识别 DDoS 攻击

DDoS 攻击最明显的特征就是站点或服务突然变慢或不可用。但是,实际业务中,由于多种原因(如业务流量的合理激增,例如游戏文件更新)也会造成类似的性能问题,因此通常需要进一步确认。以下是 DDoS 攻击的一些明显迹象:

  • 来自单个 IP 地址或 IP 范围的可疑访问;

  • 对单个页面或接口的请求数量激增;

  • 不寻常的流量模式,例如一天中在凌晨突然出现流量高峰,或某种不符合业务的流量高峰(例如,每 10 分钟出现一次高峰)

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

DDoS 的攻击方式

带宽消耗型攻击

通过传送大量无效、或恶意放大流量的数据请求,堵塞被攻击的服务器带宽,使其达到饱和状态,让正常用户无法进入,甚至造成网页宕机瘫痪,达到拒绝服务的目的。

像是常见的 UDP 洪水攻击(即发送用户数据报协议的大包或小包)、ICMP 洪水攻击(即发送大量 ICMP 相关报文);生成超过 IP 协议中规定的最大的数据长度,导致系统宕机的死亡之 Ping,皆属于此类。

资源消耗型攻击

有别于带宽消耗型的 DDoS 攻击,资源消耗型攻击是让被攻击方的服务器不断进行反复的无效运作,导致网页资源被耗尽,无法再响应正常用户的请求,从而达到拒绝服务的目的。

这种类型的典型 DDoS 攻击手法,如 SYN 洪水攻击。我们都知道创建 TCP 连接需要客户端与服务器进行三次交互,也就是常说的“三次握手”。而这个信息通常被保存在服务器连接表结构中,但是表的大小有限,当超过存储量时,服务器就无法创建新的 TCP 连接。

而 SYN 洪水攻击就表现为,对服务器提出建立 TCP 握手请求后故意切断网络,让服务器持续发出请求并等待回复,从而导致服务器资源不断消耗。甚至更进一步,如果将 SYN 洪水攻击中发起请求的 IP 来源,设定为被攻击服务器的 IP 地址,就会让服务器不断的自我响应,直到资源耗尽,这就是常见的 LAND 攻击手法。

除此之外,还有利用大量服务器对被攻击方提出模拟 HTTP 正常请求的 CC 攻击、网路僵尸攻击等等,都是以耗尽服务器资源为目标的攻击手段。

应用攻击

近些年,Web 技术发展非常迅速,因此也诞生了应用攻击。即攻击者不断地向 Web 服务器恶意发送大量 HTTP 请求,利用 Web 应用已经提供的一些接口,来对网站的后台数据库进行增、删、改、查的操作。由于这种操作是由计算机来完成,计算机巨大的计算能力常常伴随产生极恐怖的破坏力。一旦 Web 服务受到这种攻击,就会对其承载的业务造成致命的影响。

DDoS 的防御方式

DDoS 攻击之所以难以防御,是因为 DDoS 的攻击会用看似正常的需求进行包装,加上难以追踪攻击来源,也是 DDoS 处理起来棘手的原因。

不过我们仍然可以利用下面的 3 个处理方向,来加强系统的 DDoS 防御:

- 加强防火墙的通行规则

通过设置高性能的防火墙,来限制异常 IP 发出的请求,降低大量无效数据占用带宽或损耗资源的可能性,加强筛选机制、阻断 DDoS 攻击的效果。

- 提升服务器的性能、规格

提升服务器的性能,当遭受 DDoS 攻击时可争取多一点的缓冲时间,在不让服务瘫痪的状况下,及时针对攻击模式制定应对的 DDoS 防御手段,将伤害减至最低。

- 使用具备 DDoS 防御的系统

像是 DDoS 流量清洗机制,可以将流量导入清洗系统中,把异常的流量来源过滤、剔除,又或是服务器本身具备防御一定数量的无效数据包,以及设定合理的同时连线数量等,让 DDoS 攻击无功而返。

- 寻找专业高防服务团队

由于传统设备无法抵御大流量的 DDoS 攻击,通过配置云端高防系统的方式也逐渐受到了客户的青睐。又拍云 DDoS 高防 IP 服务是针对互联网业务在遭受大流量 DDoS 攻击后业务瘫痪,而提供的高等级流量防护服务。直接将高防 IP 服务部署在源站服务器前,帮助业务服务器站抵御来自内外部的流量攻击。

客户将业务接入高防 IP 后,源服务器的所有公网流量将引流至高防机房,高防 IP 平台的异常流量检测系统会实时对流量进行智能识别和分析,将攻击流量引流至高防节点,隐藏源站,以确保用户源站稳定可靠运行。

高防 IP 可以防御的有包括但不限于以下类型:SYN Flood、UDP Flood、ICMP Flood、IGMP Flood、ACK Flood、Ping Sweep 等攻击。

又拍云高防 IP 服务提供在线 SaaS 的服务接入方式,异地多节点多线路防护,单点防御 1T,全网总防御能力近 3T,支持 BGP 、电信、联通、移动等多条线路,可以有效防御 SYN Flood、ACK Flood、UDP Flood、HTTP Flood、CC 攻击等,为客户提供稳定、安全的访问体验。

推荐阅读

DDoS 高防 IP——DDoS防护系统

大家都在说的云安全,到底是怎么回事?

白话科普系列——双十一,竟然是一场有“预谋”的DDoS攻击?的更多相关文章

  1. 白话科普系列——最好用的浏览器 Chrome,你用了么?

    市面上的浏览器多种多样,而浏览器的王者--IE 浏览器,它在 2002 年市场份额高达 95.4%.直到后续 Firefox,Safari,Chrome 相继问世才动摇了 IE 浏览器的地位,其中 C ...

  2. 【白话科普】CDN & 游戏加速器,两者是一个原理吗?

    说起加速,大家可能就会联想到"游戏加速"之类的场景,而说到现在流行的云服务加速,则离不开 CDN 这个词.那么 CDN 和游戏加速器是同一种东西么?从效果上看两者都是为了" ...

  3. 【圣诞特献】Web 前端开发精华文章推荐【系列二十一】

    <Web 前端开发精华文章推荐>2013年第九期(总第二十一期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和  ...

  4. ABBYY FineReader去他的光棍节,我要我的双十一

    今天就是双十一,全民剁手的双十一,一年仅一次的双十一,不只是半价的双十一.....此时此刻,多少钱拿起手机在疯狂购物,又有多少人死守着电脑,不敢怠慢一丁点机会,买着买着购物车就空了,然后才发现,咦!超 ...

  5. 备战双十一,腾讯WeTest有高招——小程序质量优化必读

    WeTest 导读 2018年双十一战场小程序购物通道表现不俗,已逐渐成为各大品牌方角逐的新战场.数据显示,截止目前95%的电商平台都已经上线了小程序.除了电商企业外,许多传统线下商家也开始重视小程序 ...

  6. CRL快速开发框架系列教程十一(大数据分库分表解决方案)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. 双十一 VS 火车票(12306)

    火车票开售了,又是一年,code了一年,咱们也该回顾回顾了. 还记得12306上线之初各种技术大牛给人家出方案,吐槽人家外包费用?我们来回顾回顾. 就园子里都过千篇文章来侃这事儿,请问有多少主题的文章 ...

  8. “双十一”购物狂欢节,电商运营和商业智能(BI)才是绝配

         百年前,人们获取信息的方式是通过报纸.书籍:十年前,人们获取信息的方式是通过传统PC互联网:而如今,在4G网络高速发展的浪潮下,伴随着移动智能终端的普及,人们获取信息的方式已经逐渐转向了移动 ...

  9. 单元测试系列之十一:Jmockit之mock特性详解

    本文是Jmockit学习过程中,根据官网所列的工具特性进行解读. 1.调用次数约束(Invocation count constraints) 可以通过调用计数约束来指定预期和/或允许匹配给定期望的调 ...

随机推荐

  1. ASP。NET Core Blazor CRUD使用实体框架和Web API

    下载source code - 1.7 MB 介绍 *请查看我的Youtube视频链接来学习ASP.NET Core Blazor CRUD使用实体框架和Web API. 在本文中,我们将了解如何为A ...

  2. 《New Horizon College English》2--长篇阅读技能指南

    <New Horizon College English>2--长篇阅读技能指南 <长篇阅读>目的是提升学生的英语阅读技能和限时获取信息的能力.<长篇阅读>共四级, ...

  3. Go语言中的常见的几个坑

    目录 1.for range 2.defer与闭包 3.map内存溢出 4.协程泄漏 5.http手动关闭 记录一下日常中遇到的几个坑,加深一下印象. 1.for range 这个是比较常见的问题了, ...

  4. 增强for循环的用法

    一.增强for循环 增强for循环的作用: 简化迭代器的书写格式.(注意:增强for循环的底层还是使用了迭代器遍历.)增强for循环的适用范围: 如果是实现了Iterable接口的对象或者是数组对象都 ...

  5. go-zero 如何应对海量定时/延迟任务?

    一个系统中存在着大量的调度任务,同时调度任务存在时间的滞后性,而大量的调度任务如果每一个都使用自己的调度器来管理任务的生命周期的话,浪费cpu的资源而且很低效. 本文来介绍 go-zero 中 延迟操 ...

  6. 数据结构&算法的引言&时间复杂度

    什么是计算机科学? 首先明确的一点就是计算机科学不仅仅是对计算机的研究,虽然计算机在科学发展的过程中发挥了重大的作用,但是它只是一个工具,一个没有灵魂的工具而已.所谓的计算机科学实际上是对问题.解决问 ...

  7. php监控文件变化

    <?php $process = new \Swoole\Process(function(){ $filename = "a.conf"; $md5file = md5_f ...

  8. TimeSpan时间间隔详解

    1 public string GetShiXian(string fadanshijian) 2 { 3 string result,chulishijian; 4 5 DateTime fdTim ...

  9. 【应用服务 App Service】App Service中抓取网络日志

    问题描述 众所周知,Azure App Service是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所 ...

  10. python的部分GUI模块简介tkinter、pyqt5(Qt Designer)

    笔者认为,这两个作为Python3较为常用且简单的GUI模块,是Python开发者所必须学习至少是了解的. 其中tkinter为Python3自带的GUI模块,而pyqt5则需要通过pip insta ...