设为首页收藏本站

安而遇随-随遇而安

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4557|回复: 11

DDoS(分布式拒绝服务)攻击是无解的吗?

[复制链接]

 成长值: 33270

发表于 2017-9-9 18:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
DDoS(分布式拒绝服务)攻击是无解的吗?

在知乎看到的感觉不错!转载过来让大家看看

随遇而安

 成长值: 33270

 楼主| 发表于 2017-9-9 18:23 | 显示全部楼层
shotgun:

从 来 都 不 是!
魔高一尺,道高一丈,道高一尺,魔高一丈。
这不是车轱辘话,这是事实,魔和道谁高要看双方投入的资源。
假设攻击者手上有数万台肉鸡,你是一个小站的管理员,就算你的水平比他高,你觉得后果会如何?
假设你是国家某重要部门的网站管理员,攻击者只是个小黑客,你觉得他下场如何?

道消魔涨,魔消道涨,道涨魔消,魔涨道消。
这不是绕口令,这也是事实,是说攻击成本和防御成本:防御做的越完善,攻击者消耗的成本越高,被发现的风险也越大;攻击做的越好,防御所付出的代价越大,追踪越难。

如果防御者把防御做到攻击者要达到目的所需付出的代价大于攻击带来的收益减去由于攻击而被惩罚的风险(我一口气差点没喘过来),那么攻击就没意义了,因为这是个赔本生意,除非防御方有个懂群嘲超级能拉仇恨的老板(某人表示无辜躺枪。。。)

什么?你说DDoS攻击没有成本?少年,你还是图样图森破啊,手上那么多肉鸡不花钱的?不花钱要花精力吧?不花精力天上掉下来的出门捡的你干点什么别的不好非要做这样没前途的事情?不知道就算是给肉鸡装软件刷流量卖广告也能赚的盆满钵满么?而且那是 可~持~续~发~展~, 你一发动DDoS就会开始掉粉,哦,不对,是掉肉鸡,全掉光了你拿什么养老?

养~老~不~能~靠~国~家~

要想富,少做攻击多养鸡。

而且你见过几个发了财的还在混黑社会?人家都变成社团了,不对,国际化企(第四声)业。


说几个小故事吧:
1.某人用synflood伪造IP地址攻击重要部门,惹了主管部门了,采用类似拉闸限电的方式分区搜捕,结果悲剧了。这个例子是DoS不是DDoS,但是可以告诉我们有关部门下了决心有多危险;
2.某人用肉鸡DDoS某网站,反向追踪很难,但是他有个坏习惯喜欢开着自己的笔记本(无跳板)保持一直Ping目标机器,确定有没有攻击成功,结果你们懂的,所以说常在河边走哪能不湿鞋;

3.某人玩DDoS,觉得自己玩的很专业,肯定不会被查到,可是侦探小说告诉我们警察叔叔不需要懂技术,有种方法叫做“得到最大利益的人就是最可疑的”,被请进去协助调查的时候你会希望自己的情商也和智商一样高,对了,还有你队友的情商和智商。哦,还有,网监的同志们是知道进屋前拉掉电闸以防止你破坏证据的,我觉得他们好莱坞电影看多了,谁真的会在家里的电脑上装自毁装置啊?再说,你装了自毁装置那不就是承认自己有问题么?你以为是拍香港律政剧还是美国警匪片?你有权利保持沉默?你有权利请律师?你有权利把牢底坐穿!

你还玩DDoS么?你说你没有同伴,心智坚强,好,那扫描肉鸡的0Day是你自己挖的?控制Botnet的程序也是自己写的?DDoS攻击的代码也原创的?来来来,同学,我帮你介绍工作吧,你这样的人才工作地点从太平洋东岸到太平洋西岸一定是随便挑,我要的不多一个月薪水就好,对,你不用付我自己去找雇主要,你问我为啥不内推,嗯,内推只有几千块奖金我不干。

什么?你不喜欢打工只愿意单干,来来来,同学,我们来讨论下风险投资和天使基金,这里有几百万不够的话我们再去拿,对对对是美刀不是人民币,你看看想做什么项目,占的不多10%就可以,报酬什么的你也不用担心,我拿项目提成就好。

……………………………………

DBA表示DDoS什么的弱爆了,好多网站都存在性能Bug,有时候几个简单的请求数据库系统就挂了我会告诉你怎么干吗?
CCIE表示DDoS什么的弱爆了,好多系统都有网络规划/配置Bug,有时候几个简单的数据包发过去网络就瘫痪了我会随便说吗?
社会工程学高手表示DDoS什么的弱爆了,好多机房一不小心就溜进去关电源拔硬盘如果BCP做得不好那可不是停机一两天的事情我会跟你讲吗?
黑帽子表示DDoS什么的弱爆了,我手上有0Day若干,一般我都是黑进去直接rm -rf /*你家里人都知道吗?
某主管部门表示DDoS什么的弱爆了,我们一般都是整个机房拔网线的,只要你敢播在线视频。
We have a winner now!
The End.

………………

看完全文和演职员表的同学,你们幸运了,以下是彩蛋时间,杨威利和尤里安乱入中:
尤里安:“提督,什么是必胜的秘诀?”
杨威利:“集结六倍于敌人的兵力,有着完全的补给和装备。”
尤里安:“如果没有这么多兵力呢?”
杨威利:“相同兵力补给的情况下,要看指挥运用的能力。”
尤里安:“如果兵力不足呢?”
杨威利:“以少胜多之所以被称为奇迹,就是因为发生的实在太少啦。”
尤里安:“提督您一定有办法的吧?您不是奇迹的杨么?我对您有信心!”
杨威利:“尤里安,尤里安,'若是你就有信心',自古以来,有多少人为了这耀人的名誉,而舍身去做那些不可能的事啊!


作者:shotgun
链接:https://www.zhihu.com/question/26741164/answer/34309289
来源:知乎

随遇而安

 成长值: 33270

 楼主| 发表于 2017-9-9 18:39 | 显示全部楼层
刘浩博:
1.   防御基础
1.1. 攻击流量到底多大谈到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。


1.2. SYN Flood防御前文描述过,SYN Flood攻击大量消耗服务器的CPU、内存资源,并占满SYN等待队列。相应的,我们修改内核参数即可有效缓解。主要参数如下:
net.ipv4.tcp_syncookies = 1net.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队列。


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

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

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


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

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


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

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

2.   企业级防御互联网企业防御DDoS攻击,主要还是使用上文的基础防御手段, 重点在于使用监控、组织以及流程等东西来保障及时、正确的使用这些手段,并根据攻击策略的改变而改变。


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

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

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


3.   总结在虚拟化时代,海量用户的不同业务共处在相同的物理机平台,遭受DDoS攻击的可能性越来越高。而且一个用户被攻击可能牵扯到大量的其他用户,危害被显著放大,因此防御显得尤为重要。阿里云的虚拟化云计算业务,平均每天遭受约200起DDoS攻击,最大流量达到接近80Gbit/s,所有这些攻击都在1分钟内自动处理完成,让客户远离DDoS的威胁,专心发展业务。
总地来说,对DDoS防御,主要的工作是幕后积累。台上十分钟,台下十年功,没有充分的资源准备,没有足够的应急演练,没有丰富的处理经验,DDoS攻击将是所有人的噩梦。



作者:刘浩博
链接:https://www.zhihu.com/question/26741164/answer/52776074
来源:知乎



[发帖际遇]: 随便、先森。 发帖时在路边捡到 5 SB,偷偷放进了口袋. 幸运榜 / 衰神榜
随遇而安

 成长值: 33270

 楼主| 发表于 2017-9-9 18:51 | 显示全部楼层
阿里云云栖社区:
看到shotgun等各位同学的精彩回答收获颇丰,有关DDoS攻击,游戏行业是一个公认的重灾区,社区昨日首发了一篇来自阿里云安全团队的:游戏行业DDoS 6年谈:什么样的架构才可以对DDoS免疫? - 知乎专栏》期望能够对各位同学在DDoS防护方面有所帮助,同时也欢迎各位在原文评论中一起进行探讨,

以下是原文
接触DDoS相关技术和产品8年,其中6年,都在探究游戏行业的DDoS攻击难题。

在我看来,游戏行业一直是竞争、攻击最复杂的一个“江湖”。许多游戏公司在发展业务时,对自身的系统、业务安全,存在诸多盲区;对DDoS攻击究竟是什么,怎么打,也没有真正了解。

我曾看到充满激情的创业团队、一个个玩法很有特色的产品,被这种互联网攻击问题扼杀在摇篮里; 也看到过一个运营很好的产品,因为遭受DDoS攻击,而一蹶不振。

这也是为什么想把自己6年做游戏行业DDoS的经验,与大家一起分享,帮助在游戏领域内全速前进的企业,了解本行业的安全态势,并给出一些可用的建议。
v2-7baa91afe33fd6c9d20a10ad804bfbd7_b.png

在与游戏公司安全团队接触的过程中,看到游戏行业对安全有两个很大的误区。

第一个误区是:没有直接损失,就代表我很安全。

事实上,相比其它行业,游戏行业的攻击量和复杂度都要高一筹。 每个游戏公司,每个应用,其实都遭受过攻击。但许多游戏安全负责人,仍然会“蒙在鼓里听打雷”,没有察觉正在发生的攻击,或者干脆视而不见,由此埋下安全隐患。

第二个误区是:很多游戏行业安全负责人会认为,只要装了防火墙,就能挡住绝大部分的攻击。

然而,防火墙的功能其实很有限。这也从侧面说明了许多游戏行业安全薄弱的根源:只去做好一个点,却看不到整个面。


然而,攻击者总会从意想不到的薄弱点,攻陷整个游戏行业的内部系统。

v2-4eeba5161ad5f3d18dda4271f89e340e_b.png

以DDoS攻击为例,2016年,全球有记录的DDoS峰值已近600G,300G以上的DDoS攻击,在游戏行业内已经毫不稀奇。

为什么游戏会是DDoS攻击的重灾区呢?这里说几点主要的原因。


首先是因为游戏行业的攻击成本低廉,是防护成本的1/N,攻防两端极度不平衡。随着攻击方的打法越来越复杂、攻击点越来越多,基本的静态防护策略无法达到较好的效果,也就加剧了这种不平衡。

其次,游戏行业生命周期短。一款游戏从出生,到消亡,很多都是半年的时间,如果抗不过一次大的攻击,很可能就死在半路上。黑客也是瞄中了这一点,认定:只要发起攻击,游戏公司一定会给“保护费”。

再次,游戏行业对连续性的要求很高,需要7*24在线,因此如果受到DDoS攻击,游戏业务很容易会造成大量的玩家流失。我曾经见过在被攻击的2-3天后,游戏公司的玩家数量,从几万人掉到几百人。

最后,游戏公司之间的恶性竞争,也加剧了针对行业的DDoS攻击。

v2-51b30a62869551aa63ab88ced125b775_b.png

而针对游戏行业的DDoS攻击类型也非常的复杂多样。总结下来,大致分为这几种:

首先是空连接:攻击者与服务器频繁建立TCP连接,占用服务端的连接资源,有的会断开,有的一直保持;比如开了一家面馆,“黑帮势力”总是去排队,但是并不消费,那么此时正常的客人也会无法进去消费。

其次是流量型攻击:攻击者采用udp报文攻击服务器的游戏端口,影响正常玩家的速度;还是上面的例子,流量型攻击相当于坏人直接把面馆的门给堵了。

再次,CC攻击:攻击者攻击服务器的认证页面,登陆页面,游戏论坛等,这是一类比较高级的攻击了。这种情况相当于,坏人霸占了收银台结账,找服务员去点菜,导致正常的客人无法享受到服务。

而后,假人攻击:模拟游戏登陆和创建角色过程,造成服务器人满为患,影响正常玩家。

还有对玩家的DDoS攻击:针对对战类游戏,攻击对方玩家的网络使其游戏掉线或者速度慢和对网关DDoS攻击:攻击游戏服务器的网关,游戏运行缓慢。

最后是连接攻击:频繁的攻击服务器,发垃圾报文,造成服务器忙于解码垃圾数据。

v2-e89264ec0affb2798dbf90caa4d52bb7_b.png

我以常见的DDoS和CC攻击为例,对他们的攻击方式做一个解释。

DDoS攻击的主要的方式是syn flood,ack flood,udpflood等流量型的攻击,本身从攻击方式来是非常简单的,无论是哪种方式,流量大是前提。如果防御方有充足的带宽资源,目前的技术手段防御都不会是难事;针对UDPflood,实际上很多游戏目前都不需要用到UDP协议,可以直接丢弃掉。

而CC攻击分为两种。一般针对WEB网站的攻击叫CC攻击,但是针对游戏服务器的攻击,很多人一般也叫CC攻击,两种都是模拟真实的客户端与服务端建立连接之后,发送请求。

针对网站的CC如下,一般是建立连接之后,伪造浏览器,发起很多httpget的请求,耗尽服务器的资源。

针对游戏服务器的CC,一般是建立连接之后,伪造游戏的通信报文保持连接不断开,有些攻击程序甚至也不看游戏的正常报文,而是直接伪造一些垃圾报文保持连接。

v2-90e24241157c8304d0fb146c82b1de7b_b.png

那么,游戏公司如何才能判断自己是否正在被攻击?

假定可排除线路和硬件故障的情况下,突然发现连接服务器困难,正在游戏的用户掉线等现象,则说明很有可能是遭受了DDoS攻击。

目前,游戏行业的IT基础设施一般有两种部署模式:一种是采用云计算或者托管IDC模式,另外一种是自拉网络专线。但基于接入费用的考虑,绝大多数采用前者。


无论是前者还是后者接入,在正常情况下,游戏用户都可以自由流畅的进入服务器并参与娱乐。所以,如果突然出现下面这几种现象,就可以基本判断是“被攻击”状态:
    (1) 主机的IN/OUT流量较平时有显著的增长;

    (2)主机的CPU或者内存利用率出现无预期的暴涨;
    (3)通过查看当前主机的连接状态,发现有很多半开连接,或者是很多外部IP地址,都与本机的服务端口建立几十个以上的ESTABLISHED状态的连接,则说明遭到了TCP多连接攻击;
    (4)游戏客户端连接游戏服务器失败或者登录过程非常缓慢;
    (5)正在进行游戏的用户突然无法操作或者非常缓慢或者总是断线。

v2-c7304c50f10e26f03581447edb44a547_b.png

在知道难点,和攻击状态的判断方法之后,来说说我所了解的DDoS防护方法。

目前,可用的DDoS缓解方法,有三大类。首先是架构优化,其次是服务器加固,最后是商用的DDoS防护服务。

游戏公司需要根据自己的预算、攻击严重程度,来决定使用哪一种。

在预算有限的情况下,可以从免费的DDoS缓解方案,和自身架构的优化上下功夫,减缓DDoS攻击的影响。
    a. 如果系统部署在云上,可以使用云解析,优化DNS的智能解析,同时建议托管多家DNS服务商,这样可以避免DNS攻击的风险。
    b. 使用SLB,通过负载均衡减缓CC攻击的影响,后端负载多台ECS服务器,这样可以对DDoS攻击中的CC攻击进行防护。在企业网站加了负载均衡方案后,不仅有对网站起到CC攻击防护作用,也能将访问用户进行均衡分配到各个web服务器上,减少单个web服务器负担,加快网站访问速度。
    c. 使用专有网络VPC,防止内网攻击。
    d. 做好服务器的性能测试,评估正常业务环境下能承受的带宽和请求数,确保可以随时的弹性扩容。
    e. 服务器防御DDoS攻击最根本的措施就是隐藏服务器真实IP地址。当服务器对外传送信息时,就可能会泄露IP,例如,我们常见的使用服务器发送邮件功能就会泄露服务器的IP。

因而,我们在发送邮件时,需要通过第三方代理发送,这样子显示出来的IP是代理IP,因而不会泄露真实IP地址。在资金充足的情况下,可以选择DDoS高防服务器,且在服务器前端加CDN中转,所有的域名和子域都使用CDN来解析。

v2-7d3715995e43408d563ad8976dc075a0_b.png

也可以对自身服务器做安全加固。
    a. 控制TCP连接,通过iptable之类的软件防火墙可以限制某些IP的新建连接;
    b. 控制某些IP的速率;
    c. 识别游戏特征,针对不符合游戏特征的连接可以断开;
    d. 控制空连接和假人,针对空连接的IP可以加黑;
    e. 学习机制,保护游戏在线玩家不掉线,通过服务器可以搜集正常玩家的信息,当面对攻击的时候可以将正常玩家导入预先准备的服务器,新进玩家可以暂时放弃;
    f. 确保服务器系统安全;
    g. 确保服务器的系统文件是最新的版本,并及时更新系统补丁;
    h. 管理员需对所有主机进行检查,知道访问者的来源;
    i. 过滤不必要的服务和端口:可以使用工具来过滤不必要的服务和端口(即在路由器上过滤假IP,只开放服务端口)。这也成为目前很多服务器的流行做法。例如,“WWW”服务器,只开放80端口,将其他所有端口关闭,或在防火墙上做阻止策略;
    j. 限制同时打开的SYN半连接数目,缩短SYN半连接的timeout 时间,限制SYN/ICMP流量;
    k. 认真检查网络设备和主机/服务器系统的日志。只要日志出现漏洞或是时间变更,那这台机器就可能遭到了攻击;
    l. 限制在防火墙外与网络文件共享。这样会给黑客截取系统文件的机会,若黑客以特洛伊木马替换它,文件传输功能无疑会陷入瘫痪;
    m. 充分利用网络设备保护网络资源;
    n. 禁用 ICMP。仅在需要测试时开放ICMP。在配置路由器时也考虑下面的策略:流控,包过滤,半连接超时,垃圾包丢弃,来源伪造的数据包丢弃,SYN 阀值,禁用 ICMP 和 UDP 广播;
    o. 使用高可扩展性的 DNS 设备来保护针对 DNS 的 DDoS 攻击。可以考虑购买DNS商业解决方案,它可以提供针对 DNS 或 TCP/IP3 到7层的 DDoS 攻击保护。

v2-a91ec967447f7b0331ced8875016e3f6_b.png

再就是商用的DDoS解决方案。

针对超大流量的攻击或者复杂的游戏CC攻击,可以考虑采用专业的DDoS解决方案。目前,通用的游戏行业安全解决方案,做法是在IDC机房前端部署防火墙或者流量清洗的一些设备,或者采用大带宽的高防机房来清洗攻击。


当宽带资源充足时,此技术模式的确是防御游戏行业DDoS攻击的有效方式。不过带宽资源有时也会成为瓶颈:例如单点的IDC很容易被打满,对游戏公司本身的成本要求也比较高。

在阿里云,我们团队去颠覆带宽“军备竞赛”的策略,是提供一个可信的访问网络,这也是游戏盾诞生的初衷。

游戏盾风控模式的初衷,是从收到访问的第一刻起,便判断它是“好”还是“坏”,从而决定它是不是可以访问到它想访问的资源;而当攻击真的发生时,也可以通过智能流量调度,将所有的业务流量切换到一个正常运作的机房,保证游戏正常运行。


v2-fae5957f00669748964cdd35495da002_b.png
(某棋牌行业基于游戏盾的架构示意图)

所以,通过风控理论和SDK接入技术,游戏盾可以有效地将黑客和正常玩家进行拆分,可以防御超过300G以上的超大流量攻击。

风控理论需要用到大量的云计算资源和网络资源,阿里云天然的优势为游戏盾带来了很好的土壤,当游戏盾能调度10万以上节点进行快速计算和快速调度的时候,那给攻击者的感觉是这个游戏已经从他们的攻击目标里面消失。

游戏盾,是阿里云的人工智能技术与调度算法,在安全行业中的成功实践。

而随着攻防进程的推进,网络层和接入层逐步壮大,我们希望“游戏盾”的风控模式,会逐步延展到各个行业中,建立起一张安全、可信的网络。这张网络中,传输着干净的流量,而攻击被前置到网络的边缘处。所有的端,在接入这张网络时,都会经过风险控制的识别,网内的风控系统,也让坏人无法访问到他锁定资源。


未来,以资源为基础的DDoS防护时代终将被打破,演进出对DDoS真正免疫的风控架构。

而我们所做的,只是一个开始。





作者:阿里云云栖社区
链接:https://www.zhihu.com/question/26741164/answer/197554113
来源:知乎


随遇而安

 成长值: 33270

 楼主| 发表于 2017-9-9 18:55 | 显示全部楼层
王泥煤:
谢邀。喝多了怒答此题。  

黑产的的ddoser们你们玩卵去吧,攻击分千万种,你们偏偏选择最下作的一种,既然不相信报应,那就让报应快点来。

shutgun说的很好了,我不在重复。一句话,ddos是无法彻底解决的。 防ddos纯属是烧钱的事情,防到什么程度就看你愿投入多少。溯源也是一样,看你有能力动用多大的成本,你若是国家机器的话,甚至是动用外交手段,黑客直接过来跪了。


有一种误区,很多人认为ddos在于协议设计的不完善,或者存在漏洞。我不说三次握手这种协议缺陷,也不说slowery这种漏洞的情况,我只说说前端xss引发的ddos为例。

假如有微博上的xss蠕虫,去干一个中小网站是没什么问题的,而且完全都是正常的请求,首先跪的是ddos防火墙,另外请求的页面也不是随便选的,而是要连接数据库的页面,这个占用资源多,再控制个可变的参数来防止缓存,例如网站的搜索功能,这样cdn也跪了。此时蠕虫感染到50万,你的网站已经被正常的请求干到抬不起头来了,好了,你限制了微博referer,这是绝对有效的手段,大大降低了服务器资源的开销,可是降低了开销不等于没有开销,请问正则匹配referer就不消耗资源么,就算忽略资源消耗也是要消耗带宽的吧。好吧,现在感染的用户超过500w,看你网站跪不跪。

反正我也是键盘侠,那我就继续站着说话不腰疼吧,希望各位站长宁愿把钱花在防D的成本上,也不要给那些威胁你们的大(tu)黑(zai)客(zi)们



作者:王泥煤
链接:https://www.zhihu.com/question/26741164/answer/52848833
来源:知乎




随遇而安

 成长值: 33270

 楼主| 发表于 2017-9-9 18:59 | 显示全部楼层
八坂克图格亚:
只有手段最低劣的人才用DDoS。

上大学之前我玩过一个月的黑,最开始的时候,我接触的第一个攻击工具就是DDoS工具,操作最简单,最没有技术含量。

后来买了个远端,还有点肉鸡,去攻击某岛国网站,玩了几天感觉没意思就送人了。

然后我把硬盘格了系统重做。

那之后我开始玩阿D工具,就是没成功几次,但是一旦成功。。。DDoS?一边玩卵去把~

后来我把硬盘又格了,系统又重做一次,所有电脑上登录过的密码都改了一次。

所有东西都被我删除。收拾东西准备大学((╯‵□′)╯︵┻━┻明明是大专)生活

参考事件,XX年,ping死美国佬。

然而人家搞定了ping死命令。
╮(╯▽╰)╭
顺便补充一下,政府网站最好攻击了




作者:八坂克图格亚
链接:https://www.zhihu.com/question/26741164/answer/49618493
来源:知乎


随遇而安

 成长值: 33270

 楼主| 发表于 2017-9-9 19:01 | 显示全部楼层
匿名用户:
前面有说什么政府网站最好打的,政府网站需要DDOS么,我半小时写个webbench脚本,放到raspberry上跑一跑都能把政府网站跑趴下。

真正做DDOS的人不傻,没有人愿意去攻击正规网站,都是找黄,赌,私服搞,这些都是不正规的,不敢报警。

所以解决办法只有一个:买高防。

最后求个职:前面那位大哥,我专搞Linux,集群真的是我自己写的,rootkit也是自己写的,爆破器,抓鸡工具都是我自己写的,大哥能介绍一个太平洋彼岸的工作么。。。



作者:匿名用户
链接:https://www.zhihu.com/question/26741164/answer/52109997
来源:知乎


[发帖际遇]: 随便、先森。 发帖时在路边捡到 1 SB,偷偷放进了口袋. 幸运榜 / 衰神榜
随遇而安

 成长值: 33270

 楼主| 发表于 2017-9-9 19:05 | 显示全部楼层
肖平:
本人不是什么网络安全大咖,只不过是一家大型国企公司的一个小小的网络管理员。经验不足,在这里想和大家就DDOS防御探讨几个观点,希望能抛砖引玉。好了,这是我的观点:

大多数的网页服务都过于集中,便于攻击,导致了因为防御成本的成倍提升而防御困难,而我们可以依照“菜篮子”原理设计网络架构,既然网络攻击能分布式攻击,那么我们同样可以将服务端做成分布式的

要明白我的观点,首先要了解DDOS的原理,有个很生动的例子(转自百科):
    一群恶霸试图让对面那家有着竞争关系的商铺无法正常营业,他们会采取什么手段呢?(只为举例,切勿模仿)恶霸们扮作普通客户一直拥挤在对手的商铺,赖着不走,真正的购物者却无法进入;或者总是和营业员有一搭没一搭的东扯西扯,让工作人员不能正常服务客户;也可以为商铺的经营者提供虚假信息,商铺的上上下下忙成一团之后却发现都是一场空,最终跑了真正的大客户,损失惨重。

此外恶霸们完成这些坏事有时凭单干难以完成,需要叫上很多人一起。

例子中的商铺就是DDOS中受害的服务器,恶霸就是DDOS攻击者。攻击者追寻这以下几点思路进行攻击:
    1.特定的一家餐厅(基于IP地址的对指定某服务器的攻击)
    2.这家餐厅的服务对象上限(服务器承受的带宽上限)
    3.堵塞该店铺的路径(解决掉中间通道运营商)
    4.这家餐厅提供的服务(针对服务器中的某个服务)

看了大家关于DDOS的发言,很多人愿意在第二项上面下手,即提升带宽上限来增加硬防,为在无法判断数据交换请求的硬性需求是否是真正所需的情况下,这种土豪做法是最明显的提升方法,也是成本最高的方法。在我国通道流量算比较贵的情况下,这种方法的代价太高使防御变成了一种瓶颈。

但我探讨以下几种观点及其延伸:
针对基于IP地址的攻击,是受攻击面过于集中,但如果我们拥有足够多的IP、使用多个DNS域名解析,甚至启用DDNS动态域名(技术可能还不成熟),将域名分布式建立,然后进行加上疏流管理,是不是能缓解一些压力?

换句话说,我们是不是可以这样,既然很多用户(好用户和坏用户)都选择从餐厅的正门进入,我们开通其他后备通道,在正门相对拥挤的情况下,选择规范正门进入用户数量,开通备用通道计入的方式?

就好比我们的交通规则,从A到B原先只有1条路,当人满为患时,我们除了将道路修宽之外,可以新增道路(访问地址1,访问地址2)、可以安装交通灯(提示:当前地址1用户已满,前面排队用户还有88个,或者选择地址2)、增加访问时间限制(距您在本网页处理还有998秒)等这些可能性能不能实现?在我所管辖的网络里,我们公司拥有自己的内部网络,使用的做法之一就是建立多通道的服务器分布式集群,有一个前端挂了的时候,我们可以使用另外一个前端进行备投。

许多网游公司都有这样的概念:用户分为电信、联通、铁通用户,这样能有效的进行数据交换请求的分流,能一定程度上缓解DDOS压力,但这并不能从根本上缓解压力,所以很多人说这个方法然并卵。

针对基于带宽上限的攻击,这个现有的技术只能做到土豪做法,即给钱,提升硬防。我探讨的是三点:
    1.减少数据交换需求。进行类似数据流进行压缩和检测排除的做法,减少对通道的压力
    比如用户提出需求:“老板,今天天气很不错,给我来两斤白酒”。
    这个就是一个数据交换的过程,作为“老板”,我们可以辨别出“今天天气很不错”这句话是费词,可以去掉以减少通话时间(通道流量),那么能做到压缩并检测排除数据流的东西,我第一个想到的就是登录客户端了,一方面可以对数据流进行加密处理,一方面可以优化数据交换需求。

    2.减少通道成本。

    这个可以根据各个地域不同的通道费用,选择相应较低费用的通道,甚至考虑服务端对外使用并行多路动态(使用动态域名技术)+静态网络(专线VPN),服务器集群之间使用静态固定网络,这样做的原因是由于动态网络的成本要远低于静态成本,减少通道投入成本相应的就减少了防御成本。

    3.将需求数据库建设成云数据库。

    如果做云数据库呢?将重要数据库分地区存放,再建立专用的多通道城域网(服务器内网)DDoS最多能攻击到几处,我们可以关闭其中几条通道,并将服务转移呢?


作者:肖平
链接:https://www.zhihu.com/question/26741164/answer/55988061
来源:知乎


随遇而安

 成长值: 33270

 楼主| 发表于 2017-9-9 19:06 | 显示全部楼层
杨云鉴:
DDoS 攻击本身是无解的,因为DDoS的原因并不是因为服务器或者路由器的安全性出现问题,而是因为机器必须连接到互联网。

而在防御DDoS上存在一个权衡问题,也就是"there is always a trade-off between accuracy of the detection and how close to the source of attack the prevention and response mechanism can stop or respond to the attack."

        我觉得一些高票的回答可能有一些偏颇。可能提问者想问的是DDoS是否在技术上可以进行防御的,但是感觉回答都有点偏原始的方法了。就像人家问线性规划是不是可以标准化求解的,前边的回答都是说在问题简单的情况下可以通过枚举解决问题。

        即使对于最基本的IRC-based这样一个树状结构(也就是最高票说的可以通过一台电脑一台电脑找的方式找到攻击者的那种结构)也没有从技术上进行解决的确切方案。更何况还有低轨道离子炮这种Web-based的,不是简简单单关掉一台主机就能解决的DDoS攻击种类。以及目前几乎没有人注意的P2P方式的僵尸网络结构。

        然而最近几年有人在试着用机器学习在整个网络的路由器层级进行结构学习,分辨僵尸网络,并且声称取得了很高的准确率。但这样的声明想必也只能在学界看看吧。

       综上,DDoS并不是最low的攻击方式,任何东西一旦涉及到网络就能弄出花来,最后把这个DDoS防御弄成一个NP-hard求解问题,怎么解?


作者:杨云鉴
链接:https://www.zhihu.com/question/26741164/answer/73553808
来源:知乎


随遇而安

 成长值: 33270

 楼主| 发表于 2017-9-9 19:08 | 显示全部楼层
匿名用户:
以一般人的经济水平(不是高富帅),也就舍得一天花几十,几个月花个几千,然后他就穷逼了。

你可以先趁不能访问备个案,再用个国内的免费cdn,能挡一部分。有钱的话,他烧钱买肉鸡你就不会烧钱买高防么?云主机时代带防火墙的主机遍地都是。

如果通过社工或者本来就知道对方在哪儿,建议线下解决,玩网的人一般线下是很虚的。也可以试着报警,有句话说得好,技术手段好用就用技术手段,行政手段好用就用行政手段。

估计很多混到现在的站长都有被ddos牛打击的经历,与题主共勉。



作者:匿名用户
链接:https://www.zhihu.com/question/26741164/answer/35439405
来源:知乎


随遇而安
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表