防止 DDoS 攻击的五个「大招」!
提到 DDoS 攻击,很多人不会陌生。上周,美国当地时间 12 月 29 日,专用虚拟服务器提供商 Linode 遭到 DDoS 攻击,直接影响其 Web 服务器的访问,其中 API 调用和管理功能受到严重影响,在被攻击的一周之内仍有部分功能不可用,严重影响其业务和成千上万使用 Linode 服务的用户。
什么是 DDoS 攻击?
DDoS,即分布式拒绝服务(Distributed Denial of Service)攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动攻击,从而成倍地提高拒绝服务攻击的威力。
DDoS 的攻击方式有很多种,最基本的 DDoS 攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。单一的 DoS 攻击一般是采用一对一方式,当攻击目标 CPU 速度低、内存小或者网络带宽小等各项指标值不高时,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得 DoS 攻击的困难程度加大了——目标对恶意攻击包的消化能力加强了不少。这时候分布式的拒绝服务攻击手段(DDoS)就应运而生。DDoS 就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。
据统计,2015 年针对企业的 DDoS 攻击持续增长,根据 Akamai 的调查报告,2015 年 DDoS 攻击增长了史无前例的 180% !对于本次事件的 Linode 来说,早在 2013 年,Linode 就曾受到过大规模的 DDoS 攻击。面对 DDoS 这样的周期性挑衅,我们应该找出被攻击的原因,建立有效的防御体系来抵御攻击。
防止 DDoS 攻击的方式
1.减少公开暴露
之前曝光的的 Booter 网站或者是臭名昭著的 LizardSquad 旗下站 LizardStresser,都提供付费 DDoS 攻击某一目标的服务,而且这些网站都会将攻击伪装成合法的载入测试来进行攻击。这个黑客组织在 2014 年的圣诞节期间利用 DDoS 攻击了微软的 Xbox Live 和索尼的 PSN 网络,令许多玩家很长时间无法正常娱乐。
对于企业来说,减少公开暴露是防御 DDoS 攻击的有效方式,对 PSN 网络设置安全群组和私有网络,及时关闭不必要的服务等方式,能够有效防御网络黑客对于系统的窥探和入侵。具体措施包括禁止对主机的非开放服务的访问,限制同时打开的 SYN 最大连接数,限制特定 IP 地址的访问,启用防火墙的防 DDoS 的属性等。

(图片来源:OneRASP)
2.利用扩展和冗余
DDoS 攻击针对不同协议层有不同的攻击方式,因此我们必须采取多重防护措施。利用扩展和冗余可以防患于未然,保证系统具有一定的弹性和可扩展性,确保在 DDoS 攻击期间可以按需使用,尤其是系统在多个地理区域同时运行的情况下。任何运行在云中的虚拟机实例都需要保证网络资源可用。
微软针对所有的 Azure 提供了域名系统(DNS)和网络负载均衡,Rackspace 提供了控制流量流的专属云负载均衡。结合 CDN 系统通过多个节点分散流量,避免流量过度集中,还能做到按需缓存,使系统不易遭受 DDoS 攻击。
3.充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅仅有 10M 带宽的话,无论采取什么措施都很难对抗当今的 SYNFlood 攻击,至少要选择 100M 的共享带宽,最好的当然是挂在1000M 的主干上了。但需要注意的是,主机上的网卡是 1000M 的并不意味着它的网络带宽就是千兆的,若把它接在 100M 的交换机上,它的实际带宽不会超过 100M,再就是接在 100M 的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为 10M,这点一定要搞清楚。
4.分布式服务拒绝 DDoS 攻击
所谓分布式资源共享服务器就是指数据和程序可以不位于一个服务器上,而是分散到多个服务器。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会导致中心主机资源紧张与响应瓶颈的缺陷,分布式数据中心规模越大,越有可能分散 DDoS 攻击的流量,防御攻击也更加容易。
5.实时监控系统性能
除了以上这些措施,对于系统性能的实时监控也是预防 DDoS 攻击的重要方式。不合理的 DNS 服务器配置也会导致系统易受 DDoS 攻击,系统监控能够实时监控系统可用性、API、CDN 以及 DNS 等第三方服务商性能,监控网络节点,清查可能存在的安全隐患,对新出现的漏洞及时进行清理。骨干节点的计算机因为具有较高的带宽,是黑客利用的最佳位置,因此对这些主机加强监控是非常重要的。
另外,通过缩短 SYN 半连接的 time out 时间也能有效防止 DDoS 攻击,系统监控能够通过自主设置的 Time out 阈值发送报警,对系统情况进行整体的把控。

(图片来源:Cloud Test)
Cloud Test 是基于云技术的实时监控系统,能够帮大家实时监控网站性能,监控CDN、DNS、API等第三方服务提供商的可用性,实现应用性能及时监测及时报警。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客
防止 DDoS 攻击的五个「大招」!的更多相关文章
- 读书分享全网学习资源大合集,推荐Python3标准库等五本书「02」
0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code使 ...
- DDos攻击竟然这么恐怖,它的原理是什么?
DDOS的定义 分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击, ...
- 【转】《从入门到精通云服务器》第四讲—DDOS攻击
上周咱们深入分析了云服务器的配置问题,好了,现在手上有了云服务器之后,我们又不得不提它:DDOS攻击.这是所有运维者的心头痛,也是任何公司听闻后都将心惊胆战的强大对手.下面我们将用浅显易懂的方式讲述什 ...
- linux笔记_防止ddos攻击
一.什么是DoS攻击 DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带宽攻 ...
- 浅谈Ddos攻击攻击与防御
EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...
- 通过DDOS攻击流程图来浅谈如何预防Ddos攻击与防御
DDOS攻击流程图 站长之家配图(来源:ppkj.net) 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题 ...
- 高效的DDoS攻击探测与分析工具——FastNetMon
一.简介 FastNetMon这是一个基于多种抓包引擎(NetFlow, IPFIX, sFLOW, netmap, PF_RING, PCAP)的DoS/DDoS攻击高效分析工具,可以探测和分析网络 ...
- 被DDOS攻击的解决方法
在DDOS分布式借"机"堵塞正常访问的非法攻击中,任何技术高手都成了文科生.只能用非专业的方法解决.DDOS攻击的重心是堵塞服务器,给域名解析访问造成困难,被攻击后我们可以采用以下 ...
- 结合Socket实现DDoS攻击
一.实验说明 1. 实验介绍 通过上一节实验的SYN泛洪攻击结合Socket实现DDoS攻击. 2. 开发环境 Ubuntu Linux Python 3.x版本 3. 知识点 本次实验将涉及以下知识 ...
随机推荐
- android 69 SQLite数据库
package com.itheima.sqlitedatabase; import java.sql.ResultSet; import android.content.Context; impor ...
- keepalive support-----Programming applications
TCP Keepalive HOWTO Prev Next 4. Programming applications This section deals with programming code ...
- Getting started with new I/O (NIO)--reference
The new input/output (NIO) library, introduced with JDK 1.4, provides high-speed, block-oriented I/O ...
- 高效 jquery 的奥秘
当你准备使用 jQuery,我强烈建议你遵循下面这些指南: 1. 缓存变量 DOM 遍历是昂贵的,所以尽量将会重用的元素缓存. // 糟糕 h = $('#element').height(); $( ...
- GUI编程笔记(java)08:GUI通过鼠标移动到按钮上更改背景色案例
首先我们看看源代码如下: package cn.itcast_06; import java.awt.Button; import java.awt.Color; import java.awt.Fl ...
- gitcafe 使用hexo搭建博客
--缘由:因为看大家都用github等搭建博客,作为半个程序员的自己,也按捺不住了,终于有空来尝试一把了,选择了和github 相同功能的gitcafe网站,因为在国内比较快,这是大家的看法,下面写一 ...
- java-字符串学习总结
Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类. String 类相关基础认知: 1.String类是final的,不可被继承.public fin ...
- shell脚本学习之$0,$?,$!等的特殊用法
变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 ...
- 判断ios是app第一次启动
首次运行的应用程序加入一些help 或者 宣传动画 现在变的很重要了. 一个有用的例子是发送一个分析实例.这可能是一个很好的方法来确定有多少人下载实用应用程序.有人会说:“但是,嘿,苹果AppStor ...
- IOS-UI- UIScrollView 滚动视图(1)
滚动视图多个页面实现的原理 滚动视图位置不变 内容的位置发生改变. 滚动视图的运用1.分页查看图片 2.查看大图片 3.当内容过多需要一个页面显示,如:注册,修改个人信息等等4.当不希望用户感觉咱们的 ...