DDoS 攻击与防御:从原理到实践(上)
欢迎访问网易云社区,了解更多网易技术产品运营经验。
可怕的 DDoS
出于打击报复、敲诈勒索、政治需要等各种原因,加上攻击成本越来越低、效果特别明显等趋势,DDoS 攻击已经演变成全球性的网络安全威胁。
危害
根据卡巴斯基 2016Q3 的调查报告,DDoS 攻击造成 61% 的公司无法访问其关键业务信息,38% 的公司无法访问其关键业务,33% 的受害者因此有商业合同或者合同上的损失。

趋势
总结来看,现在的 DDoS 攻击具有以下趋势:
1. 国际化
现在的 DDoS 攻击越来越国际化,而我国已经成为仅次于美国的第二大 DDoS 攻击受害国,而国内的 DDoS 攻击源海外占比也越来越高。

2. 超大规模化
由于跨网调度流量越来越方便、流量购买价格越来越低廉,现在 DDoS 攻击的流量规模越来越大。在 2014 年底,国内曾有云服务提供商遭受过高达 450Gbps 的攻击。
3. 市场化
市场化势必带来成本优势,现在各种在线 DDoS 平台、肉鸡交易渠道层出不穷,使得攻击者可以以很低的成本发起规模化攻击。按流量获取方式进行的对比可参考下表:

DDoS 攻击科普
DDoS 的攻击原理,往简单说,其实就是利用 tcp/udp 协议规律,通过占用协议栈资源或者发起大流量拥塞,达到消耗目标机器性能或者网络的目的。下面我们先简单回顾 TCP “三次握手” 与 “四次挥手” 以及 UDP 通信流程。
TCP 三次握手与四次挥手

TCP 建立连接:三次握手
1.client: syn
2.server: syn+ack
3.client: ack
TCP 断开连接:四次挥手
1.client: fin
2.server: ack
3.server: fin
4.client: ack
UDP 通信流程

根据上图可发现,udp 通信是无连接、不可靠的,数据是直接传输的,并没有协商的过程。
攻击原理与攻击危害
按照攻击对象的不同,将对攻击原理和攻击危害的分析分成 3 类,分别是攻击网络带宽资源、系统以及应用。
攻击网络带宽资源

攻击系统资源

攻击应用资源

DDoS 防护科普
攻击防护原理
从 tcp/udp 协议栈原理介绍 DDoS 防护原理:

syn flood:
可以在收到客户端第三次握手 reset 、第二次握手发送错误的 ack,等 Client 回复 Reset,结合信任机制进行判断。
ack flood:
丢弃三次 ack,让对方重连:重发 syn 建立链接,后续是 syn flood 防护原理;学习正常 ack 的源,超过阈值后,该 ack 没有在正常源列表里面就丢弃 ack 三次,让对方重连:重发 syn 建立链接,后续是 syn flood 防护。
udp flood:

不同层面的防护
按攻击流量规模分类
较小流量
小于 1000Mbps,且在服务器硬件与应用接受范围之内,并不影响业务的:
利用 iptables 或者 DDoS 防护应用实现软件层防护。
大型流量
大于 1000Mbps,但在 DDoS 清洗设备性能范围之内,且小于机房出口,可能影响相同机房的其他业务的:
利用 iptables 或者 DDoS 防护应用实现软件层防护,或者在机房出口设备直接配置黑洞等防护策略,或者同时切换域名,将对外服务 IP 修改为高负载 Proxy 集群外网 IP 或者 CDN 高仿 IP 或者公有云 DDoS 防护网关 IP,由其代理到 RealServer;或者直接接入 DDoS 清洗设备。
超大规模流量
在 DDoS 清洗设备性能范围之外,但在机房出口性能之内,可能影响相同机房的其他业务,或者大于机房出口,已经影响相同机房的所有业务或大部分业务的:
联系运营商检查分组限流配置部署情况,并观察业务恢复情况。
按攻击流量协议分类
syn/fin/ack 等 tcp 协议包
设置预警阀值和响应阀值,前者开始报警,后者开始处理,根据流量大小和影响程度调整防护策略和防护手段,逐步升级。
udp/dns query 等 udp 协议包
对于大部分游戏业务来说,都是 TCP 协议的,所以可以根据业务协议制定一份 tcp 协议白名单,如果遇到大量 udp 请求,可以不经产品确认或者延迟跟产品确认,直接在系统层面 /HPPS 或者清洗设备上丢弃 udp 包。
http flood/CC 等需要跟数据库交互的攻击
这种一般会导致数据库或者 webserver 负载很高或者连接数过高,在限流或者清洗流量后可能需要重启服务才能释放连接数,因此更倾向在系统资源能够支撑的情况下调大支持的连接数。相对来说,这种攻击防护难度较大,对防护设备性能消耗很大。
其他
icmp 包可以直接丢弃,先在机房出口以下各个层面做丢弃或者限流策略。现在这种攻击已经很少见,对业务破坏力有限。
网易云安全(易盾)提供DDoS高防服务,点击可免费试用。
相关文章:
【推荐】 网易对象存储NOS图床神器
【推荐】 知物由学|AI网络安全实战:生成对抗网络
【推荐】 “网易有钱”sketch使用分享
DDoS 攻击与防御:从原理到实践(上)的更多相关文章
- DDoS 攻击与防御:从原理到实践
本文来自 网易云社区 . 可怕的 DDoS 出于打击报复.敲诈勒索.政治需要等各种原因,加上攻击成本越来越低.效果特别明显等趋势,DDoS 攻击已经演变成全球性的网络安全威胁. 危害 根据卡巴斯基 2 ...
- DDoS 攻击与防御:从原理到实践(下)
欢迎访问网易云社区,了解更多网易技术产品运营经验. DDoS 攻击与防护实践 DDoS 攻击的实现方式主要有如下两种: 自建 DDoS 平台 现在有开源的 DDoS 平台源代码,只要有足够机器和带宽资 ...
- 浅谈 DDoS 攻击与防御
浅谈 DDoS 攻击与防御 原创: iMike 运维之美 什么是 DDoS DDoS 是英文 Distributed Denial of Service 的缩写,中文译作分布式拒绝服务.那什么又是拒 ...
- 通过DDOS攻击流程图来浅谈如何预防Ddos攻击与防御
DDOS攻击流程图 站长之家配图(来源:ppkj.net) 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题 ...
- DDoS攻击与防御(1)
分布式拒绝服务攻击的精髓是,利用分布式的客户端,向服务提供者发起大量看似合法的请求,消耗或长期占用大量资源,从而达到拒绝服务的目的.从不同的角度看,分布式拒绝服务攻击的方法有不同的分类标准.依据消耗目 ...
- DDOS攻击与防御简单阐述,列出DDOS的攻击方法和防御方法
参考1:https://www.hi-linux.com/posts/50873.html#%E7%BD%91%E7%BB%9C%E5%B1%82-ddos-%E6%94%BB%E5%87%BB 什么 ...
- DDoS攻击与防御(2)
2.攻击系统资源终端设备在与服务器进行通信时,经常需要创建会话连接,在此过程中通常会使用TCP和SSL等协议.会话连接一旦被占满,新进入的会话请求就必须等待前面的会话完成.消耗系统资源的DDoS攻击的 ...
- DDoS攻击与防御(4)
在发生DDoS攻击的情况下,可以通过一些缓解技术来减少攻击对自身业务和服务的影响,从而在一定程度上保障业务正常运行.缓解DDoS攻击的主要方法是对网络流量先进行稀释再进行清洗. 1.攻击流量的稀释 1 ...
- DDoS攻击与防御(3)
3.攻击应用资源网络应用和服务在处理数据时,通常需要消耗一定的网络连接.计算和存储资源,这些资源是由应用程序向系统进行申请并自行管理和维护的.消耗应用资源的DDoS攻击就是通过向应用提交大量消耗资源的 ...
随机推荐
- memcache学习
1.memcache和memcached区别 Memcache是该系统的项目名称,Memcached是该系统的主程序文件(字母d可以理解为daemon),以守护程序方式运行于一个或多个服务器中,随时接 ...
- 实战:mysql写存储过程并定时调用
有表:cap_meter_detail 字段:recordtime 情景:recordtime每半个小时记录一次,故一天会产生很很多数据,我们要做的是,每天00:00:00对cap_meter_det ...
- 2019/05/11 JAVA虚拟机原理
所谓虚拟机,就是一台虚拟的机器.他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为 系统虚拟机和程序虚拟机, 大名鼎鼎的Visual Box.Vmare就属于系统虚拟机,他们完全是对物理计 ...
- 【Android】SlidingMenu属性详解
SlidingMenu 常用属性介绍: menu.setMode(SlidingMenu.LEFT);//设置左滑菜单menu.setTouchModeAbove(SlidingMenu.TOUCHM ...
- linux下phpstudy的搭建以及网站的搭建
step1: 下载SSH连接到IP地址(阿里云上购买的) step2: 安装下载phpstudywget -c http://lamp.phpstudy.net/phpstudy.bin chmod ...
- 通过90行代码学会HTML5 WebSQL的4种基本操作
Web SQL数据库API是一个独立的规范,在浏览器层面提供了本地对结构化数据的存储,已经被很多现代浏览器支持了. 我们通过一个简单的例子来了解下如何使用Web SQL API在浏览器端创建数据库表并 ...
- 1.JOIN和UNION区别
1.JOIN和UNION区别join 是两张表做交连后里面条件相同的部分记录产生一个记录集,union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 . JOIN用于按照ON条件联接两 ...
- 国家气象局提供的天气预报接口(完整Json接口)
国家气象局提供的天气预报接口主要有三个,分别是:http://www.weather.com.cn/data/sk/101010100.htmlhttp://www.weather.com.cn/da ...
- C程序(2)
- WINDOWS-API:操作网络映射盘-WNetAddConnection2
首先在VC项目属性,开发依赖项里添加MPR.lib:然后,配置文件里填入以下信息. //本地映射盘符 MapDriver=T: //目标根目录 //MapSharedPath=\\192.168.0 ...