被攻击解决方案....

NBVPS 2015-03-18 none

防御基础

攻击流量到底多大

谈到DDoS防御,首先就是要知道到底遭受了多大的攻击。这个问题看似简单,实际上却有很多不为人知的细节在里面。

以SYN Flood为例,为了提高发送效率在服务端产生更多的SYN等待队列,攻击程序在填充包头时,IP首部和TCP首部都不填充可选的字段,因此IP首部长度恰好是20字节,TCP首部也是20字节,共40字节。

对于以太网来说,最小的包长度数据段必须达到46字节,而攻击报文只有40字节,因此,网卡在发送时,会做一些处理,在TCP首部的末尾,填充6个0 来满足最小包的长度要求。这个时候,整个数据包的长度为14字节的以太网头,20字节的IP头,20字节的TCP头,再加上因为最小包长度要求而填充的6 个字节的0,一共是60字节。

但这还没有结束。以太网在传输数据时,还有CRC检验的要求。网卡会在发送数据之前对数据包进行CRC检验,将4字节的CRC值附加到包头的最后面。这个时候,数据包长度已不再是40字节,而是变成64字节了,这就是常说的SYN小包攻击,数据包结构如下:

|14字节以太网头部|20字节IP头部|20字节TCP|6字节填充|4字节检验|

|目的MAC|源MAC|协议类型| IP头 |TCP头|以太网填充 | CRC检验 |

到64字节时,SYN数据包已经填充完成,准备开始传输了。攻击数据包很小,远远不够最大传输单元(MTU)的1500字节,因此不会被分片。那么这些数据包就像生产流水线上的罐头一样,一个包连着一个包紧密地挤在一起传输吗?事实上不是这样的。

以太网在传输时,还有前导码(preamble)和帧间距(inter-frame gap)。其中前导码占8字节(byte),即64比特位。前导码前面的7字节都是10101010,1和0间隔而成。但第八个字节就变成了 10101011,当主机监测到连续的两个1时,就知道后面开始是数据了。在网络传输时,数据的结构如下:

|8字节前导码|6字节目的MAC地址|6字节源MAC地址|2字节上层协议类型|20字节IP头|20字节TCP头|6字节以太网填充|4字节CRC检验|12字节帧间距|

也就是说,一个本来只有40字节的SYN包,在网络上传输时占的带宽,其实是84字节。

有了上面的基础,现在可以开始计算攻击流量和网络设备的线速问题了。当只填充IP头和TCP头的最小SYN包跑在以太网络上时,100Mbit的网 络,能支持的最大PPS(Packet Per Second)是100×106 / (8 * (64+8+12)) = 148809,1000Mbit的网络,能支持的最大PPS是1488090。

HTTP Flood防御

HTTP Flood攻击防御主要通过缓存的方式进行,尽量由设备的缓存直接返回结果来保护后端业务。大型的互联网企业,会有庞大的CDN节点缓存内容。

当高级攻击者穿透缓存时,清洗设备会截获HTTP请求做特殊处理。最简单的方法就是对源IP的HTTP请求频率做统计,高于一定频率的IP地址加入黑 名单。这种方法过于简单,容易带来误杀,并且无法屏蔽来自代理服务器的攻击,因此逐渐废止,取而代之的是JavaScript跳转人机识别方案。

HTTP Flood是由程序模拟HTTP请求,一般来说不会解析服务端返回数据,更不会解析JS之类代码。因此当清洗设备截获到HTTP请求时,返回一段特殊JavaScript代码,正常用户的浏览器会处理并正常跳转不影响使用,而攻击程序会攻击到空处。

DNS Flood防御

DNS攻击防御也有类似HTTP的防御手段,第一方案是缓存。其次是重发,可以是直接丢弃DNS报文导致UDP层面的请求重发,可以是返回特殊响应强制要求客户端使用TCP协议重发DNS查询请求。

特殊的,对于授权域DNS的保护,设备会在业务正常时期提取收到的DNS域名列表和ISP DNS IP列表备用,在攻击时,非此列表的请求一律丢弃,大幅降低性能压力。对于域名,实行同样的域名白名单机制,非白名单中的域名解析请求,做丢弃处理。

慢速连接攻击防御

Slowloris攻击防御比较简单,主要方案有两个。

第一个是统计每个TCP连接的时长并计算单位时间内通过的报文数量即可做精确识别。一个TCP连接中,HTTP报文太少和报文太多都是不正常的,过少 可能是慢速连接攻击,过多可能是使用HTTP 1.1协议进行的HTTP Flood攻击,在一个TCP连接中发送多个HTTP请求。

第二个是限制HTTP头部传输的最大许可时间。超过指定时间HTTP Header还没有传输完成,直接判定源IP地址为慢速连接攻击,中断连接并加入黑名单。

企业级防御

互联网企业防御DDoS攻击,主要使用上文的基础防御手段,重点在于监控、组织以及流程。

监控需要具备多层监控、纵深防御的概念,从骨干网络、IDC入口网络的BPS、PPS、协议分布,负载均衡层的VIP新建连接数、并发连接数、 BPS、PPS到主机层的CPU状态、TCP新建连接数状态、TCP并发连接数状态,到业务层的业务处理量、业务连通性等多个点部署监控系统。即使一个监 控点失效,其他监控点也能够及时给出报警信息。多个点信息结合,准确判断被攻击目标和攻击手法。

一旦发现异常,立即启动在虚拟防御组织中的应急流程,防御组织需要囊括到足够全面的人员,至少包含监控部门、运维部门、网络部门、安全部门、客服部 门、业务部门等,所有人员都需要2-3个备份。流程启动后,除了人工处理,还应该包含一定的自动处理、半自动处理能力。例如自动化的攻击分析,确定攻击类 型,自动化、半自动化的防御策略,在安全人员到位之前,最先发现攻击的部门可以做一些缓解措施。

除了DDoS到来之时的流程等工作之外,更多的工作是在攻击到来之前。主要包含CDN节点部署、DNS设置、流程演习等。对于企业来说,具备多个 CDN节点是DDoS防御容量的关键指标。当一个机房承担不住海量数据时,可以通过DNS轮询的方式,把流量引导到多个分布节点,使用防御设备分头处理。 因此DNS的TTL值需要设置得足够小,能够快速切换,每个CDN节点的各种VIP设置也需要准备充分。

在虚拟化时代,各种用户的不同业务共处在相同的物理机平台,遭受DDoS攻击的可能性越来越高,而且一个用户被攻击可能牵扯到大量的其他用户,危害被 显著放大,因此防御显得尤为重要。阿里云的虚拟化业务,平均每天遭受约20起DDoS攻击,最大流量达到接近20Gbit/s,所有这些攻击都在15分钟 内自动处理完成,让客户远离DDoS的威胁,专心发展业务。

总地来说,对DDoS防御,主要的工作是幕后积累。台上十分钟,台下十年功,没有充分的资源准备,没有足够的应急演练,没有丰富的处理经验,DDoS攻击将是所有人的噩梦。

 

 

   在网络不断升温的今天,网络安全也逐渐成为众多企业最关注的话题。为了降低DDOS攻击的危害,选择具有高防能力的机房和能够针对抗击DDOS攻击的高防 服务器已经是企业们最明智的选择。但是繁琐的机房数据仍是在DDOS攻击来时对管理层产生很大影响和冲击。因此,除了预防DDOS攻击的同时,如何更加轻 松的解放出我们的管理层也日益凸显出重要性。
       NBVPS指出:IDC高防机房数据中心七大区域中,管理层是相当重要的,管理层要求随时可控的管理,这对高防机房的管理层是一个非常高的负荷。
为了能够更好的防范DDOS攻击,降低企业损失,南通高防服务器租用和托管商江苏高防提出采用数据和管理分离的方案,有效降低突增的大流量的数据影响,还可以大大将管理层解放出来。
稳定可靠的超强性能
全防科技将提供高防服务器托管超强带宽,单独拥有超大G骨干,1G接入成高防机房数据中心的典型应用,带给网站全域畅通无阻的超高性能保证。可靠性是网站 选择高防服务器的首要条件,所以南通机房提供的设备、网络、协议、架构、应用都是按照可靠系数和能承受DDOS的优质配置来安排的,而这些条件都是保证高 效防御DDOS攻击的先决条件。
更高网站安全保障和扩充空间
网站需要平稳运营,对于安全有更高的要求和标准。南通服务器托管商基于分区分域的安全,特别提供从高到低的安全,从入口到出口的安全以及从设备到抗 DDOS攻击服务器的安全,保障最易受DDOS攻击危害的中心变成最稳固的高防机房中心,并且基于高防机房数据中心规模的增长给予用户最大限度的资源和安 全保护。
更优质高效的管理
              NBVPS 指出:数据与管理分离,可以使企业网站的防攻击服务器设备与网络流量的全网监控,保障高防机房数据中心网络正常运行。当然,很多机房甚至是个人、代理是没 有能力做防御DDOS攻击业务的,因此,寻找具有真正能力做高防服务的机房也是众多寻求安全保护商家的最终选择。江苏高防提供用户测试,让用户在满意之后 再进行购买,杜绝了虚假欺骗。同时,还能在安全防护过程中提供真实攻击流量图给用户,而不是采用PS来,欺骗用户。高质量的高防机房才能真正让管理层脱离 出来,减少人力投入。