日志审计携手DDoS防护助力云上安全

简介: 本文主要介绍日志审计结合DDoS防护保障云上业务安全的新实践。

日志审计携手DDoS防护助力云上安全

1 背景介绍

设想一下,此时你正在高速公路上开车去上班,路上还有其他汽车,总体而言,大家都按照清晰的合法速度平稳驾驶,当你接近入口坡道的时候,会有更多的车辆加入,然后入口处的车辆越来越多,越来越多,直到所有的交通都慢了下来,最后原来的通行入口拒绝了所有车辆的通过请求。若把通行入口比作服务器的某些资源,那么这就是现实中的一种DDoS案例。

1.1 DDoS攻击

那么什么是DDoS呢?分布式拒绝服务(Distributed Denial of Service,简称DDoS) 是指多台计算机联合起来通过恶意程序对一个或多个目标发起攻击,从而影响计算机的性能或消耗网络带宽,使原目标服务器无法提供正常服务1。当目标服务器受到DDoS攻击影响后,带来的不仅仅是巨大的经济利益损失,甚至很可能造成核心数据的泄漏,因此对DDoS进行防护就非常有必要。

图1 2020.10.10 各个国家遭受DDOS攻击https://www.digitalattackmap.com/

1.2 日志审计服务

日志审计服务是在继承现有日志服务所有功能外,还支持多账户下实时自动化、中心化采集云产品日志并进行审计,以及支持审计所需的存储、查询及信息汇总。将DDoS防护和日志审计结合起来使用,可以帮助用户更清晰的掌握实时DDoS防护情况,也可以对已有防护事件进行回溯和复盘,从而更好地保障用户安全体验。目前日志审计已支持多种云产品,本文主要介绍日志审计结合DDoS防护助力云上安全。

2 DDOS防护

2.1 DDoS攻击案例

每一台网络中的服务器都有可能受到DDoS攻击。根据F5 labs的2020 DDoS攻击趋势报告2,受到最多的攻击行业有教育、金融、游戏、技术、电信等,但这并不意味其他行业就是绝对安全的,因为发起DDoS攻击对于潜在的黑客来说,有非常低的准入门槛,不仅Youtube上有大量创建僵尸网络的教程,DDoS出租服务也为哪些希望从零发起攻击的人提供非常低廉的价格。下面我们来看看迄今为止,五大著名的DDoS攻击案例3。

  • 2017年,谷歌遭受DDoS攻击。根据谷歌安全分析小组在2020年10月16日公布的关于威胁和威胁因子的一篇博客,谷歌安全可靠性团队在2017年检测到破纪录的UDP放大攻击,其bps峰值达2.5T。
  • 2020年2月,AWS遭受了一次巨大的DDoS攻击,攻击持续3天,带宽达到每秒2.3TB,攻击者利用CLDAP(Connectionless Lightweight Directory Access Protocal)反射技术,该技术依赖于易受攻击的第三方服务器,并将发送到受害者IP地址的数据量放大56-70倍。
  • 2016年Brian Kerbs 和OVH 遭受DDoS攻击。Brian Kerbs是著名的安全专家,其博客自2012年就经受各种攻击的考验,然而2016年9月20日的攻击比他所有曾经遭受的攻击的三倍还要多。攻击源是Mirai僵尸网络控制的约60万台的IoT设备,例如IP相机,家庭路由等等。 Mirai在9月还攻击了另一个OVH公司,OVH是欧洲最大的网络托管服务供应商。
  • 2016年 9月30日,Mirai的作者在论坛上发布了其源代码,并随后被复制成各种各样的版本,2016年10月21日,主要DNS服务商Dyn遭到每秒1TB的流量泛洪攻击,影响了包括Github、HBO、Twitter、Nexflix等知名网站的访问。
  • 2018年2月28日,github遭受了每秒1.35Tb的DDoS攻击,攻击时长达约20分钟,即使Github早就为DDoS做好的充分准备,但是他们的DDoS防护对于此流量的攻击还是显得有些力不从心。

2.2 DDoS防护手段

若要缓解 DDoS 攻击,关键在于区分正常流量与攻击流量。例如,如果因发布某款新品导致公司网站涌入大批热情客户,那么全面切断流量是错误之举。如果公司从已知恶意用户处收到突然激增的流量,那么则需要努力对抗攻击。在现代互联网中,DDoS 流量的形式和设计五花八门,从非欺骗性单源攻击到复杂的自适应多方位攻击无所不有。

黑洞策略就是指当阿里云公网IP资产受到大流量DDoS攻击,其峰值带宽bps超过DDoS的防御能力时,资产IP会进入黑洞状态,即屏蔽IP所有in的互联网流量,黑洞状态可以自动解封(当达到默认解封时间后),也支持提前手动解封(DDoS原生企业版以及高防新bgp版)。但这不是理想的解决方案,因为它相当于让攻击者达成预期的目的,使正常流量也无法访问。

限制服务器在某个时间段接收的请求数量也是防护拒绝服务攻击的一种方法。虽然速率限制对于减缓 Web 爬虫窃取内容及防护暴力破解攻击很有帮助,但仅靠速率限制可能不足以有效应对复杂的 DDoS 攻击。然而,在高效 DDoS 防护策略中,速率限制不失为一种有效手段。

一般而言,攻击越复杂,越难以区分攻击流量与正常流量,因为攻击者的目标是尽可能混入正常流量,从而尽量减弱缓解成效。流量清洗就是将流量从原始路径重定向到清洗设备,对IP成分进行异常检测,并对最终到达server的流量实施限流,这是高级防护中一种比较常见的防护方式。

2.3 DDoS攻击类型

多方位 的DDoS 攻击采用多种攻击手段,以期通过不同的方式击垮目标,分散各个层级的防护工作注意力。同时针对协议堆栈的多个层级(如 DNS 放大(针对第 3/4 层)外加 HTTP泛洪(针对第 7 层))发动攻击就是多方位 DDoS 攻击的一个典型例子。下表是几种典型的DDoS攻击类型的具体描述4。

表1 DDoS 攻击类型

DDoS 攻击分类

攻击子类

描述

畸形报文

FragFlood、Smurf、StreamFlood、LandFlood、IP畸形,TCP畸形,UDP畸形报文等

向target发送有缺陷的IP报文,target处理时会崩溃

传输层DDoS攻击

SynFlood、AckFlood、UDPFlood、ICMPFlood、RstFlood

例SynFlood,利用TCP三次握手机制,server收到syn请求后,需要使用一个监听队列保存连接一段时间,因此通过向sever不断发送syn请求,但不响应syn+ack报文,从而消耗服务端的监听队列。

DNS DDoS攻击

DNS Request Flood,DNS Response Flood, 虚假源+真实源DNS Query Flood,权威服务器攻击和local 服务器攻击等

例DNS Query Flood,多台傀儡机同时发起海量域名查询请求,造成sever无法响应

连接型DDoS攻击

TCP慢速连接攻击,连接耗尽攻击,loic,hoic,slowloris,pyloris,xoic等

例slowloris,利用http协议的特性,http请求以\r\n\r\n 标识headers的结束,如果web服务端只收到\r\n 则认为http headers 还未结束,将保留该连接并等待后续请求,这样造成连接一直没法关闭,连接并发性达到上限后,即使受到新的http请求也没法建立连接

Web 应用层DDoS攻击

Http Get Flood,HttpPost Flood, CC

完全模拟用户请求,类似搜索引擎和爬虫,消耗后端资源,包括web响应时间,数据库服务,磁盘读写等。例如刷票软件就是CC攻击

2.4 云上安全方案

针对DDoS攻击,阿里云建议用户从以下几个方面着手降低DDoS的威胁:

表2 云上安全方案概览

减少暴露,资源隔离

弹性伸缩和灾备切换

监控和告警

商业安全方案

1.减少服务端口暴露,配置安全组;

2.使用专有网络VPC

(virtual private cloud);

1.定期压测,评估业务吞吐能力,

提供余量带宽;

2.SLB(Server Load Balancer)降低单服务器负载压力,多点并发;

3. 弹性伸缩(Auto Scaling)资源管理;

4.优化DNS解析;

1.配置告警;

2.云监控;

3.应急预案;

1.Web 应用防护墙(WAF);

2.DDoS 原生防护;

3.DDoS 高级防护;

4.游戏盾;

图2 云上安全方案概览

2.5 DDoS防护产品

针对DDoS攻击,阿里云推出了一些商业安全方案,比如DDoS防护就有原生防护和高级防护等防护产品,其中原生防护(Anti-DDoS origin)又有基础版和企业版本。阿里云公网云服务(ECS,SLB,EIP)默认支持DDoS原生防护基础版,相较企业版,基础版不算“产品”,不具有实例概念,而企业版主要优势在于可根据实时机房网络整体水位,进行全力防护。DDoS高防产品又分为新BGP版(Anti-DDoS Pro)和国际版(Anti-DDoS Premium),此外还有游戏盾等产品。日志审计目前最新支持DDoS原生防护、DDoS高防(新BGP)版,DDoS高防(国际)版,可以在前端控制台开启采集授权。

图3 DDoS防护产品类别

DDoS防护的具体使用方法和最佳实践请参考官方网站。下面简单介绍一下原生防护和高防(新BGP)和高防(国际)三个产品。

2.5.1 原生防护

DDoS原生防护通过在阿里云机房出口处建设DDoS攻击检测及清洗系统,直接将防御能力加载到云产品上,以被动清洗为主,主动压制为辅的方式,实现DDoS攻击防护,推荐结合WAF一起使用,防护效果更佳。

图4 DDoS 原生防护工作原理

2.5.2 高防(新BGP)版

图5 DDoS 高级防护架构设计

DDoS高防通过DNS解析和IP直接指向引流到阿里云高防网络机房,在高防清洗中心清洗过滤,抵御流量型和资源耗费型攻击。

图6 DDoS高防(新BGP)工作原理

BGP(Broder GateWay Protocol)协议的最主要功能在于控制路由的传播和选择最好的路由。高防新BGP版主要适用业务服务器部署在中国内地的场景,中国内地T极八线BGP带宽资源,可帮助业务抵御超大流量DDoS攻击。

2.5.3 高防(国际)版

国际版主要适用业务服务部署在中国内地以外的地域场景,为接入防护的业务提供不设上限的DDoS全力防护。

图7 DDoS高防(国际)工作原理

Anycast是一种网络地址和路由通信方式。访问Anycast地址的报文可以被路由到该Anycast地址标识的一组特定的服务器主机。DDoS高防(国际)采用Anycast方式将接收到的流量路由到距离最近(路由跳数最少)且拥有防护能力的清洗中心。

3 日志审计下的DDoS防护

日志审计作为阿里云日志服务SLS(Simple Log Service)下的一款产品,主要是通过日志审计功能对旗下的云产品的进行多账号,跨域聚合,统计,分析,可视化等5。下面将主要介绍日志审计对DDoS三种防护产品的支持。

3.1 采集DDoS防护日志

在SLS日志审计页面开通DDoS 防护 下的产品采集授权:

图8 日志审计新增DDoS防护产品支持

3.2 查看DDoS防护日志

开启授权账号下的DDoS防护的采集后,点击project进入名为ddos_log的logstore,可以对近期的DDoS防护日志做出全面掌控。假设用户同时开通了账号下对DDoS原生防护,DDoS高防(新BGP),DDoS高防(国际)日志的采集授权,可以分别对应topic为ddosbgp_access_log, ddoscoo_access_log, ddosdip_access_log进行过滤查看。

表3:ddos_log

__topic__

防护产品

ddos_bgp_access_log

DDoS原生防护

ddos_coo_access_log

DDoS高防(新BGP)

ddos_dip_access_log

DDoS高防(国际)

3.2.1 DDoS原生日志

图9 原生防护的日志

3.2.2 DDoS高防新BGP日志

图10 高防(新bgp)日志

3.2.3 DDoS高防国际日志

图11 高防(国际)日志

3.3 丰富的Dashboard

此外,日志审计对于DDoS也支持丰富的仪表盘功能。

3.3.1 原生防护事件报表及清洗报表

图12 今日DDoS黑洞事件1次和清洗事件2次

图13 本月DDoS黑洞事件和清洗事件趋势列表

此外,原生清洗报表还包括in流量监控,in流量分布,in流量协议类型分布,包检查,sync cookie,首包检查,L7filter,L4filter,AntiTDP,AntiUDP等报表展示。

3.3.2 DDoS高防(新BGP)访问中心与运营中心

高防访问中心和运营中心包含大量预设的模板dashboard,如下图所示。

图14 高防新BGP访问中心1

图15 高防新BGP访问中心2

图16 高防新BGD运营中心

3.3.3 DDoS高防(国际)访问中心与运营中心

图17 高防国际访问中心1

图18 高防国际访问中心2

图19 高防国际运营中心

4 审计+防护的最佳实践

接下来,我们将以DDoS高防(新BGP)的防护例子为大家展示DDoS防护结合日志审计的最佳实践。

4.1 实践准备

首先,在个人日志审计中心APP开启DDoS高防(新BGP)采集授权,然后在DDoS防护页面,将之前准备好的域名***.com接入,配置好关联高防IP地址,以及具体的防护设置。

4.1.1 添加域名接入

图20 DDoS高防配置域名接入

4.1.2 设定防护规则

在这里我们通过频率控制的手段,通过编辑具体的防护规则,对该域名下某一具体URL进行防护。频率控制防护开启后自动生效,默认使用正常防护模式,帮助网站防御一般的CC攻击。这里我们假定在检测时长5秒内,允许单个源IP访问被防护地址/test URL的次数为2次,超过次数将封禁1分钟。

图21 通过频率控制防护规则

4.2 实践对比

4.2.1 访问对比

对于该域名下具体URL:/test和/welcome ,对/test开启了防护规则设置,对/welcome没有任何限制。可以看到虽然/welcome在服务器中并不存在,但是/test页面则直接被阻隔在网站之外。

图22 发起访问请求

4.2.2 日志对照

在日志审计DDoS里查看具体的DDoS日志,可以看到访问/welcome,cc_block字段为0,也就是False,因此可视为正常流量,而访问/test,cc_block 字段为1,即True,也就是说明DDoS防护将其视作CC攻击。

图23 查看防护日志

4.2.3 仪表盘观测

我们将通过审计下面DDoS高防(新BGP)运营中心的仪表盘对刚才的事件进行更直观的复盘,

首先,我们将观测时间设为较短的相对时间5分钟,此时没有用户请求,即无正常流量也无攻击流量。

图24 原始运营中心

然后我们访问该接入域名下的/welcome页面,此时请求数为1,可以观测到客户网站出现了有效流量。

图25 有效流量示意

接下来访问/test页面,可以看到该访问被判定为攻击流量,并没有流入客户网站,而是被拿来丢弃与分析,此时的攻击者概况表格中,出现了攻击者具体IP源以及攻击次数等信息。

图26 攻击流量示意

通过上述简单的实践过程,相信对大家理解日志审计和DDoS结合使用的效果有较直观的感受,若想知道更多的细节,可以参考下面的链接。

5 参考链接

  • Denial of service
  • 5 most famous ddos attacks
  • DDoS attack trends for 2020
  • 阿里云DDoS防护
  • 日志审计服务

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux推出超级用户_linux添加root权限用户

方法一:1.添加普通用户并设置密码[rootcentos6 ~]# useradd ggg[rootcentos6 ~]# passwd gggChanging password for user ggg.Newpassword:BADPASSWORD: it is WAY too shortPASSWORD: is a palindromeRetype new password:passwd: all authentication tokens updat…

日期天数转换c语言程序,C语言 ---计算连个日期之间的天数转换

/* 返回绝对值 */int abs(int a,int b){if(a>b)return (a-b);elsereturn (b-a);}/* 判断是否为闰年:是,返回 1 ; 不是, 返回 0 . */int IsLeap(int year){if(((year%40)&&(year%100!0))||year%4000)return 1;elsereturn 0;}/* 判断某个日期从年初(y年1月1日)到该天(…

MySQL 深潜 - 一文详解 MySQL Data Dictionary

简介: 在 MySQL 8.0 之前,Server 层和存储引擎(比如 InnoDB)会各自保留一份元数据(schema name, table definition 等),不仅在信息存储上有着重复冗余,而且可能存在两者之间存储的元…

中国加速计算市场第二名,宁畅正领跑“智能算力定制”赛道

构建“元宇宙”最缺什么?对此,服务器新一线厂商宁畅给出的答案是“定制化算力”。 2022年1月6日,在“创立两周年媒体会”上宁畅透露,伴随IT头部企业进入“元宇宙”赛道,以及宁畅“智定”战略推进,2021年宁…

filter动态参数 maven_使用Profile和Resources Filter隔离测试环境

Maven能够帮我们很好的管理测试,我们可以在src/test/java和 src/test/resources下面使用JUnit或者TestNG 编写单元测试和集成测试,然后在命令行运行 mvn test,测试就会自动运行,同时产生详细的测试报告。对只有一两个人的项目来说…

CPU Burst有副作用吗?让数学来回答!| 龙蜥技术

简介: 使用CPU Burst的副作用是什么?是否有不适用的场景呢?戳我给你答案~ 编者按:CPU Burst 特性已合入 Linux 5.14,Anolis OS 8.2、Alibaba Cloud Linux2、Alibaba Cloud Linux3也都支持CPU Burst特性。 在系列文章的…

c语言动态规划公共字符串,最长公共子串 C语言 动态规划

给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。一个字符串的 子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,“ace”是 “abc…

用了 HTTPS,没想到还是被监控了!

作者 | 轩辕之风来源 | 编程技术宇宙大家好,我是轩辕。上周,微信里有个小伙伴儿给我发来了消息:随后,我让他截了一个完整的图,我一瞅,是HTTPS啊!没用HTTP!再一瞅,是www.b…

AI让边缘更智能 边缘让AI无处不在

简介: 城市管理和城市服务逐步走向智能化,智慧化。到2019底,全国100%的副省级城市,95%以上的地级市,以及50%以上的县级市均提出建设新型智慧城市,并已经有32个主要城市成立了专门的大数据管理机构&#xff…

wepy组件子父传值_【WePY小程序框架实战三】-组件传值

父子组件传值静态传值静态传值为父组件向子组件传递常量数据,因此只能传递String字符串类型。父组件 (parent.wpy)子组件(child.wpy){{name}}props{name:String}onLoad(){console.log(this.name);//leinov}动态传值sync修饰符来达到父组件数据绑定至子组件的效果也可…

开源自建/托管与商业化自研 Trace,如何选择?

简介: 随着微服务架构的兴起,服务端的调用依赖愈加复杂,为了快速定位异常组件与性能瓶颈,接入分布式链路追踪 Trace 已经成为 IT 运维领域的共识。但是,开源自建、开源托管或商业化自研 Trace 产品之间到底有哪些差异&…

python 覆盖list_【Python妙招】gt;gt;gt;看腻了能不能换成别的啊……当然可以啦:)...

原文作者:站在两个世界边缘 & 小象编辑:VL今天给大家介绍几个Python里(可能没那么广为人知的)小知识,希望能给大家带来帮助,让编程更有乐趣。1.如何修改解释器提示符正常情况下,我们在终端下执行Python 命令是这样…

阿里云IoT Studio升级版新增解决方案引擎 大幅提升方案交付效率

简介: 8月25日,阿里云发布IoT Studio升级版,新增了解决方案引擎,让设备方案商复用之前搭建的解决方案模板进行简单的定制化修改,即可交付。使整个物联网解决方案的交付过程由几个月,缩短到几小时&#xff0…

如何用 Nacos 构建服务网格生态

简介: Nacos 在阿里巴巴起源于 2008 年五彩石项目(该项目完成微服务拆分和业务中台建设),成长于十年的阿里双十一峰值考验,这一阶段主要帮助业务解决微服务的扩展性和高可用问题,解决了百万实例扩展性问题&…

华为oj题目c语言,华为OJ机试题目——24点游戏算法

对于这种题用程序实现只能是穷举的思想,而做法各异,如下代码是利用符号的不断变化,利用4个数计算值,默认是4个数字a,b,c,d是按顺序计算的,即默认是加了括号的,即(((a op1 b)op2 c)op3 d)。而4个数字要组合顺…

性能提升一个数量级,大杀器来了!| 文内福利

经过多年的演进,Java语言的功能和性能都在不断地发展和提高,但是冷启动开销较大的问题长期存在,难以从根本上解决。本文先讨论冷启动问题的根本原因,然后介绍一种新近提出的彻底解决Java冷启动问题的技术方案——Java静态编译技术…

快手基于 Flink 构建实时数仓场景化实践

简介: 一文了解快手基于 Flink 构建的实时数仓架构,以及一些难题的解决方案。 本文整理自快手数据技术专家李天朔在 5 月 22 日北京站 Flink Meetup 分享的议题《快手基于 Flink 构建实时数仓场景化实践》,内容包括: 快手实时计算…

centos标准分区调整大小_CentOS下调整home和根分区大小的方法

目标:将VolGroup-lv_home缩小到100G,并将剩余的空间添加给VolGroup-lv_root1、首先查看磁盘使用情况[root~]# df -h文件系统              容量 已用 可用 已用% 挂载点Filesystem            Size Used Avail Use% M…

PyFlink 开发环境利器:Zeppelin Notebook

简介: 在 Zeppelin notebook 里利用 Conda 来创建 Python env 自动部署到 Yarn 集群中。 PyFlink 作为 Flink 的 Python 语言入口,其 Python 语言的确很简单易学,但是 PyFlink 的开发环境却不容易搭建,稍有不慎,PyFlin…

Android自动化打包工具,利用Jenkins实现Android自动化打包

Jenkins简介What is Jenkins?Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.Jenkins can be installed through native system packag…