现身说法:面对DDoS攻击时该如何防御?
上周,我们的网站遭到了一次DDoS攻击。虽然我对DDoS的防御还是比较了解,但是真正遇到时依然打了我个措手不及。DDoS防御是一件比较繁琐的事,面对各种不同类型的攻击,防御方式也不尽相同。对于攻击来的太快量也很大这种时,在自身环境下做调整已经无法抵抗攻击。为了缓解网站压力,在尝试了其他方式后最终还是选择切换到了知道创宇的高防产品。过程中也遇到了很多问题,但是为以后的DDoS防御留下的很多经验。所以写下这篇文章,与大家分享。
这次DDoS攻击的类型是CC攻击,CC攻击是目前应用层攻击的主要手段之一,只需要借助代理服务器生成指向目标系统的合法请求,就能实现伪装和DDoS。
其实我们都有这样的体验,访问一个静态页面,即使人多也不需要太长时间,但如果在高峰期访问论坛、贴吧等,那就很慢了,因为服务器系统需要到数据库中判断访问者是否有读帖、发言等权限。访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就相当的大。CC攻击就充分利用了这个特点,模拟多个正常用户不停地访问如论坛这些需要大量数据操作的页面,造成服务器资源的浪费。
当时我们发现服务器的CPU长时间处于100%的状态,永远都有处理不完的请求,网络拥塞,正常访问被中止。但是由于CC攻击技术性含量高,我们又无法见到真实源IP,也见不到特别大的异常流量,但服务器就是无法进行正常连接。最后才确定,这些其实都是CC攻击的典型特征。
CC攻击之所以会选择代理服务器是因为代理可以有效地隐藏自己的身份,也可以绕开防火墙,因为基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。当然也可以使用肉鸡来发动CC攻击,攻击者使用CC攻击软件控制大量肉鸡发动攻击,肉鸡可以模拟正常用户访问网站的请求伪造成合法数据包,相比前者来说更难防御。
CC攻击是针对Web服务在第七层协议发起的攻击,在越上层协议上发动DDoS攻击越难以防御,上层协议与业务关联愈加紧密,防御系统面临的情况也会更复杂。比如CC攻击中最重要的方式之一HTTP Flood,不仅会直接导致被攻击的Web前端响应缓慢,对承载的业务造成致命的影响,还可能会引起连锁反应,间接攻击到后端的Java等业务层逻辑以及更后端的数据库服务。真的非常的扎心!后来知道创宇的工程师告诉我们,由于CC攻击成本低、威力大,80%的DDoS攻击都是CC攻击。而攻击造成的后果就是:带宽资源严重被消耗,网站瘫痪;CPU、内存利用率飙升,主机瘫痪;瞬间快速打击,无法快速响应。
那我们是如何一步一步解决的?其实在遇到攻击时,我们有仔细考虑过很多方案,是选择高防机房、机房流量清洗还是云防御?
遭到攻击的第一刻,我们首先想到的是用机房进行流量迁移。网上也有很多过来人推荐这种办法。确实,这种办法能快速的响应,面对小流量的攻击时价钱合理同事也十分有效。但问题是,攻击者一直孜孜不倦,流量越打越大,我们花出去的钱也越来越多…无奈之下我们只能转向考虑高防,高防的优势还是很明显,配置简单接入方便,能很快见效,合理的套餐选择使得攻击大时价格能低于机房清洗。在选择高防产品时我们对阿里云、腾讯云和知道创宇三家进行了评估。三家实力都很雄厚,价格阿里云>腾讯云>知道创宇,但也就几百的差距,没什么影响。最后选择知道创宇的主要原因是,我们这次遭遇到的攻击也是以CC为主,他们防御CC的能力确实很牛,所以…
最后一点点经验给到大家:遇到1G以下的攻击,使用防火墙就可以搞定(或者使用一些免费的云防御产品);流量1G—10G时可以选择机房进行流量迁移和清洗;大于10G时使用高防CDN(云防御)是相对最靠谱并且价钱最能接受的。由于攻防资源和成本的天平严重倾斜,让攻击更加肆无忌惮。只有做好充分的准备,在威胁来临的时候才不至于乱了阵脚。因此,平时就对网络架构进行优化显得十分的必要,负载均衡方案也能大大提高应对DDoS攻击的能力。
希望这点经验能帮到大家,欢迎留言交流。
现身说法:面对DDoS攻击时该如何防御?的更多相关文章
- 工信部公示网络安全示范项目 网易云易盾“自适应DDoS攻击深度检测和防御系统”入选
本文由 网易云发布. 工信部官网 2017年年底,经专家评审和遴选,中华人民共和国工业和信息化部(以下简称“工信部”)公示了2017年电信和互联网行业网络安全试点示范项目,网易云易盾的“自适应DDo ...
- 破坏之王DDoS攻击与防范深度剖析【学习笔记】
一.DDoS初步印象 1.什么是分布式拒绝服务攻击? 1)首先它是一种拒绝服务攻击 我们可以这么认为,凡是导致合法用户不能访问服务的行为,就是拒绝服务攻击. 注:早期的拒绝服务主要基于系统和应用程序的 ...
- 从分析攻击方式来谈如何防御DDoS攻击
DDoS攻击的定义: DDoS攻击全称——分布式拒绝服务攻击,是网络攻击中非常常见的攻击方式.在进行攻击的时候,这种方式可以对不同地点的大量计算机进行攻击,进行攻击的时候主要是对攻击的目标发送超过其处 ...
- DDOS攻击(流量攻击)防御步骤
DDOS全名是Distributed Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击,DDOS 最早可追溯到1996年最初,在中国2 ...
- DDos攻击的常见方法及防御方法
什么是DDoS? DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡 ...
- DDoS攻击与防御(4)
在发生DDoS攻击的情况下,可以通过一些缓解技术来减少攻击对自身业务和服务的影响,从而在一定程度上保障业务正常运行.缓解DDoS攻击的主要方法是对网络流量先进行稀释再进行清洗. 1.攻击流量的稀释 1 ...
- 怎样预防Ddos攻击
一.为何要DDOS? 随着Internet互联网络带宽的增加和多种DDOS黑客工具的不断发布,DDOS拒绝服务攻击的实施越来越容易,DDOS攻击事件正在成上升趋势.出于商业竞争.打击报复和网络敲诈等多 ...
- 防止 DDoS 攻击的五个「大招」!
提到 DDoS 攻击,很多人不会陌生.上周,美国当地时间 12 月 29 日,专用虚拟服务器提供商 Linode 遭到 DDoS 攻击,直接影响其 Web 服务器的访问,其中 API 调用和管理功能受 ...
- cc攻击和ddos攻击
DoS攻击.CC攻击的攻击方式和防御方法 DDoS介绍 DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of ...
随机推荐
- js关闭当前页面(窗口)的几种方式
1. 不带任何提示关闭窗口的js代码 代码如下: <a href="javascript:window.opener=null;window.open('','_self');win ...
- Is JavaScript a pass-by-reference or pass-by-value language?
Is JavaScript a pass-by-reference or pass-by-value language? A very detailed explanation about copyi ...
- spark 笔记 10: TaskScheduler相关
任务调度器的接口类.应用程序可以定制自己的调度器来执行.当前spark只实现了一个任务调度器) )))))val createTime = System.currentTimeMillis()clas ...
- windows环境安装nexus
1.下载安装nexus安装包,我用的是nexus-2.14.13-01版本 2. 以管理员身份打开cmd命令窗口 3.进入到nexus bin目录下 输入命令 nexus install 4. 启动 ...
- MySQL 建表时 date 类型的默认值设置
在执行下面 SQL 语句时发现报错 CREATE TABLE `jc_site_access_pages` ( `access_date` date NOT NULL DEFAULT '0000-00 ...
- 一、基础篇--1.1Java基础-hashCode和equals方法的区别和联系
hashCode和equals方法的区别和联系 两个方法的定义 equals(Object obj)方法用来判断两个对象是否"相同",如果"相同"则返回tr ...
- DatePicker 日期选择器
用于选择或输入日期 选择日 以「日」为基本单位,基础的日期选择控件 基本单位由type属性指定.快捷选项需配置picker-options对象中的shortcuts,禁用日期通过 disabledDa ...
- Windows10安装秘钥大全
Windows10官方镜像下载地址: 点击下载 老毛桃U盘启动制作:点击下载 秘钥大全 家庭版: Core 家庭版:YTMG3-N6DKC-DKB77-7M9GH-8HVX7 单语言家庭版:BT79Q ...
- Ubuntu13.04编译安装cmake2.8.12.2
前提: 安装过程需要gcc和gcc-c++.ubuntu13.04桌面版自带gcc4.7,apt-get install g++4.7安装g++./usr/bin目录下有x86_64-linux-gn ...
- http协议详解之响应报文 3
--------------响应示例--------------------------response#状态行HTTP/1.1 200 OK #协议及版本号.状态码.状态描述 #消息报头Date: ...