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. 201621123010《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 为你的系统增加网络功能(购物车.图书馆管理.斗地主等)-分组完成 为了让你的系统可以被多个用户通过网 ...

  2. REST easy with kbmMW #14 – DB Controlled login

    介绍 关于如何使用授权和登录管理来构建应用服务器还存在一些问题,其中之一就是用户及其角色如何在在数据库中定义.该文将解释使用TkbmMWAuthorizationManager解决此问题的一种方法.有 ...

  3. 部署python3.6下的django

    首先是安装好nginx,配置web目录,配置文件在confi.d中, server { # the port your site will be served on listen ; # the do ...

  4. Redis学习第八课:Redis高级实用特性(一)

    Redis高级实用特性 注:我学习的环境是vmware7.1 + ubantu10.10+ redis 3.0.2 1.安全性 设置客户端连接后进行任何其他指定前需要的密码.因为redis速度相当快, ...

  5. Eclipse中SVN的安装步骤(两种)和使用方法

    Eclipse中SVN的安装步骤(两种)和使用方法 一.给Eclipse安装SVN,最常见的有两种方式:手动方式和使用安装向导方式.具体步骤如下: 方式一:手动安装 1.下载最新的Eclipse,我的 ...

  6. MAC 设置环境变量path的常用方法

    单个用户设置 1)~/.bash_profile (任意一个文件中添加用户级环境变量) (注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile) 若bash shell是 ...

  7. 使用Nginx实现灰度发

     灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式.AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到 ...

  8. [LeetCode&Python] Problem 897. Increasing Order Search Tree

    Given a tree, rearrange the tree in in-order so that the leftmost node in the tree is now the root o ...

  9. k8s dockerk个人学习(2)

    部署nginx和应用 部署nginx时我们需要把nginx的配置文件那出来便于以后修改nginx的配置,放置nginx配置文件时我们用k8s的pv的存储方式来存放这些文件 1.安装nfs服务,在kub ...

  10. MVC思想-程序的控制流程-Struts2和SpringMVC黑马流程图

    1.初探 javaEE就是搞清前后台是怎么交互的,而控制那个交互的就被称为是:C:控制器 C负责协调调度程序如何执行的,M负责读数据的处理,比如说:验证输入的密码是否正确,是否 有这个权限.V就简单了 ...