什么是分布式拒绝服务-DDoS 攻击?

分布式拒绝服务攻击(Distributed Denial of Service,简称DDoS),是一种将多台计算机联合起来作为攻击平台,通过远程连接利用恶意程序,对一个或多个目标发起攻击,消耗目标服务器性能或网络带宽,从而造成服务器无法正常地提供服务的攻击手段。

打个比方,就类似于我是一个开服装店的,我的店铺正常最多能同时容纳50人,我主要提供[卖衣服]服务,正常时候随时有3-5个人在店里看衣服、试衣服、买衣服,一点问题没有,我的[卖衣服]服务提供的很正常。但是,突然有一天,突然有很多五六百上千人同时来到我的店里,大家扎堆挤在我的店里和门口,但是基本上都不是买衣服的人,而这个时候有正常要买衣服的顾客根本就进不来,也就是无法获得我的[卖衣服]服务,这就是DDoS。

DDoS攻击的基本原理

通常,攻击者使用一个非法账号将DDoS主控程序安装在一台计算机上,并在网络上的多台计算机上安装代理程序。在所设定的时间内,主控程序与大量代理程序进行通讯,代理程序收到指令时对目标发动攻击,主控程序甚至能在几秒钟内激活成百上千次代理程序的运行,从而发起针对攻击目标的大量攻击。

DDoS攻击的主要形式

DDoS攻击分类 攻击子类 描述
畸形报文 畸形报文主要包括Frag Flood、Smurf、Stream Flood、Land Flood、IP畸形报文、TCP畸形报文、UDP畸形报文等。 畸形报文攻击指通过向目标系统发送有缺陷的IP报文,使得目标系统在处理这样的报文时出现崩溃,从而达到拒绝服务的攻击目的。
传输层DDoS攻击 传输层DDoS攻击主要包括Syn Flood、Ack Flood、UDP Flood、ICMP Flood、RstFlood等。 以Syn Flood攻击为例,它利用了TCP协议的三次握手机制,当服务端接收到一个Syn请求时,服务端必须使用一个监听队列将该连接保存一定时间。因此,通过向服务端不停发送Syn请求,但不响应Syn+Ack报文,从而消耗服务端的资源。当监听队列被占满时,服务端将无法响应正常用户的请求,达到拒绝服务攻击的目的。
DNS DDoS攻击 DNS DDoS攻击主要包括DNS Request Flood、DNS Response Flood、虚假源+真实源DNS Query Flood、权威服务器攻击和Local服务器攻击等。 以DNS Query Flood攻击为例,其本质上执行的是真实的Query请求,属于正常业务行为。但如果多台傀儡机同时发起海量的域名查询请求,服务端无法响应正常的Query请求,从而导致拒绝服务。
连接型DDoS攻击 连接型DDoS攻击主要是指TCP慢速连接攻击、连接耗尽攻击、Loic、Hoic、Slowloris、 Pyloris、Xoic等慢速攻击。 以Slowloris攻击为例,其攻击目标是Web服务器的并发上限。当Web服务器的连接并发数达到上限后,Web服务即无法接受新的请求。Web服务接收到新的HTTP请求时,建立新的连接来处理请求,并在处理完成后关闭这个连接。如果该连接一直处于连接状态,收到新的HTTP请求时则需要建立新的连接进行处理。而当所有连接都处于连接状态时,Web将无法处理任何新的请求。

Slowloris攻击利用HTTP协议的特性来达到攻击目的。HTTP请求以\r\n\r\n标识Headers的结束,如果Web服务端只收到\r\n,则认为HTTP Headers部分没有结束,将保留该连接并等待后续的请求内容。

Web应用层DDoS攻击 Web应用层攻击主要是指HTTP Get Flood、HTTP Post Flood、CC等攻击。 通常应用层攻击完全模拟用户请求,类似于各种搜索引擎和爬虫一样,这些攻击行为和正常的业务并没有严格的边界,难以辨别。

Web服务中一些资源消耗较大的事务和页面。例如,Web应用中的分页和分表,如果控制页面的参数过大,频繁的翻页将会占用较多的Web服务资源。尤其在高并发频繁调用的情况下,类似这样的事务就成了早期CC攻击的目标。

由于现在的攻击大都是混合型的,因此模拟用户行为的频繁操作都可以被认为是CC攻击。例如,各种刷票软件对网站的访问,从某种程度上来说就是CC攻击。

CC攻击瞄准的是Web应用的后端业务,除了导致拒绝服务外,还会直接影响Web应用的功能和性能,包括Web响应时间、数据库服务、磁盘读写等。

DDoS攻击的危害

DDoS攻击会往往会对业务造成以下危害:

重大经济损失
在遭受DDoS攻击后,源站服务器可能无法提供服务,导致用户无法正常访问业务,从而造成巨大的经济损失和品牌损失。例如:某电商平台在遭受DDoS攻击时,网站无法正常访问甚至出现短暂的关闭,导致合法用户无法下单购买商品等。
数据泄露
黑客在对服务器进行DDoS攻击时,可能会趁机窃取业务的核心数据。
恶意竞争
部分行业存在恶性竞争,竞争对手可能会通过DDoS攻击恶意攻击竞争对手的服务,从而在行业竞争中获取优势。例如:某游戏业务遭受了DDoS攻击,游戏玩家数量锐减,导致该游戏业务几天内迅速彻底下线。

部分DDoS攻击案例

  1. 2016年5月,不法黑客针对全球范围内的多家银行网站发动了一系列的DDoS攻击。导致约旦、韩国以及摩纳哥等央行网络系统陷入了半小时的瘫痪状态,无法进行正常工作。
  2. 2016年11月,俄罗斯五家主流银行遭遇长达两天的DDoS攻击。来自30个国家2.4万台计算机构成的僵尸网络持续不断发动强大的DDOS攻击。
  3. 2017年4月初,江苏省某网络公司服务器频繁遭到DDoS流量攻击,导致挂载在服务器上的多个网站无法正常运营,损失严重。
  4. 2018年3月,Github遭受了迄今为止记录的最大的DDoS攻击。攻击者通过公共互联网发送小字节的基于UDP的数据包请求到配置错误的memcached服务器,作为回应,memcached服务器通过向Github发送大量不成比例的响应,形成巨大规模的DDoS攻击。

而且,随着新的技术手段不断被发掘,DDoS攻击的手段也在逐步的发生变化,争对DDoS攻击的防护手段也需要不断调整和丰富防御策略,才能确保网络服务的正常提供。

关于DDOS防护的建议

云计算服务网提醒大家:该防护建议主要针对主流云服务平台上的业务,不过对于传统业务部署形态,该思路也基本适用。

缩小暴露面,隔离资源和不相关的业务,降低被攻击的风险。

  • 配置安全组尽量避免将非业务必须的服务端口暴露在公网上,从而避免与业务无关的请求和访问。通过配置安全组可以有效防止系统被扫描或者意外暴露。
  • 使用专有网络VPC(Virtual Private Cloud )通过专有网络VPC实现网络内部逻辑隔离,防止来自内网傀儡机的攻击。

优化业务架构,利用公共云的特性设计弹性伸缩和灾备切换的系统。

科学评估业务架构性能:在业务部署前期或运营期间,技术团队应该对业务架构进行压力测试,以评估现有架构的业务吞吐处理能力,为DDoS防御提供详细的技术参数指导信息。
弹性和冗余架构:通过负载均衡或异地多中心架构避免业务架构中出现单点故障。通过结合负载均衡服务SLB(Server Load Balancer)等形式实现多台服务器的多点并发处理业务访问,将用户访问流量均衡分配到各个服务器上,降低单台服务器的压力,提升业务吞吐处理能力,这样可以有效缓解一定流量范围内的连接层DDoS攻击。

部署弹性伸缩:弹性伸缩(Auto Scaling)是根据用户的业务需求和策略,经济地自动调整弹性计算资源的管理服务。通过部署弹性伸缩,系统可以有效的缓解会话层和应用层攻击,在遭受攻击时自动增加服务器,提升处理性能,避免业务遭受严重影响。

优化DNS解析:通过智能解析的方式优化DNS解析,可以有效避免DNS流量攻击产生的风险。同时,建议将业务托管至多家DNS服务商,并可以从以下方面考虑优化DNS解析。

  • 屏蔽未经请求发送的DNS响应信息
  • 丢弃快速重传数据包
  • 启用TTL
  • 丢弃未知来源的DNS查询请求和响应数据
  • 丢弃未经请求或突发的DNS请求
  • 启动DNS客户端验证
  • 对响应信息进行缓存处理
  • 使用ACL的权限
  • 利用ACL、BCP38及IP信誉功能

提供余量带宽:通过服务器性能测试,评估正常业务环境下所能承受的带宽和请求数。在购买带宽时确保有一定的余量带宽,可以避免遭受攻击时带宽大于正常使用量而影响正常用户的情况。

服务器安全加固,提升服务器自身的连接数等性能。

对服务器上的操作系统、软件服务进行安全加固,减少可被攻击的点,增大攻击方的攻击成本:确保服务器的系统文件是最新的版本,并及时更新系统补丁。

  • 对所有服务器主机进行检查,清楚访问者的来源。
  • 过滤不必要的服务和端口。例如,对于WWW服务器,只开放80端口,将其他所有端口关闭,或在防火墙上设置阻止策略。
  • 限制同时打开的SYN半连接数目,缩短SYN半连接的timeout时间,限制SYN、ICMP流量。
  • 仔细检查网络设备和服务器系统的日志。一旦出现漏洞或是时间变更,则说明服务器可能遭到了攻击。
  • 限制在防火墙外进行网络文件共享。降低黑客截取系统文件的机会,若黑客以特洛伊木马替换它,文件传输功能将会陷入瘫痪。
  • 充分利用网络设备保护网络资源。在配置路由器时应考虑针对流控、包过滤、半连接超时、垃圾包丢弃、来源伪造的数据包丢弃、SYN阈值、禁用ICMP和UDP广播的策略配置。
  • 通过iptable之类的软件防火墙限制疑似恶意IP的TCP新建连接,限制疑似恶意IP的连接、传输速率。

做好业务监控和应急响应。

  • 关注基础DDoS防护监控云服务提供商往往提供基础的DDoS防护,当业务遭受DDoS攻击时,基础DDoS默认会通过短信和邮件等方式发出告警信息,针对大流量攻击基础DDoS防护也支持电话报警,建议在接受到告警的第一时间进行应急处理。
  • 云监控云监控服务可用于收集、获取阿里云资源的监控指标或用户自定义的监控指标,探测服务的可用性,并支持针对指标设置警报。
  • 建立应急响应预案根据当前的技术业务架构和人员,提前准备应急技术预案,必要时可以提前进行技术演练,以检验应急响应预案的合理性。

选择合适的商业安全方案。

云服务商往往提供了免费的基础DDoS防护,同时也提供了商业安全方案。Web应用防火墙(WAF)针对网站类应用,例如常见的HTTP Flood攻击,可以使用WAF可以提供针对连接层攻击、会话层攻击和应用层攻击进行有效防御。还有比如华为云DDoS防护服务阿里云DDoS高防服务等由云服务厂商提供的DDoS高防产品。

参考资料:

DDoS高防服务_AAD_DDoS攻击防御_CC攻击防御_网络攻击防御-华为云

DDoS防护_高防IP_高防服务器_DDoS网络攻击-阿里云

 

标签:

发表点看法吧(:

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