1、减少攻击面

(a) reduce the number of necessary Internet entry points,
(b) eliminate non-critical Internet entry points, 
(c) separate end user traffic from management traffic, 
(d) obfuscate necessary Internet entry points to the level that untrusted end users cannot access them, and 
(e)decouple Internet entry points to minimize the effects of attacks. 

a、减少必要的互联网入口接入点,举个例子,你的用户都是中国,那么在DNS解析的时候,国外用户就不用解析了。或者让他们解析到127.0.0.1去。根据地域的IP来做智能DNS解析;
b、消除非关键互联网入口,比如只开放80端口,只开放必须的域名对外访问,等等;
c、 不要让普通用户走你的管理网络,也就是普通通道和管理通道必须隔离开来。
d、 不可信任的用户禁止访问网络
e、 减少INTERNET接入。
在AWS里,可以创建EC2的安全组,来限制部分IP或者协议访问你的网络;还可以创建VPC的ACL来控制IP网络。最后创建VPN来管理网络。

2、 Be Ready to Scale and Absorb the Attack准备吸收DDOS攻击
 吸收DDOS攻击,有横向和纵向两个方面。
横向吸收就是增加EC2个数,纵向就是增加CPU,网卡,内存。

(1) select the appropriate instance types for your application,
(2) configure services such as Elastic Load Balancing and Auto Scaling to automatically scale, and 
(3) use the inherent scale built into the AWS global services like Amazon CloudFront and Amazon Route 53

a、选择正确的实例类型;用来抗DDOS的EC2,AWS建立你用万兆网卡的实例。。。用半虚拟化的实例,C3, C4, R3, D2, and I2 instances。这些实例可以安装SR-IOV网卡驱动,专门来对抗DDOS。
b、创建ELB负载均衡 
 Because ELB only supports valid TCP requests, DDoS attacks such as UDP and SYN floods are not able to reach your instances.

因为ELB只支持有效的TCP请求,DDoS攻击如UDP和SYN洪水无法到达你的实例。
c、Auto Scaling,AWS很重要的一个功能

Auto Scaling helps you maintain application availability and allows you to scale your
EC2 capacity up or down automatically according to conditions you define. For example,
you can set a condition to incrementally add new instances to the Auto Scaling group
when network traffic is high (typical of DDoS attacks). You can also set a condition to
remove instances in the same increments when network traffic is low. You can use
Amazon CloudWatch to trigger scaling activities and ELB to distribute traffic to your

instances within Auto Scaling groups.
意思就是说:

Auto Scaling可以帮助您保持应用程序的可用性,并允许您扩展您的
EC2容量或根据你定义自动。例如,
您可以设置条件以增量向自动缩放组添加新实例
当网络流量大(典型的DDoS攻击)。您还可以设置条件
当网络流量较低时,删除相同的增量实例。你可以用
亚马逊CloudWatch触发缩放活动和ELB流量分发到你的

自动缩放组中的实例。 
一般EC2的计费是按24小时一计费的。所以,一般自动创建完EC2可以24小时以后再让它自动删除EC2实例。

使用 Auto Scaling有以下一些注意事项:
  How long it takes to launch and configure your servers? If you’re application

takes more than five minutes to start, we recommend having multiple instances
already running your application or low thresholds for scaling.
 一个EC2实例的自动启动大概需要五分钟时间,所以你不要等到你的CPU已经100%或者网络使用已经100%再启动你的新实例,您应该在比如50%以上就要启动新实例了。
 What metrics have the most relevance to your application's performance?
Example metrics for DDoS attacks are CPUUtilization, NetworkIn, and
StatusCheckFailed.
服务状态是否失败。
 What existing resources (such as EC2 instances or AMIs) you might want to use as
part of your Auto Scaling group? You’ll want the same type of instance or higher
capacity running the application under attack for your Auto Scaling group.
你可以设定自动创建的EC2实例,是跟以前一样或者更高配置,比如万兆网卡的实例。 
 To how many AZs do you want the Auto Scaling group to span? We recommend a
minimum of two AZs.
至少需要创建2个AZ实例组 
 How fast should you scale up and down? Keep in mind that DDoS attacks can
come in waves. You don’t want to scale down after the initial wave only to find
out you have to scale back up again.
 一般EC2的计费是按24小时一计费的。所以,一般自动创建完EC2可以24小时以后再让它自动删除EC2实例。
 What is the maximum amount of EC2 instances for the Auto Scaling group?
Additional instances may increase your costs. When you create your Auto
Scaling policy, you can set maximum number of instances. You can also set an
alarm when this maximum number has been reached. See Amazon CloudWatch
for steps on setting alarms.
 可能会造成大量的金额,不过一般只开24小时的话,花不了多少钱,当然你可以设置金额的警报。

3、Amazon CloudFront亚马逊的云服务 
CDN这块抗DDOS就不用说了, 可以把您的流量分到各地去,让攻击者无法找到您真正的原站资源。

Amazon CloudFront还具有过滤功能,以确保只有有效的TCP连接和HTTP请求而放弃无效的请求

4、Amazon Route 53,亚马逊的智能DNS服务 
这块我之前已经介绍过了。 你的用户都是中国,那么在DNS解析的时候,国外用户就不用解析了。或者让他们解析到127.0.0.1去。根据地域的IP来做智能DNS解析;

5、Safeguard Exposed Resources保护公开的资源 
这块主要是结合安全组以及 Amazon CloudFront。
当然AWS里有WAF防火墙模版,你可以创建WAF模版,然后在两个ELB之间连接WAF模版,将进入的数据过滤。

6、Learn Normal Behavior
 
 
可以根据CloudWatch监控的参数,来触发EC2实例的增加和减少。

如何缓解DDOS攻击的更多相关文章

  1. 使用多个DNS供应商以缓解DDoS攻击

        随着不安全物联网(IoT)设备的激增,针对域名系统(DNS)供应商的分布式拒绝服务(DDoS)攻击在数量和规模上正在不断增加.这些攻击随之影响依赖于这些供应商进行域名解析的网站.虽然DNS供应 ...

  2. 使用iptables缓解DDOS及CC攻击

    使用iptables缓解DDOS及CC攻击 LINUX  追马  7个月前 (02-09)  465浏览  0评论 缓解DDOS攻击 防止SYN攻击,轻量级预防 iptables -N syn-flo ...

  3. Linux系统采用netstat命令查看DDOS攻击的方法

    Linux系统采用netstat命令查看DDOS攻击的方法 来源:互联网 作者:佚名 时间:07-05 15:10:21 [大 中 小] 这篇文章主要为大家介绍了Linux系统采用netstat命令查 ...

  4. DDoS攻击与防御(4)

    在发生DDoS攻击的情况下,可以通过一些缓解技术来减少攻击对自身业务和服务的影响,从而在一定程度上保障业务正常运行.缓解DDoS攻击的主要方法是对网络流量先进行稀释再进行清洗. 1.攻击流量的稀释 1 ...

  5. 游戏行业DDoS攻击解决方案

    行业综述 根据全球游戏和全球移动互联网行业第三方分析机构Newzoo的数据显示:2017年上半年,中国以275亿美元的游戏市场收入超过美国和日本,成为全球榜首. 游戏行业的快速发展.高额的攻击利润.日 ...

  6. 服务器被ddos攻击?分析如何防止DDOS攻击?

    上周知名博主阮一峰的博客被DDOS攻击,导致网站无法访问而被迫迁移服务器的事情,引起了广大网友的关注及愤慨,包括小编的个人博客也曾接受过DDOS的“洗礼”,对此感同身受.所以,本文我们一起来了解下DD ...

  7. 阿里云:游戏行业DDoS攻击解决方案

    转自:http://www.gamelook.com.cn/2018/01/319420 根据全球游戏和全球移动互联网行业第三方分析机构Newzoo的数据显示:2017年上半年,中国以275亿美元的游 ...

  8. 破坏之王DDoS攻击与防范深度剖析【学习笔记】

    一.DDoS初步印象 1.什么是分布式拒绝服务攻击? 1)首先它是一种拒绝服务攻击 我们可以这么认为,凡是导致合法用户不能访问服务的行为,就是拒绝服务攻击. 注:早期的拒绝服务主要基于系统和应用程序的 ...

  9. 通过Nginx和Nginx Plus阻止DDoS攻击

    分布式拒绝服务攻击(DDoS)指的是通过多台机器向一个服务或者网站发送大量看似合法的数据包使其网络阻塞.资源耗尽从而不能为正常用户提供正常服务的攻击手段.随着互联网带宽的增加和相关工具的不断发布,这种 ...

随机推荐

  1. 2014.04.14 Lastpass活动,2年高级版

    点击进入活动地址. 我的邀请地址,^_^

  2. PostgreSQL误删操作怎么处理

    方式一: PostgreSQL中没有Oracle的闪回机制,只有更加复杂的PITR恢复机制,这要求数据库有全量备份和增量备份,否则无法进行回滚. 方式二: 虽然PostgreSQL有延迟复制的技术,在 ...

  3. 建立自己的javaBean --成功

    1.用记事本新建一个java 程序,文件名为TestBean.java ,文件内容如下: package test; public class TestBean{ private String nam ...

  4. Excel 设置标题栏

    1. 选中列表标题行, 可以设置字体居中显示,并放大字体以表示这是标题栏. 2. 选中列表第一数据行,即列表标题行下一行,选择View > Freeze Panes.

  5. SMON进程、PMON进程、LGWR/ARCH

    SMON 进程:system monitor instance monitor 系统监控.实例监控进程 说明及作用:在实例关闭时,会清理临时段,整理空闲空间free space; 实例非正常关闭后,启 ...

  6. zoj 1108 FatMouse's Speed 基础dp

    FatMouse's Speed Time Limit: 2 Seconds      Memory Limit:65536 KB     Special Judge FatMouse believe ...

  7. 0-1背包 codeforces 55 D

    题目链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=29608#problem/D 我把它化成了0-1背包,应该可以直接用多重背包做 ...

  8. ES6必知必会 (三)—— 数组和对象的拓展

    数组的扩展 1.拓展运算符('...'),它相当于rest参数的逆运算,用于将一个数组转换为用逗号分隔的参数序列: console.log(...[1, 2, 3]) // 1 2 3 console ...

  9. JNI学习笔记_Java调用C —— Android中使用的方法

    一.笔记 1.JNI(Java Native Interface),就是如何使用java去访问C/C++编写的那些库.若想深入了解JNI可以看官方文档jni.pdf.优秀博文:Android JNI知 ...

  10. C经典案例

    1. C中可变参数函数作为函数参数: void media_debug_set_handler(struct media_device *media, void (*debug_handler)(vo ...