文档章节

被人DDoS攻击了,分析一下原理和防护

yzChen233
 yzChen233
发布于 07/29 18:03
字数 2321
阅读 51
收藏 0

一、行业现象

1.1 为什么要攻击?

常见的,一个是同行恶意竞争,一个是敲诈勒索。

无论是传统行业的线下门店,还是互联网行业的门户网站、APP产品,都存在着竞争关系,争相获得更多客源,究其目的,无非是为了赚钱。

1.2 被攻击有什么症状?

传统行业线下门店来讲,你开了一家饭店,正正经经做生意,生意也还不错。这两天经常有一大堆人进饭店,但是不点菜就占着位置不消费,或者动不动有乞丐在门口守着,有人在饭菜里面吃到虫子等等,这就是传统行业的恶意竞争。

互联网行业同理,你的门户网站或者APP产品一直正常运行,也没有做推广导流大量用户,但是系统突然无法访问,或者卡的要死,技术检查说是服务器流量暴增,导致服务器崩溃,阿里云ECS被拉入黑洞,无法访问。

用户无法正常使用你的产品,自然会觉得你的系统不稳定,导致用户流失。

1.3 恶意竞争的对手一般是不会攻击,那他是怎么做到的?

  • “发单者”,发起恶意竞争的对手,或者是敲诈勒索的主,即“老板”;
  • “攻击者”,收到发单者的订单,通过专业技术手段对目标进行攻击操作,即“项目经理”;
  • “肉鸡供应商”,即给攻击者提供资源的供应商,资源即“捣乱者”;

攻击产业简述.png

另,本图只是简单介绍攻击产业链,还有其他角色此处就不做详细介绍,后续我们再出专题讨论。

1.4 哪些行业更有可能被攻击?

  • 游戏(棋牌、网游私服)类
  • 某颜色类网站类
  • 金融类
  • 虚拟货币类

简单分析下上述类行业,他们至少有一个非常关键的共同点:有钱!

二、常见攻击方式

2.1 DDoS攻击

DDoS攻击是利用网络上被攻陷的电脑作为“肉鸡”,通过一定方式组合形成数量庞大的“僵尸网络”,采用一对多的方式进行控制,向目标系统同时提出服务请求,超出服务器的承载量,导致服务器崩溃的攻击技术。

简单的说,就是你的饭馆最多承载100个客人在店里面消费,当被人家恶意攻击时,突然有很多人往店里挤,不光是从大门进,还有后门,爬窗,各式各样的,导致店里没办法控制,并且人满为患,真正的消费者无法进入饭店消费,最后歇菜。

一般DDoS攻击有 NTP Flood、ICMP Flood、UDP Flood、SYN Flood、DNS Query Flood 等,由于专业描述过于复杂,此处不做详细介绍。

2.2 cc攻击

cc攻击主要分代理cc和肉鸡cc,其目的都是通过控制大量的请求,访问受害主机的合法网页或接口,导致服务端应用层(如java的tomcat)无法正常响应,服务器CPU长时间处于100%状态,网络带宽被占满,数据库被拖死等情况。

简单的说,当你的饭馆被恶意cc攻击时,突然来了很多客人,他们虽然不爬窗不抄后门,但是仍然把你的大门给挤满堵死,真正的客人无法进入,人又多,饭馆的服务员忙不过来,最后歇菜。

这种攻击技术性含量高,见不到真实源IP,见不到特别大的异常流量,但服务器就是无法进行正常连接。所以cc攻击成本也相对高一些,如果不是真的有什么深仇大恨,一般不会持续多久。

三、DDoS攻击防护

3.1 理解DDoS攻击原理

首先我们要知道,最基础的网站部署是怎么实现的,用户通过浏览器访问域名,域名再转发到你的源服务器。

基础的网站部署.png

然后我们要了解DDoS攻击原理,他们攻击的,是你的源服务器,也就是你的饭馆门店。因为一般域名都是显示指向服务器的ip,也就是你的门店定位是暴露给客户的,所以攻击者是可以直接找到门店进行攻击。

3.2 前置路由服务器,保护源服务器

所以要防护DDoS攻击第一步,是要保护好我们的源服务器,不让对方知道我们的源服务器地址,即加一个前置路由服务器,一般我们是使用NGINX、Apache等软路由,部署如下图。

保护源服务器部署.png

3.3 路由服务器被打死怎么办

上述架构图中,只是保证了源服务器不被影响,但是前置路由服务器被打死,用户依然访问不了,所以有的朋友已经想到了,我们再换一个路由服务器,部署如下图。

多路由服务器部署.png

但这种方式,必须要人工将域名转发配置重新改成新的路由服务器,并且域名转发最慢可能要10分钟,所以存在部分用户短时间内无法正常访问的弊端。

3.4 高富帅的完美做法

前面讲到的多路由服务器的方式,存在明显的体验差的弊端,那么有没有更好的方式呢?当然有,就是费点钱。比如阿里云,就有他们自己的高防服务,20000元包月,打底30G流量,超出的流量按量付费。 举个例子,这个月,你被攻击了5次,每次平均流量时100G,那么也就是说,你要额外再出 70G * 5 * 平均小时 的额外流量费用。(我一个搞游戏的朋友被同行恶意攻击,一个晚上的功夫,就是1万多的超额费用。。。),部署架构图如下。

阿里云高防IP部署.png

阿里云DDoS报价.png

3.5 想要有阿里云高防IP的服务又想节省成本

阿里云高防IP的做法,其实就是自己做了一套清洗规则,我们百度阿里云高防可以看到,很多竞价排名在前面的都是一些机房,他们的做法跟阿里云的做法原理也是差不多的,并且价格要比阿里云便宜不少,那么靠谱吗?

竞价排名嘛,羊毛出在羊身上,所以对于他们的同行来说,价格肯定也是偏高的,稳不稳定得看口碑了。我们之前做互联网金融的时候,被别人敲诈勒索,最后也是找到一个比较靠谱的机房做的防护,他们24小时在线查处问题,后面也一直处于比较清静的状态。

四、cc攻击防护

4.1 理解cc攻击原理

cc攻击不同于普通的DDoS攻击,玩的是合法的网络请求,也就是说他就是通过域名网页请求过去的,也是因为他本身就不需要绕过门面直接攻击源服务器,那么即使加上普通的前置路由服务器,也是没用的。

既然不需要隐式保护源服务器,那要怎么处理呢?

一般cc攻击都是有策略的,通过识别出当时攻击的策略,防护修改对应的应对策略即可。(当然,没点专业技术能力的,这个应对策略也是做不到的)

4.2 如何找到专业的cc攻击策略防护

同样,也是使用类阿里云的高防IP,当服务器被攻击时,会提示你的服务器当前在被什么策略的cc攻击,对应的人为在高防管理后台修改防护策略即可应对。

另一个就是前面说的机房,他们也是同样的方式,只是因为接入了机房,被攻击的对象就是他们的服务器,所以就让他们机房自己修改策略应对就好了,你只需要观察你的客户是否可以正常访问即可。

五、防护方式用户体验与成本对照表

防护方式 | 用户体验 | 价格成本 | 人工成本 | 稳定程度 -|-|-|-|- 多前置路由服务器 | 部分用户短时间内无法访问,体验差 | 主备模式,备用可以需要时再临时适用,成本较低 | 略高 | 一般 阿里云高防IP | 用户体验基本没有感知 | 2万保底30G,成本非常高 | 较少 | 稳定 靠谱IDC机房 | 用户体验基本没有影响 | 3千左右保底50G,免费弹性到100G,成本较低 | 较少 | 稳定

My Blog

blog.guijianpan.com

技术交流

weixin-x175.jpg

© 著作权归作者所有

yzChen233

yzChen233

粉丝 52
博文 12
码字总数 12233
作品 1
长沙
私信 提问
浅谈"DDoS高防IP"如何抵御DDOS攻击

何为DDOS DDoS(Distributed Denial of Service,即分布式拒绝服务攻击)指借助于服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击...

凌洛
2018/02/11
0
0
阿里云DDoS 高防IP功能作用与防御原理 高防IP实践教程

阿里云DDoS有什么功能作用?DDoS防御架构原理是什么呢?阿里云DDoS 高防IP这么贵又怎么办?一起来看看吧! 阿里云云盾产品所涉及的产品组件,全部为自主研发产品,拥有充分自主知识产权。结构...

看987432.cn
03/25
0
0
大流量DDoS攻击防护方案探讨

关键词:DDoS 双向异常流量清洗 近源 协同 摘要:随着互联网带宽的增长,DDoS攻击流量越来越大,超过300G的流量型攻击已经开始流行。对于如此大的攻击流量,被攻击客户往往不能独自应对。电信...

workming
2015/05/10
0
0
SinoBBD 编织全方位安全“防护网”开启最强DDoS 攻防战

近日,黑客组织“匿名者(Anonymous)”向全球超过 140 个金融机构发起了新一轮的攻击行动。此次“匿名者”发起代号为 #Opicarus2017 的攻击行动,包括中国人民银行(pbc.gov.cn)、香港金融...

玄学酱
2018/03/20
0
0
2015上半年 DDoS 威胁报告:过百G流量攻击多!

雷锋网8月20日消息,绿盟科技今日发布了《2015年上半年DDoS威胁报告》。报告显示,2015 年上半年DDoS攻击存在两极分化的态势,大流量攻击不断增长(>100G的攻击有33起)并开始走向云端,小流...

oschina
2015/08/21
853
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
527
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
29
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
16
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
42
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
54
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部