为什么80%的码农都做不了架构师>>   

  真实TCP服务器发送TCP的SYN包,而这些收到SYN包的TCP server为了完成3次握手把SYN|ACK包“应答”给目标地址,完成了一次“反射”攻击,攻击者隐藏了自身,但有个问题是攻击者制造的流量和目标收到的攻击流量是1:1,且SYN|ACK包到达目标后马上被回以RST包,整个攻击的投资回 率不高。

  反射型攻击的本质是利用“质询-应答”式协议,将质询包的源地址通过原始套接字伪造设置为目标地址,则应答的“回包”都被发送至目标,如果回包体积比较大或协议支持递归效果,攻击流量会被放大,成为一种高性价比的流量型攻击。

  反射型攻击利用的协议目前包括NTP、Chargen、SSDP、DNS、RPC portmap等等。

  流量放大型

以上面提到的DRDOS中常见的SSDP协议为例,攻击者将Searchtype设置为ALL,搜索所有可用的设备和服务,这种递归效果产生的放大倍数是非常大的,攻击者只需要以较小的伪造源地址的查询流量就可以制造出几十甚至上百倍的应答流量发送至目标。

防御基础

  攻击流量到底多大,这是一个关键问题。攻击量的大小。用的防护方法不一样。下面给你讲一讲,1G之内的防护方式。费用在,

  谈到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。

SYN Flood防御

前文描述过,SYN Flood攻击大量消耗服务器的CPU、内存资源,并占满SYN等待队列。相应的,我们修改内核参数即可有效缓解。主要参数如下:

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.tcp_synack_retries = 2

分别为启用SYN Cookie、设置SYN最大队列长度以及设置SYN+ACK最大重试次数。

SYN Cookie的作用是缓解服务器资源压力。启用之前,服务器在接到SYN数据包后,立即分配存储空间,并随机化一个数字作为SYN 发送SYN+ACK数据包。然后保存连接的状态信息等待客户端确认。启用SYN Cookie之后,服务器不再分配存储空间,而且通过基于时间种子的随机数算法设置一个SYN ,替代完全随机的SYN 。发送完SYN+ACK确认 文之后,清空资源不保存任何状态信息。直到服务器接到客户端的最终ACK包,通过Cookie检验算法鉴定是否与发出去的SYN+ACK 文序列 匹配,匹配则通过完成握手,失败则丢弃。当然,前文的高级攻击中有SYN混合ACK的攻击方法,则是对此种防御方法的反击,其中优劣由双方的硬件配置决定

tcp_max_syn_backlog则是使用服务器的内存资源,换取更大的等待队列长度,让攻击数据包不至于占满所有连接而导致正常用户无法完成握手。net.ipv4.tcp_synack_retries是降低服务器SYN+ACK 文重试次数,尽快释放等待资源。这三种措施与攻击的三种危害一一对应,完完全全地对症下药。但这些措施也是双刃剑,可能消耗服务器更多的内存资源,甚至影响正常用户建立TCP连接,需要评估服务器硬件资源和攻击大小谨慎设置。

除了定制TCP/IP协议栈之外,还有一种常见做法是TCP首包丢弃方案,利用TCP协议的重传机制识别正常用户和攻击 文。当防御设备接到一个IP地址的SYN 文后,简单比对该IP是否存在于白名单中,存在则转发到后端。如不存在于白名单中,检查是否是该IP在一定时间段内的首次SYN 文,不是则检查是否重传 文,是重传则转发并加入白名单,不是则丢弃并加入黑名单。是首次SYN 文则丢弃并等待一段时间以试图接受该IP的SYN重传 文,等待超时则判定为攻击 文加入黑名单。

首包丢弃方案对用户体验会略有影响,因为丢弃首包重传会增大业务的响应时间,有鉴于此发展出了一种更优的TCP Proxy方案。所有的SYN数据 文由清洗设备接受,按照SYN Cookie方案处理。和设备成功建立了TCP三次握手的IP地址被判定为合法用户加入白名单,由设备伪装真实客户端IP地址再与真实服务器完成三次握手,随后转发数据。而指定时间内没有和设备完成三次握手的IP地址,被判定为恶意IP地址屏蔽一定时间。除了SYN Cookie结合TCP Proxy外,清洗设备还具备多种畸形TCP标志位数据包探测的能力,通过对SYN 文返回非预期应答测试客户端反应的方式来鉴别正常访问和恶意行为。

清洗设备的硬件具有特殊的 络处理器芯片和特别优化的操作系统、TCP/IP协议栈,可以处理非常巨大的流量和SYN队列。

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地址为慢速连接攻击,中断连接并加入黑名单。

~~~~~~~~~~~~~~~~~~~~~·

下面我们细说一下,不同攻击量对应对方式

如果超过,>10G 攻击,如果大于10G攻击软件防护就扯蛋,

下面记住一句话,防ddos攻击大小于取决于你带宽的大小,与软件没关系。

国内现在100M带宽一个月就,便宜的8000,贵的2万多,1G带宽,8万,10G带宽,80万,你确定要自己防护/p>

业务逻辑很很多种,每家都不太一样,

WEB类型,这个是攻击最多,防护方案更广,可以选择国内,国外,cdn加速等,

游戏类型,这个必须得放在国内,放国外太卡,掉线,没人玩了

解决办法就是找第三方防ddos解决商,

10~50G防护,国内很多机房都可以防护,问题你给的钱够不够idc机房是否给你防护,他们防护示意图,

机房有一个总带宽,如果你攻击带宽太大就影响他正常客户,他就会找各种借口给你ip屏蔽。

很多攻击持续的时间非常短,通常5分钟以内,流量图上表现为突刺状的脉冲。

实际对机房没有什么影响,但是机房就给你ip屏蔽了,这个用于攻击游戏类 站,搞一会一掉线,用户全掉光了,

50G之间,单机防护,浙江,江苏,广东,都可以防都可以防护,月成本,2万左右,(价格说小于1万那就是骗子,已经测试过)

上很多说无视,320G防护,全是吹牛的,他说的320G,应当就是udp攻击,因为电信上层给屏蔽了udp带宽,

广东有双线,合适放游戏类 站,速度快,防护还可以,

广东有些ip是屏蔽国外的流量,还有屏蔽联通的流量,意思就是除了电信的别的地方的流量都过不来,

就像这个ISP近源清洗

100~200G之个,这个现在是关键了,现在攻击这个是最多的,游戏类 站如果有怎么大攻击放国内,现在能有怎么大防护的,电信,广东,福州,广西,联通,有大连,

福州买过,2万多一个月,说防300G,130G就给封了,骗子,dns防护也不行,10G左右的dns攻击直接搞死了

广东机房买过,3万一个月,100g 就给封了,不过广东可以秒解,买200个ip,还是能防一会,广东的直接访问不了dns,机房做策略了。

  广西,这个正测试,前几天放了dns在广西机房,打死了。

DNS攻击防护也是重点,买了dnspod的最贵那个版本3万多/年,封了,dnspod也,老吴不在那了吗别的去了,现在真是垃圾,指着dnspod防护差远了,我给大家介绍一下,google有dns防护,好用,比dnspod便宜很多,还有CF,也非常好,200刀,没打死过。

上面就浪费十来万,测试dns测试100G防护,总结的经验,

游戏的只能放国内,还得看是udp,还是tcp,所以防护范围小。

WEB的防护比较多,可以考虑放国外,

现在国外比较能吹的,

美国SK机房,防100G,买了,安排机器花了2天,这个攻击完了ip,封1小时,真心不行。机房还老掉线,花了1万左右可能一个月,

美国hs机房,防80G,一个月8万,买了,打死了,他防到40G左右就给你封了,也跟骗子差不多,说是要加到200G防护,没看到,

美国CD机房,最后花了>10万每月,找的他们老板防住了,但是dns防护不行。

还有一家机房可以推荐,加拿大机房,单机防160G,集群480G,不封ip,防护还可以,缺点,卡,国内ping掉包,8000左右一个月,20元一个ip,

上面速度最快的是hs机房国内,150ms左右,没攻击的时候用用还行,有攻击防护差点意思。

我不是给机房做广告,我只是总结我最近防护的经验,国内可以放免备案的机房也有,资源联系方式,dns防攻击500G,都可以,你联系我。我可以免费告诉你这些资源的联系方式,

~~~~~~~~~~~~~~~~~~~~~~~~~~

最后说一下,云加速,

国内的云盾,收费死贵,防护不行,别看他家的了。

阿里云防护,单机防4个G,不贵,小企业可以用,缺点得备案,还有如果你有非法信息,他们可以直接给 官了(最垃圾的是这点)

百度云加速,说是防1T攻击,我认真研究了一下,他是联合,国外的CF云加速,电信的云堤(近源清洗)说能防1T,攻击400G他转到CF国外,国内600G攻击,全是云堤防护的,

什么是近源清洗,就是江苏有攻击,到电信江苏的出口的时候,isp,中国电信直接不让他出口,

目前如中国电信的专门做抗DDOS的云堤提供了[近源清洗]和[流量压制]的服务,对于购买其服务的厂商来说可以自定义需要黑洞路由的IP与电信的设备联动,黑洞路由是一种简单粗暴的方法,除了攻击流量,部分真实用户的访问也会被一起黑洞掉,对用户体验是一种打折扣的行为,本质上属于为了保障留给其余用户的链路带宽的弃卒保帅的做法,之所以还会有这种收费服务是因为假如不这么做,全站服务会对所有用户彻底无法访问。对于云清洗厂商而言,实际上也需要借助黑洞路由与电信联动。

百度云加速,还没测试过,不评价,总结国内的厂商全是吹牛B的比较多,行业就这样,

国外的比较可靠,但是收费的确不便宜,

三家,可以推荐,

亚马逊,30G攻击无视,攻击大了,也给你封了,推荐他最大优点,按流量收费,可以按小时收费,不要备案,国内还得先备案,这我买6个节点,用三天死了。

CF加速,这个dns防护无敌,百度云加速就是联合的他家。

akamai,这家是给苹果做防护的,说只有苹果发布会的打死过一次,我没试太贵了,1G,3.5元,一天估计就得5000左右一天,

cdn加速,是防CC的一个主要手段

CDN/Internet层CDN并不是一种抗DDOS的产品,但对于web类服务而言,他却正好有一定的抗DDOS能力,以大型电商的抢购为例,这个访问量非常大,从很多指标上看不亚于DDOS的CC,而在平台侧实际上在CDN层面用验证码过滤了绝大多数请求,最后到达数据库的请求只占整体请求量的很小一部分。

  对http CC类型的DDOS,不会直接到源站,CDN会先通过自身的带宽硬抗,抗不了的或者穿透CDN的动态请求会到源站,如果源站前端的抗DDOS能力或者源站前的带宽比较有限,就会被彻底DDOS。

~~~~~~~~~~~~~~~

如果你是正规 站,你别怕有攻击,不会有怎么大攻击的,现在黑客主要攻击那些非正规的 站,H 站,棋牌,菠菜,都是攻击要钱的,

正规 站他不会天天来打死你,攻击你的都是竞争对手。

如果有一天,有人攻击你要钱,下面就是要做的事。

立案和追踪

目前对于流量在100G以上的攻击是可以立案的,这比过去幸福了很多。过去没有本土特色的资源甚至都没法立案,但是立案只是万里长征的第一步,如果你想找到人,必须成功完成以下步骤:

?         在海量的攻击中,寻找倒推的线索,找出可能是C&C服务器的IP或相关域名等

?         “黑”吃“黑”,端掉C&C服务器

?         通过登录IP或借助第三方APT的大数据资源(如果你能得到的话)物理定位攻击者

?         陪叔叔们上门抓捕

?         上法庭诉讼

如果这个人没有特殊身份,也许你就能如愿,但假如遇到一些特殊人物,你几个月都白忙乎。而黑吃黑的能力则依赖于安全团队本身的渗透能力比较强,且有闲情逸致做这事。这个过程对很多企业来说成本还是有点高,光有实力的安全团队这条门槛就足以砍掉绝大多数公司。笔者过去也只是恰好有缘遇到了这么一个团队。

是有成功案例,燕郊,黄总,有人攻击他要钱,完了他打了几千, 警抓住了。但不是你 警就有人管你的,还得有关系(国情你懂的)不过,你可以找我呀,我可以告诉你怎么办呀。哈哈。

总结一下,

WEB 站攻击,一般流量,直接syn,udp,打不死,就攻击你的dns,不行还能举 你,

游戏 站,他不直接打死你,让你老掉线,玩不了,目的达到了。所以这类 站需要提前布置防护。

还有支付类 站,

中小企业,主要看攻击量的大小选择方案,如果你们公司不差钱,那就别向下看了,

下面我可是 行业内幕,

所以,总结一下那些公司是骗人的,你们不白花钱去再测试了。我已经测试过了。

时间紧很多点没有写全,写透,今后找个时间再总结分类。

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8711 人正在系统学习中 相关资源:vissim电子仿真软件-嵌入式文档类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年8月1日
下一篇 2016年8月1日

相关推荐