阅读423 返回首页    go 阿里云 go 技术社区[云栖]


聊一聊负载均衡SLB的DDoS防护

众所周知,DDoS(分布式拒绝服务攻击)攻击是当前互联网上最常见,却最难以防范的一种攻击,其基本原理是黑客通过发动成千上万的肉鸡,在短时间内对被攻击目标发起海量访问,大量占用被攻击目标的服务资源,使得正常的业务访问无法进行,具有危害大、成本低、防范难等特点。阿里云公网产品的一大特点就是有默认DDoS安全防护,包括弹性IP、负载均衡SLB、NAT网关等均有覆盖,今天就以SLB产品为例聊一聊阿里云提供的DDoS防护功能。

3

如上图所示所有来自Internet的流量都要先经过云盾再到达负载均衡SLB,云盾会针对常见的攻击进行清洗过滤,包括: SYN Flood 、ACK Flood、UDP Flood、ICMP Flood、连接攻击及畸形报文过滤和流量攻击等。

下面我们详细介绍一下云盾是如何防范流量攻击的,这里有二个概念和三个阈值需要读者了解:

两个概念
1.清洗:当来自Internet的攻击流量较大或符合某些特定攻击流量模型特征时,云盾将会针攻击流量启动清洗操作,清洗包括攻击报文过滤、流量限速、包限速等

2.黑洞:当来自Internet的攻击流量非常大时,为保护整个集群的安全,流量将会被黑洞处理,可以理解为所有入流量全部被丢弃

参考阅读阿里云黑洞策略

三个阈值
1.BPS清洗阈值:入方向流量超过了BPS清洗阈值时,触发清洗 

2.PPS清洗阈值:入方向数据包数超过了PPS清洗阈值时,触发清洗 

3.黑洞阈值:入方向流量超过黑洞阈值时将触发黑洞
了解以上概念后,用户一定会有如下疑问:
1.正常业务流量会不会被清?

2.清洗和黑洞的阈值又分别是多少呢?

3.用户如何知道某个实例当前的阈值是多少呢?

首先回答下第一个问题。流量清洗的触发条件有两类,一类是流量模型的特征,当特征符合攻击流量特征时,会触发清洗;另一类则由流量的大小而决定,因为DDoS攻击一般流量都非常大,通常都是以G为单位,因此当入流量达到一定阈值时,就会启动清洗的,不论是否正常业务流量,毕竟有些DDoS服务就是通过发起海量的正常业务请求来实现拒绝服务攻击的。

下面介绍一下上面的三个阈值时如何确定的,同样使用SLB来说明:

总体来说有两个比较基本的原则:
1.根据SLB实例所购买的带宽来决定阈值的高低,即SLB的出方向带宽,当实例的带宽较高时,各类阈值较高,同理,当实例的带宽较低时,各类阈值响应的会变低。

2.根据用户的安全信誉分来决定黑洞阈值的高低(注意安全信誉分仅影响黑洞阈值,不影响清洗阈值)
具体的计算规则分为两个步骤:
Step.1.SLB后台会根据用户购买的带宽给出能够满足实例正常工作的阈值建议值

Step.2.云盾根据SLB给出的建议值,结合用户安全信誉分和各地域的资源情况,计算出最终的阈值
Step.1.SLB参考阈值的计算方法
1.SLB带宽与bps清洗阈值之间的关系
当SLB带宽<100Mbps时,清洗bps默认阈值 = 120Mbps
当SLB带宽>100Mbps时,清洗bps默认阈值 = 带宽值*1.2

2.SLB带宽与pps清洗阈值之间的关系
清洗pps阈值 = (SLB带宽值/500)*150000     (带宽值Mbps)

3.SLB带宽与黑洞bps阈值之间的关系
当SLB带宽<1Gbps时,黑洞bps默认阈值 = 2Gbps
当SLB带宽>1Gbps时,黑洞bps默认阈值 = MAX(SLB带宽值*1.5,2G)

** 可以看到SLB给出的建议值是结合SLB的购买带宽(出方向带宽)来决定的,当带宽比较小时,采用某一个恒定的阈值,当带宽超出一定范围后,SLB给出的建议阈值时与SLB的带宽成正比的。**

注意:上面提到的SLB的带宽都是指出方向带宽,即用户购买的带宽,那么如果用户购买的是按流量计费的实例,出带宽是多少呢?答案是:实例所在地域所支持的带宽峰值上限,目前国内地域都带宽上限都是峰值5G,详见后文的**各地域SLB带宽上限和黑洞资源情况**。

什么是安全信誉分,怎么查看

什么是安全信誉分:安全信誉分是阿里云对用户的安全信誉做出的评级,历史攻击、会员等级、活跃度、安全等级、使用预期等指标综合给出的一个信用评级,用户的安全信誉等级越高,用户则可以拥有更大的免费黑洞阈值。

image

用户可以DDoS高防IP控制台的基础防护子菜单下启动并查看自己的安全信誉分,注意安全信誉值分地域,目前国内5大Region和亚太东南1开通了安全信誉

image

Step.2.云盾结合安全信誉分、地域资源情况和参考值计算最终阈值
云盾评估bps和pps阈值的规则:
1、bps最小1000M,pps最小30万,当SLB传入的参考阈值小于上述值时,取上述最小值
2、当SLB传入的参考值高于上述指标时,取SLB传入的参考阈值
云盾评估黑洞阈值的规则
黑洞阈值等于
1、信誉值:有信誉分&&传入值<=信誉值
2、传入值:有信誉分&&传入值>信誉值&&传入值<=区域最大值
3、信誉值:有信誉分&&传入值>信誉值&&信誉值>=区域最大值
4、区域最大值:有信誉分&&传入值>区域最大值&&信誉分<区域最大值
5、区域默认值:无信誉分&&传入值<=区域默认值
6、传入值:无信誉分&&传入值>区域默认值&&传入值<=区域最大值
7、区域最大值:无信誉分&&传入值>区域最大值
8、区域默认值:其他情况
虽然上面的规格略有复杂,但是用户只需要把上面提到的总体原则即可:
1.根据SLB实例所购买的带宽来决定阈值的高低,即SLB的出方向带宽,当实例的带宽较高时,各类阈值较高,同理,当实例的带宽较低时,各类阈值响应的会变低。

2.根据用户的安全信誉分来决定黑洞阈值的高低(注意安全信誉分仅影响黑洞阈值,不影响清洗阈值)
如何查看清洗、黑洞阈值

同样在DDoS高防IP控制台的基础防护子菜单下用户可以查看到每个实例相关的阈值

image

注意上图中展示的清洗阈值都是实例的最大阈值,用户可以相应的调小(黑洞阈值不可调)

点击上图中的查看详情,在点击下图中DDoS防护高级设置,既可以将对应的阈值调整小,适应各种业务的安全需求

image

选择手动设置,就可以调低响应的阈值了

image

附:各地域SLB带宽上限和黑洞资源情况

地域 SLB可售卖最大带宽/按流量实例带宽 默认黑洞值 默认最大黑洞值
青岛 5G 5G 10G
杭州 5G 5G 10G
北京 5G 2G 10G
上海 5G 2G 10G
深圳 5G 2G 10G
张北 5G 2G 10G
香港 2G 500M 5G
美东 1G 500M 2G
美西 2G 2G 5G
日本 1G 500M 1G
新加坡 2G 500M 5G
悉尼 1G 1G 2G
迪拜 500M 500M 800M
法兰克福 1G 500M 2G

注意:用户的安全信誉如果较高,安全信誉黑洞阈值是可以突破上表中的默认最大黑洞值的

最后更新:2017-09-26 13:02:49

  上一篇:go  阿里云首推免费人脸识别SDK 让每个APP轻松拥有短视频AR特效
  下一篇:go  如何选择用什么语言进行网站开发