被人DDoS攻击了,分析一下原理和防护
一、行业现象
1.1 为什么要攻击?
常见的,一个是同行恶意竞争,一个是敲诈勒索。
无论是传统行业的线下门店,还是互联网行业的门户网站、APP产品,都存在着竞争关系,争相获得更多客源,究其目的,无非是为了赚钱。
1.2 被攻击有什么症状?
传统行业线下门店来讲,你开了一家饭店,正正经经做生意,生意也还不错。这两天经常有一大堆人进饭店,但是不点菜就占着位置不消费,或者动不动有乞丐在门口守着,有人在饭菜里面吃到虫子等等,这就是传统行业的恶意竞争。
互联网行业同理,你的门户网站或者APP产品一直正常运行,也没有做推广导流大量用户,但是系统突然无法访问,或者卡的要死,技术检查说是服务器流量暴增,导致服务器崩溃,阿里云ECS被拉入黑洞,无法访问。
用户无法正常使用你的产品,自然会觉得你的系统不稳定,导致用户流失。
1.3 恶意竞争的对手一般是不会攻击,那他是怎么做到的?
- “发单者”,发起恶意竞争的对手,或者是敲诈勒索的主,即“老板”;
- “攻击者”,收到发单者的订单,通过专业技术手段对目标进行攻击操作,即“项目经理”;
- “肉鸡供应商”,即给攻击者提供资源的供应商,资源即“捣乱者”;
另,本图只是简单介绍攻击产业链,还有其他角色此处就不做详细介绍,后续我们再出专题讨论。
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攻击原理
首先我们要知道,最基础的网站部署是怎么实现的,用户通过浏览器访问域名,域名再转发到你的源服务器。
然后我们要了解DDoS攻击原理,他们攻击的,是你的源服务器,也就是你的饭馆门店。因为一般域名都是显示指向服务器的ip,也就是你的门店定位是暴露给客户的,所以攻击者是可以直接找到门店进行攻击。
3.2 前置路由服务器,保护源服务器
所以要防护DDoS攻击第一步,是要保护好我们的源服务器,不让对方知道我们的源服务器地址,即加一个前置路由服务器,一般我们是使用NGINX、Apache等软路由,部署如下图。
3.3 路由服务器被打死怎么办
上述架构图中,只是保证了源服务器不被影响,但是前置路由服务器被打死,用户依然访问不了,所以有的朋友已经想到了,我们再换一个路由服务器,部署如下图。
但这种方式,必须要人工将域名转发配置重新改成新的路由服务器,并且域名转发最慢可能要10分钟,所以存在部分用户短时间内无法正常访问的弊端。
3.4 高富帅的完美做法
前面讲到的多路由服务器的方式,存在明显的体验差的弊端,那么有没有更好的方式呢?当然有,就是费点钱。比如阿里云,就有他们自己的高防服务,20000元包月,打底30G流量,超出的流量按量付费。
举个例子,这个月,你被攻击了5次,每次平均流量时100G,那么也就是说,你要额外再出 70G * 5 * 平均小时 的额外流量费用。(我一个搞游戏的朋友被同行恶意攻击,一个晚上的功夫,就是1万多的超额费用。。。),部署架构图如下。
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
技术交流
被人DDoS攻击了,分析一下原理和防护的更多相关文章
- 浅谈拒绝服务攻击的原理与防御(4):新型DDOS攻击 – Websocket和临时透镜
0×01 前言 前几天我已经分别发了三篇关于DDOS攻击相关的文章,我也是第一次在freebuf上发表这种文章,没想到有那么多人点击我真的很开心,前几天我为大家介绍的DDOS攻击的方法和原理都是已经出 ...
- 高效的DDoS攻击探测与分析工具——FastNetMon
一.简介 FastNetMon这是一个基于多种抓包引擎(NetFlow, IPFIX, sFLOW, netmap, PF_RING, PCAP)的DoS/DDoS攻击高效分析工具,可以探测和分析网络 ...
- 高效的DDoS攻击探测与分析工具 – FastNetMon
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- 全年DDoS攻击分析|知道创宇云安全2018年度网络安全态势报告
*本报告由知道创宇云安全出品* 数据来源:知道创宇云防御平台 前言 2018年,网络安全领域暗流涌动,攻击趋势不断攀升,T级DDoS攻击多次爆发.数据泄露事件层出不穷.勒索软件大行其道.此外,随着我国 ...
- ddos攻击和cc攻击的区别和防护!!
什么是DDoS攻击? DDoS攻击就是分布式的拒绝服务攻击,DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采用一对一方式的,随着计算机与网络技术的发展,DoS攻 ...
- DOS、DOS攻击、DDOS攻击、DRDOS攻击
https://baike.baidu.com/item/dos%E6%94%BB%E5%87%BB/3792374?fr=aladdin DOS:中文名称是拒绝服务,一切能引起DOS行为的攻击都被称 ...
- 老板怎么办,我们网站遭到DDoS攻击又挂了?
相信现在正在阅读此文的你,一定听说过发生在上个月的史上最大的DDoS攻击. 美国东部时间2月28日,GitHub在一瞬间遭到高达1.35Tbps的带宽攻击.这次DDoS攻击几乎可以堪称是互联网有史以来 ...
- 几十万学费总结出来的Ddos攻击防护经验!
本人从事网络安全行业十余年年.有十年被骗经验.被骗了很多回(都说能防300G,500G,买完就防不住了),本文当然重点给大家说明,ddos攻击是什么,中小企业如何防护,用到成本等. 言归正传 首先我们 ...
- DDoS攻击与防御(1)
分布式拒绝服务攻击的精髓是,利用分布式的客户端,向服务提供者发起大量看似合法的请求,消耗或长期占用大量资源,从而达到拒绝服务的目的.从不同的角度看,分布式拒绝服务攻击的方法有不同的分类标准.依据消耗目 ...
随机推荐
- 寻路算法之A*算法详解
前言 在实际开发中我们会经常用到寻路算法,例如MMOARPG游戏魔兽中,里面的人物行走为了模仿真实人物行走的体验,会选择最近路线达到目的地,期间会避开高山或者湖水,绕过箱子或者树林,直到走到你所选定的 ...
- winform 代码生成textbox ,checkbox
参考地址:https://jingyan.baidu.com/article/380abd0a6b80701d90192cde.html 首先搭建好Winform项目框架后,创建窗体页面后自行布局 这 ...
- CF1479X Codeforces Round #700
C Continuous City(图的构造) 题目大意:让你构造一个n\le 32的有向无环无重边图,使得从1走到n的所有路径长度在L,R之间,且每种长度的路径只有唯一一条,$L,R\le 1e6$ ...
- 创建自定义ClassLoader,绕过双亲委派
1.什么是类加载 通过javac将.java文件编译成.class字节码文件后,则需要将.class加载到JVM中运行,哪么是谁将.class加载到JVM的呢?那就是类加载器啦. 2.类加载器类型 B ...
- 解释AOP模块 ?
AOP模块用于发给我们的Spring应用做面向切面的开发, 很多支持由AOP联盟提供,这样就确保了Spring和其他AOP框架的共通性.这个模块将元数据编程引入Spring.
- jvm-learning-概述
JVM整体结构: java代码的执行流程 JVM的架构模型 public class StackStruTest { public static void main(String[] args) { ...
- SpringBoot集成ArtemisMQ,设置动态消息类型
SpringBoot项目集成ArtemisMQ,那么想动态的更换消息类型,怎么办呢? 通过设置org.springframework.jms.support.destination.JmsDestin ...
- Dubbo 集群容错有几种方案?
集群容错方案 说明 Failover Cluster 失败自动切换,自动重试其它服务器(默认) Failfast Cluster 快速失败,立即报错,只发起一次调用 Failsafe Cluster ...
- 当一个线程进入一个对象的 synchronized 方法 A 之后, 其它线程是否可进入此对象的 synchronized 方法 B?
不能.其它线程只能访问该对象的非同步方法,同步方法则不能进入.因为非静 态方法上的 synchronized 修饰符要求执行方法时要获得对象的锁,如果已经进入 A 方法说明对象锁已经被取走,那么试图进 ...
- 你将如何使用 thread dump?你将如何分析 Thread dump?
新建状态(New) 用 new 语句创建的线程处于新建状态,此时它和其他 Java 对象一样,仅仅在堆区 中被分配了内存. 就绪状态(Runnable) 当一个线程对象创建后,其他线程调用它的 sta ...