DDoS 攻击与防御
分布式拒绝服务攻击(Distributed Denial of Service),是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击。
DDoS 是一种基于 DoS 的特殊形式的拒绝服务攻击。单一的 DoS 攻击一般是采用一对一方式,利用网络协议和操作系统的缺陷,采用欺骗和伪装的策略来进行网络攻击,使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。与 DoS 相比,DDos 借助数百上千台攻击机形成集群,发起的规模更大,更难防御的一种进攻行为。
ICMP 用于在 IP 主机,路由器之间传递控制消息(网络是否连通,主机是否可达,路由是否可用等)。ICMP 虽然不传递用户数据,但是对于用户数据的传递起着重要的作用。ICMP Flood 通过对目标系统发送海量的数据报,就可以令目标主机瘫痪,形成洪泛攻击。
UDP 协议是一种无连接的协议,在 UDP Flood 中,攻击者通常发送大量伪造 IP 地址的 UDP 报去冲击 DNS 服务器,Radius 认证服务器,流媒体视频服务器等,造成服务不可用。 上述的两种是比较传统的流量型攻击,技术含量较低,以占满网络带宽使得正常用户无法得到服务为攻击方式,攻击效果通常依赖于攻击者本身的网络性能,而且容易被查找攻击源头。
NTP 是标准的基于 UDP 协议的网络时间同步协议。由于 UDP 无连接的特性,NTP 服务器并不能保证收到报文的源 IP 的正确性。所以,攻击者通过将 IP 报文的源 IP 地址换为靶机的 IP 地址,并向 NTP 服务器发送大量的时间同步报文,这样,NTP 服务器的响应报文就会达到靶机上,沾满靶机网络段的带宽资源,同时也很难去追溯攻击源头。
SYN Flood 是一种利用 TCP 协议缺陷,发送大量伪造的 TCP 连接请求,从而使目标服务器资源耗尽的攻击方式。如果客户端只发起第一次握手,而不响应服务端的第二次握手,那么这条连接就处于半连接状态,服务端会维持这条连接一段时间(SYN Timeout)并不断地重试。但攻击者大量的模拟这种情况,就会沾满整个服务端的连接符号表,并消耗大量的 CPU 资源进行重试操作。而对于 SNY Flood 的防御目前有两种常见的方式,一种是算短 SYN Timeout,另一种是设置 SYN Cookie,并开辟一个数组存放 Cookie,单连接没有真正建立时,不去占用连接符号表。
DNS Query Flood 通过操纵大量的傀儡机,向本网段的域名服务器发送大量域名解析请求,通常这些请求解析的域名是随机生成或网络上根本不存在的域名,由于本地域名服务器无法找到对应的结果,就会通过层层上次给更高级的域名服务器,引起连锁反应,导致本网段内的域名解析服务瘫痪,但一般最多只会瘫痪一小段网络。
HashDos 是一种新型的,基于 Hash 碰撞形成的攻击。随着现在 RESTful 风格的不断普及,json 格式作为数据传输的格式愈发成为主流。但是 json 反序列化为对象时,底层是通过 hash 算法来将字段与属性,属性值进行一一匹配。所以,一旦攻击者知道了我们序列化方式,构造出一段具有严重哈希碰撞的 json 数据,就会使我们服务端序列化的复杂度从 O(1) 暴增到 O(n)。
DDos 的防御主要有两种,一种是针对流量带宽,一种是针对服务端资源。流量带宽一般需要通过运营商采用 ISP 黑洞,近源清洗等策略,在源头(即攻击者所在的网段)进行拦截,而不是等到所有的细流汇聚成猛水时才进行拦截。
而对于服务端的资源,则是当下 DDos 的重灾区,本文以攻防对抗的方式讲述 DDos 的发展历程。
参考文献:
怎么防御DDoS攻击?
一.网络设备设施
网络架构、设施设备是整个系统得以顺畅运作的硬件基础,用足够的机器、容量去承受攻击,充分利用网络设备保护网络资源是一种较为理想的应对策略,说到底攻防也是双方资源的比拼,在它不断访问用户、夺取用户资源之时,自己的能量也在逐渐耗失。相应地,投入资金也不小,但网络设施是一切防御的基础,需要根据自身情况做出平衡的选择。
1. 扩充带宽硬抗
网络带宽直接决定了承受攻击的能力,国内大部分网站带宽规模在10M到100M,知名企业带宽能超过1G,超过100G的基本是专门做带宽服务和抗攻击服务的网站,数量屈指可数。但DDoS却不同,攻击者通过控制一些服务器、个人电脑等成为肉鸡,如果控制1000台机器,每台带宽为10M,那么攻击者就有了10G的流量。当它们同时向某个网站发动攻击,带宽瞬间就被占满了。增加带宽硬防护是理论最优解,只要带宽大于攻击流量就不怕了,但成本也是难以承受之痛,国内非一线城市机房带宽价格大约为100元/M*月,买10G带宽顶一下就是100万,因此许多人调侃拼带宽就是拼人民币,以至于很少有人愿意花高价买大带宽做防御。
2. 使用硬件防火墙
许多人会考虑使用硬件防火墙,针对DDoS攻击和黑客入侵而设计的专业级防火墙通过对异常流量的清洗过滤,可对抗SYN/ACK攻击、TCP全连接攻击、刷脚本攻击等等流量型DDoS攻击。如果网站饱受流量攻击的困扰,可以考虑将网站放到DDoS硬件防火墙机房。但如果网站流量攻击超出了硬防的防护范围(比如200G的硬防,但攻击流量有300G),洪水瞒过高墙同样抵挡不住。值得注意一下,部分硬件防火墙基于包过滤型防火墙修改为主,只在网络层检查数据包,若是DDoS攻击上升到应用层,防御能力就比较弱了。
3. 选用高性能设备
除了防火墙,服务器、路由器、交换机等网络设备的性能也需要跟上,若是设备性能成为瓶颈,即使带宽充足也无能为力。在有网络带宽保证的前提下,应该尽量提升硬件配置。
二、有效的抗D思想及方案
硬碰硬的防御偏于“鲁莽”,通过架构布局、整合资源等方式提高网络的负载能力、分摊局部过载的流量,通过接入第三方服务识别并拦截恶意流量等等行为就显得更加“理智”,而且对抗效果良好。
4. 负载均衡
普通级别服务器处理数据的能力最多只能答复每秒数十万个链接请求,网络处理能力很受限制。负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性,对DDoS流量攻击和CC攻击都很见效。CC攻击使服务器由于大量的网络传输而过载,而通常这些网络流量针对某一个页面或一个链接而产生。在企业网站加上负载均衡方案后,链接请求被均衡分配到各个服务器上,减少单个服务器的负担,整个服务器系统可以处理每秒上千万甚至更多的服务请求,用户访问速度也会加快。
5. CDN流量清洗
CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,因此CDN加速也用到了负载均衡技术。相比高防硬件防火墙不可能扛下无限流量的限制,CDN则更加理智,多节点分担渗透流量,目前大部分的CDN节点都有200G 的流量防护功能,再加上硬防的防护,可以说能应付目绝大多数的DDoS攻击了。这里我们推荐一款高性比的CDN产品:百度云加速,非常适用于中小站长防护。相关链接
6. 分布式集群防御
分布式集群防御的特点是在每个节点服务器配置多个IP地址,并且每个节点能承受不低于10G的DDoS攻击,如一个节点受攻击无法提供服务,系统将会根据优先级设置自动切换另一个节点,并将攻击者的数据包全部返回发送点,使攻击源成为瘫痪状态,从更为深度的安全防护角度去影响企业的安全执行决策。
DDOS如何防御?
分类: 电脑/网络 互联网
问题描述:
我的机房经常会死机或掉线,他们说是受到了DDOS攻击,请问他的详细攻击资料以及该如何防御呢?
解析:
对于DDOS攻击的详细分解
⒈TCP的工作原理
对于TCP的工作原理,最著名莫过于TCP的三次握手。图示,客户端A发送连接的请求数据报文,标识为SYN,并设定一个初始值得Seq=X,若服务器B答应连接,则返回相应数据报文确认为Ack=X+1,并同时发送逆向连接请求Y。A答应逆向连接返回确认Ack=y+1。
发送SYN,Seq=X
发送SYN,Seq=Y
ACK,Ack=X+1
发送ACK,Ack=Y+1
连接成功!
⒉SYN_FLOOD及ACK_FLOOD攻击
DDoS,也就是分布式拒绝服务攻击的缩写(Distributed denial of service )。
简单的说,拒绝服务就是用超出被攻击目标处理能力x的海量数据包消耗可用系统,带宽资源, 致使目标网络服务瘫痪的一种攻击手段。而分布拒绝服务攻击,就是发起攻击的源地址是分布的,而不是单一的或有规律的。
发送SYN
发送SYN
和ACK对方SYN
不发送ACK包对A确认
并继续发送SYN
不断循环
攻击成功!
简要分析:主机A在短时间内大量的发送该SYN请求连接包,服务器B会大量开辟空间以准备一个又一个的新连接,而A却不发送与服务器B第三次握手的确认数据包。导致B空间无法释放,最终B因为空间耗尽而无法响应其他合法主机的正常连接而导致“拒绝服务”。
在这个过程中,A还可以将发送给B的SYN请求连接包的源地址不断的更改,导致攻击难以追查,并且A还可以控制很多其他的“肉机”D,C等等同时发动攻击,加大攻击力度和攻击效果。
⒊CC攻击
对于大多数的WEB服务器和游戏服务器而言,CC攻击恐怕是最具危险性的了。他的具体工作过程如下图:
同时发送页面请求 对C发送页
面请求
攻击成功 !
简要分析:在CC攻击中,对于A而言,获取大量的代理服务器并非难事,发送页面请求后,会有很多代理服务器同时对C请求页面,由于所申请的页面开销较大,很容易导致C的流量超载和资源耗尽,最终走向“拒绝服务”的道路。而该攻击中,代理服务器其实是合法的,很多服务器都需要和他有相关的服务,所以很难屏蔽由他带来的“骚扰”,同时也导致了这种攻击的难以防范。
⒋UDP,ICMP和DRDOS攻击及其变种
控制肉机 发送请求
或连接
攻击成功!
简要分析:很多时候我们会听到有人说PING死某某。其实是用了ICMP的工作原理。他有如下功能:
0 响应应答(ECHO-REPLY)
3 不可到达
4 源抑制
5 重定向
8 响应请求(ECHO-REQUEST)
11 超时
12 参数失灵
13 时间戳请求
14 时间戳应答
15 信息请求(*已作废)
16 信息应答(*已作废)
17 地址掩码请求
18 地址掩码应答
左边的数字表示ICMP的类型值,后面是对该类型的简要理解,PING死某某,其实是发送了8号响应请求报文,在没有关闭0号响应应答的服务器会返回一个0号响应应答报文。这样一来,如果带宽或资源处理能力B+D+…C的话,那么C就无法响应正常其他主机的请求而“拒绝服务”。这是最典型的一种ICMP_FLOOD而已。
如果从这种”比带宽,比资源”的角度来说,那么UDP_FLOOD和DRDOS_FLOOD就算是ICMP_FLOOD的一个变种了吧。所不同的是UDP是利用端口的应答回复。
然而更有趣的是DRDOS_FLOOD攻击,因为以上那些都是通过控制肉机来攻击C的话,DRDOS_FLOOD则是通过“欺骗”很多机器(可以不是肉机)去攻击C,这就好像一个“骗子”A告诉大家说C很有钱,然后大家都一起去C那“打劫”,攻击他。这看上去很玄乎,其实很简单,A发送大量的数据包(比如SYN请求包)给很多机器B,D,…,并伪造源地址为C,当B,D等机器收到报文后误以为是C发来的信息,就都不约而同的给C返回信息。这样就很容易达到“拒绝服务”的效果了!正因为A对各种肉机或机器发送的报文不一样,产生的攻击手段也可以不一样,但是最终效果都是“拒绝服务”,所以就有了很多DDOS攻击的变种。这里就不一一介绍了。
详情点击sharesec或QQ***********
防御DDOS攻击的办法有哪些
如何应对 DDoS 攻击?
高防服务器
还是拿最开始重庆火锅店举例,高防服务器就是给重庆火锅店增加了两名保安,这两名保安可以让保护店铺不受流氓骚扰,并且还会定期在店铺周围巡逻防止流氓骚扰。
高防服务器主要是指能独立硬防御 50Gbps 以上的服务器,能够帮助网站拒绝服务攻击,定期扫描网络主节点等,这东西是不错,就是贵
黑名单
面对火锅店里面的流氓,我一怒之下将他们拍照入档,并禁止他们踏入店铺,但是有的时候遇到长得像的人也会禁止他进入店铺。这个就是设置黑名单,此方法秉承的就是 “错杀一千,也不放一百” 的原则,会封锁正常流量,影响到正常业务。
DDoS 清洗
DDos 清洗,就是我发现客人进店几分钟以后,但是一直不点餐,我就把他踢出店里。
DDoS 清洗会对用户请求数据进行实时监控,及时发现 DOS 攻击等异常流量,在不影响正常业务开展的情况下清洗掉这些异常流量。
CDN 加速
CDN 加速,我们可以这么理解:为了减少流氓骚扰,我干脆将火锅店开到了线上,承接外卖服务,这样流氓找不到店在哪里,也耍不来流氓了。
在现实中,CDN 服务将网站访问流量分配到了各个节点中,这样一方面隐藏网站的真实 IP,另一方面即使遭遇 DDoS 攻击,也可以将流量分散到各个节点中,防止源站崩溃。
推荐产品
1.百度云加速
百度云加速是百度旗下为网站提供一站式加速、安全防护和搜索引擎优化的产品。百度云加速正为数十万用户的近百万网站提供CDN、网络安全和SEO服务。每天处理十亿级的PV流量及数百亿TB的数据流量,并提供市场顶尖水平的稳定性和抗攻击能力。
优惠链接:
2.京东云星盾
星盾安全加速(SCDN,Secure Content Delivery Network),是京东云推出的一体化分布式安全防御产品,提供免费 SSL 证书,集成 Web 攻击防护、CC 攻击防御、BOT 机器人分析,并将内容分发加速能力融于一身。在边缘节点注入安全能力,形成分布式的安全加速网络,让您的业务更安全、体验更流畅。适用于所有兼顾安全和内容加速的业务。
优惠链接:
0条大神的评论