高防系统关键技术浅析
2022-11-15赵通余思阳李长连杨飞吴涛中讯邮电咨询设计院有限公司北京00048中国联合网络通信集团有限公司北京00033
赵通,余思阳,李长连,杨飞,吴涛(.中讯邮电咨询设计院有限公司,北京 00048;.中国联合网络通信集团有限公司,北京 00033)
0 前言
DDoS攻击又称分布式拒绝服务攻击,是互联网中最常见的网络攻击手段之一,攻击者利用“肉鸡”对目标网站在较短的时间内发起大量请求,大规模消耗目标网站的主机资源,让它无法正常服务。目前网络游戏、互联网金融、电商、直播等行业是DDoS 攻击的重灾区。
DDoS攻击的低成本进一步降低了攻击门槛,卡巴斯基发布过一篇有关DDoS 攻击成本分析的文章,据专家估计,使用1 000 台基于云的僵尸网络进行DDoS攻击的成本约为每小时18美元。但对企业来说,针对DDoS 攻击的防御费用总体成本往往高达数万甚至数百万美元。
除传统的4 层DDoS 攻击以外,当前互联网中Web应用越来越丰富,导致应用层攻击越来越严重。SQL注入、网页篡改、网页挂马等安全事件频繁发生。对于互联网Web应用来说,Web防护、CC攻击防护(借助代理服务器生成指向受害主机的大量合法请求)也越来越重要。
高防系统就是为了解决DDoS 攻击、CC 攻击而设计开发的。
1 高防系统简介
当互联网服务器遭受大流量的DDoS 攻击时,高防系统可以保护其应用服务持续可用。高防系统通过多种方式,调度流量到高防网络清洗,以抵御流量型和资源耗尽型DDoS攻击。
高防系统就是一个集合了DDoS 攻击防护、CC 攻击防护、多协议支持、隐藏源站等安全能力的综合性安全防护系统。此外,高防系统还可以为客户提供CDN 服务,大幅降低客户服务器压力,以及客户访问的延迟。
1.1 高防系统的作用
高防系统通过反向代理源站,在攻击者和源站之间构建了一道安全闸,它可以解决下述问题。
1.1.1 避免源IP直接暴露公网
不论是通过域名引流,还是IP 引流,高防系统都可以将源站地址进行隐藏,所有的攻击流量都会被引流到高防系统并进行清洗,大大减小源IP 被攻击的可能性。
1.1.2 隐藏用户站点敏感信息
由于所有的业务流量都是通过高防系统转发到源站及客户,转发过程中可以对访问信息做筛选及更改,隐藏用户站点敏感信息,可以避免源站开发者因缺乏安全意识导致系统信息(建站程序、版本等信息等)泄露,提高源站安全性。
1.1.3 拦截非业务协议请求
由于所有的业务流量都是通过高防系统转发到源站及客户,在转发过程中可以对流量的协议做筛选,清洗掉异常协议的流量,只转发合法协议的流量到源站,在降低源站处理负担的同时,提高源站的安全性。
1.1.4 对接入系统进行4层及7层防护
基于抗DDoS 清洗设备以及高防服务器,可以对接入系统进行4层到7层流量的清洗。
1.2 适用客户
娱乐(游戏)行业是DDoS 攻击的重灾区,高防系统能保证游戏的可用性和持续性,提高用户体验,在商家活动、节日游戏等旺季时段提供防护。
满足金融行业的合规性要求,保证线上交易的实时性、安全稳定性。
满足国家政务云建设标准的安全需求,为重大会议、活动、敏感时期提供安全保障,确保民生服务正常可用,维护政府公信力。
为用户访问互联网提供防护,使业务正常不中断,在电商大促等活动时段提供防护功能。
保证企业站点服务持续可用,避免DDoS 攻击造成经济和企业形象损失,降低维护费用,节省安全成本。
2 高防系统中使用的关键技术
2.1 整体架构
高防系统的整体架构图如图1 所示,其主要由以下几个部分组成。
图1 整体架构图
2.1.1 清洗设备
通过对互联网访问公网IP 的业务流量进行实时监测,及时发现异常DDoS 攻击流量。在不影响正常业务的前提下,根据用户配置的防护策略,清洗掉攻击流量。同时为用户生成监控报表,清晰展示网络流量的安全状况。清洗设备主要用于防御4 层DDoS 攻击。
2.1.2 防护集群
防护用于代理客户业务的服务器,具有多核CPU、大内存、大带宽以及配套的安全软硬件,防护节点可以根据客户需求或者防御大流量DDoS 攻击时进行动态调整。
高防系统的防护集群是连接用户及源站的桥梁,也是抵御DDoS 攻击和CC 攻击的有效屏障。为了处理海量访问和攻击流量,降低访问延迟,最大化利用硬件性能,防护集群一般是由物理机直接部署业务,而不是采用虚拟化部署的方式。
2.1.3 智能DNS服务器
DNS 服务器用于配置CNAME 记录(又称为别名记录,这种记录允许将多个域名映射到另外一个域名),它可以摆脱源站域名的限制,自由地实现将业务流量引流到防护集群。通过CNAME 引流是目前主流的引流方式。
2.1.4 日志集群
日志集群保存了所有流经防护集群的流量日志,该日志保存了每个请求处理后的关键信息,用于发现异常流量时的回溯查询以及流量分析。
2.1.5 管理中心
管理中心用于向DNS 服务器发送域名解析记录,管理防护集群的防护策略,管理清洗设备策略,根据日志集群数据生成运营报告,实时监控其他组件的运行状态等,它是高防系统的统一管理平台。
2.2 引流方式
2.2.1 域名CNAME引流
防护对象通过更改自己的域名记录,将域名记录(一般为A 记录)更改为高防系统生成的CNAME 记录,高防系统就可以通过更改CNAME 记录指向的IP地址,控制访问防护对象的流量访问高防系统,高防系统收到用户业务流量,进行4 层和7 层流量清洗后转发给防护对象源站,防护对象源站的返回结果再由高防系统转发给用户。
CNAME 引流过程如图2 所示,在其中高防系统充当了部署在云端的防火墙以及防护对象的反向代理服务器。
图2 CNAME引流过程
2.2.2 对于IP地址类服务的引流
在生产环境中,并不是所有业务系统都配置有域名,对于直接使用IP 访问的业务系统,可以通过配置高防系统,分配一个独立的高防IP 地址,实现网站IP地址与高防IP 地址资源的一对一配置,从而将访问流量牵引至高防平台系统。IP 地址引流过程如图3 所示。
图3 IP地址引流
2.3 防护节点的资源编排
由于高防系统出色的抗DDoS 和抗CC 攻击能力,吸引了很多容易受到攻击的业务系统接入。通常来说,高防服务提供厂商会建设多个高性能的高防能力资源池,用来负载客户的业务流量。
但是在实际运营过程中,存在以下痛点。
a)资源池计算能力有限,提供过多的计算资源会导致浪费。
b)不同业务系统的需求不同。
c)同一个业务系统,在不同时间对资源的需求不同。
d)遇到攻击时,需要的资源和日常运营过程中的需求不同。
e)业务供给需要手动调整,操作复杂,也无法保证实时性。
弹性扩缩容技术可以解决上述痛点。
自动化弹性扩缩容的技术可以将资源合理地分配给用户。简单来说,弹性扩缩容主要分为2个步骤:监测业务指标的波动和自动调整资源编排。
2.3.1 弹性扩缩容监测技术
监测业务指标的波动情况会涉及到弹性扩缩容监测技术,监测的主要原则如下。
a)对于业务有固定高峰和低谷的系统,可以使用定时功能,差异化的配置高峰时间段和低谷时间段的计算资源数量(高防服务器节点数量)。高防系统可以根据设定的时间,自动调整分配给该业务的资源数量。
b)如果业务量变动不规律,难以预测,可以通过云监控系统来监控使用中的资源的负载情况,自动执行扩缩容的策略。例如,设定CPU 负载超过50%或者内存超过70%,或者QPS大于20 000时,自动扩容一台新的高防服务器。当CPU 负载低于20%,或者内存使用率低于20%时,自动缩容一台高防服务器。
c)引入深度学习算法,经过一段时间的训练后,对每个业务系统建立业务流量趋势模型,提供给客户进行参考。
d)支持资源设置的上下限,可以避免在负载高的时候分配过多的资源,导致客户无法承受防护成本,也可以避免在资源分配过少时,无法实现高可用的情况。
e)支持异地资源弹性扩缩容,当异地资源故障隔离时,保障业务系统不会因为单点的故障导致业务中断。
f)不同的业务系统所关注的扩缩容指标不尽相同,高防系统应该支持定制化的监测手段,提供对应的API 接口,并可以根据客户的需求自由创建扩缩容策略。
2.3.2 弹性扩缩容的过程
自动调整资源编排是弹性扩缩容的核心内容,下面分别对弹性扩容和弹性缩容的过程作出说明。
弹性扩容流程图如图4所示,具体过程如下。
图4 弹性扩容流程图
a)用户在管理中心配置动态扩缩容的策略,可以根据流量的“潮汐”效应和单台服务器的负载上限,配置不同时间段使用的高防服务器的数量,同时可以启用不同资源池的服务器,避免单点故障。
b)管理中心采集防护集群服务器的实时流量,负载情况,结合日志服务器数据,计算流量变化趋势。当监控指标触发用户设定的策略时,选定扩容服务器,触发弹性扩缩容动作。
c)触发弹性扩容时,管理中心首先检查新增防护服务器的配置,确认服务器的硬件、数据库和核心进程是否正常,并根据需要负载的业务的情况,同步业务配置数据(如防护规则等)、配置防火墙策略,自动配置上连交换机的ACL 策略,确保只开放必要的端口。
d)管理中心向DNS服务器下发指令,添加扩容服务器IP 地址到CNAME 记录中。域名收敛时间一般为3~5 min,为了保证业务系统平稳地进行弹性扩容,引入DNS 刷新系统。在修改CNAME 记录后,高防系统会调用DNS 刷新系统,强制刷新部署在全国各关键节点的DNS 缓存服务器中该CNAME 记录,可以将收敛时间缩短到0.5~2 min。
e)管理中心监测扩容服务器流量信息,超过3 min 没有正常流量,会向运营人员发出告警,运营人员介入进行处理。
弹性缩容流程图如图5所示,具体过程如下。
图5 弹性缩容流程图
a)用户配置扩缩容策略。
b)管理平台进行监控,当监控指标触发用户设定的策略时,根据策略选择需要缩容的服务器,触发缩容动作。
c)触发弹性缩容时,管理中心向DNS 服务器下发指令,删除CNAME 记录中缩容服务器IP 地址。同时调用域名刷新系统,减小域名收敛时间。
d)管理中心持续监测缩容服务器中的业务流量,由于DNS 缓存的原因,缩容服务器的对应业务流量并不会立刻缩小为0,流量会随着时间逐步减小,当流量减小到用户设定的阈值或者到达用户设定的延迟关闭时间后,管理中心会删除该服务器上的业务配置数据,在该服务器上配置防火墙策略,修改上连交换机的ACL策略。至此,缩容过程完成。
3 总结
本文首先对高防系统整体架构以及核心技术做了简要介绍,接着就高防系统在日常运营过程中的痛点做了深入分析,并且提出了自动化弹性扩缩容的具体目标和实现方法。
随着互联网服务重要性的提高,各行业对网络安全的要求会越来越高。高防系统是与DDoS 攻击、CC攻击战斗的有力武器,高防系统的自动化运营也会越来越重要,通过弹性扩缩容技术,可以为客户和高防服务提供商节约成本,减小运营人员压力,提高服务质量,达到事半功倍的效果。