本文概述了过去一年SLS日志审计的技术发展。
SLS日志审计介绍
什么是日志审计
日志审计服务是阿里云日志服务SLS平台下的一款应用,它在继承了日志服务SLS的全部功能以外,还有强大的多账号管理及跨地域采集功能,支持通过资源目录(Resource Directory)的方式有组织性地统一地管理和记录多账号下云产品实例的日志信息,可以便于用户进行统一分析,问题排查,回溯复盘等操作。
云产品覆盖范围
日志审计APP可以自动化、中心化地采集云产品日志并进行审计,其服务覆盖基础(操作审计、k8s)、存储(OSS、NAS)、网络(SLB、ALB、VPC、API网关)、数据库(RDS、PolarDB-X1.0,PolarDB)、安全(WAF、DDOS、SAS、CloudFW)等产品,还支持审计所需的存储、查询及信息汇总等功能。日志审计具体支持的云产品和日志类型,可以参考日志审计服务概述。
为什么要进行日志审计
日志审计是法律刚性需求,是客户安全合规依赖的基础,是安全防护的重要一环。
根据《网络安全法》第二十一条第三小节中明确规定了“采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月", 日志审计支持自定义数据保存180天,甚至数据可以永久保存,并且日志数据可以被溯源,无法进行篡改。企业用户可以使用日志审计服务提供的审计功能,构建并输出合规的审计信息。
对于日志审计和网络安全以及法律法规之间的关系,之前已经有多篇文章进行了较为完整的介绍,在这里不做赘述。如想了解进一步细节,可以参阅:
架构大图
日志审计整体架构主要具备以下基本功能:
(1)日志自动化管理,脱离手工维护。
(2)丰富的云产品日志类型生态,具体的云产品资源覆盖及地域覆盖可以参照文档。
此外,日志审计还具备以下功能特性和优势:
(1)实例的自动发现和日志的自动采集,打开云产品日志采集开关后,后续如果新增云产品实例,只要满足采集条件(如用户自定义采集策略限制)日志审计将会自动地将云产品实例对应的日志采集进来,无需用户手动操作。
(2)跨区域中心化能力,日志审计可选日志Region化存储,更支持通过自动创建数据加工将日志存储到同一中心区域,在该中心project下进行统一查询分析,报表展示、告警配置等。
(3)日志审计支持跨账号采集云产品日志,对于多账号用户来说,可以将不同账号下的日志采集到同一中心账号下,其他账号作为该中心账号的成员账号,实现跨账号的日志汇总和管理。
(4)日志审计还支持丰富的内置报表、内置告警规则、威胁情报等功能。
(5)日志审计支持通过Terraform的方式进行采集编排和管理,具体参见使用Terraform的方式进行日志审计采集管理
功能技术演进概述
在过去这一年度,我们主要从以下几个方面进行日志审计的功能演进:
(1)账号鉴权管理升级
日志审计是日志服务SLS平台下为数不多支持跨账号采集云产品日志的应用。过去一年,根据头部客户的需求,我们在日志审计账号鉴权和多账号管理方面做出具体改进增强,进一步提高用户的易用性和便捷性。
旧版 |
新版 |
||
中心账号 |
AK辅助授权 |
升级服务关联角色(推荐) |
|
自定义授权 |
|||
其他账号 |
自定义鉴权 |
AK辅助授权 |
AK辅助授权(依然支持) |
自定义授权 |
自定义授权(依然支持) |
||
资源目录管理 |
- |
资源目录全员模式(推荐) |
|
- |
资源目录自定义模式(推荐) |
(2)云产品渠道扩充
过去一年,日志审计进一步集成了4种云产品共6种日志类型,其日志类型包括数据库类、网络类、安全类,极大地丰富了日志审计的采集生态。
(3)存储优化
针对日志数据的存储优化,日志审计主要做了两方面工作,一方面支持智能冷热分层存储,另一方面提供用户更多中心存储区域的选择。
日志审计集成了冷热分层存储功能,智能冷热分层存储主要针对存储周期长且查询频率低的的场景,用户可以在日志审计控制台下根据等保或其他存储要求自定义地设置存储天数以及冷热存储配比,可以帮助用户进一步降低长期存储成本。
此外,日志审计新拓展了四个中心化区域,以适应不同用户对于数据本地中心化存储及统一查询的需求。
过去一年功能技术演进详情
下面,我们将针对每个功能演进模块做出具体的介绍和解析。
中心账号-鉴权方式升级
原日志审计中心账号鉴权主要通过AK辅助鉴权或用户自定义授权方式,鉴权通过后,日志审计会为用户创建自定义角色sls-audit-service-monitor,并对该角色授予以下权限
原中心账号鉴权方式操作比较复杂,需要经过多个操作步骤,对于用户来说存在一定的使用门槛。日志审计中心账号鉴权升级后将仅需要用户在日志审计界面点击立即开启即可,用户将被自动创建服务管理角AliyunServiceRoleForSLSAudit,通过该角色,中心账号可以自动采集日志审计所有支持的云产品类型,并进行审计project以及审计App的配置管理。
升级后的鉴权方式相较之前有以下几点提升:
(1)更安全,无需用户手动输入ak,无需手动授权操作。
(2)更简单,AliyunServiceRoleForSLSAudit及其对应的角色权限策AliyunServiceRolePolicyForSLSAudit均为系统创建,在日志审计下用户仅需点击立即开启。
(3)更通用,对于新开通日志服务的账号,AliyunServiceRoleForSLSAudit将自动创建,该角色还是各种SLS CloudLens类云产品的开通前提,用户仅需操作一次,无需重复操作。
其他账号-新增资源目录集成
日志审计的多账号管理之前已经支持了自定义鉴权管理模式,现在这种多账号的管理模式日志审计依然支持。
随着越来越多的客户使用阿里云资源目录管理多账号,日志审计在原有的自定义鉴权模式基础上,过去一年又集成了新的多账号管理方式:资源目录管理,资源目录可以帮助用户在云上构建企业业务组织关系,用户可以可以通过管理员账号或者委派管理员账号将企业内其他阿里云账号添加为成员,从而实现跨阿里云账号采集云产品日志。
多账号-新增资源目录集成模式
基于资源管理对企业组织账号的组织管理信赖,用户在日志审计多账号配置中可以选择资源目录鉴权方式,可以配置“全员”和“自定义”两种方式进行日志审计跨账号采集。
资源目录模式 |
限制说明 |
全员 |
日志审计服务自动将资源目录下的所有成员纳入到采集名单中,并采集这些成员中已开启日志采集功能的云产品的日志。
|
自定义 |
您可以自定义选择目标成员到采集名单中,日志审计服务会采集这些成员中已开启日志采集功能的云产品的日志。
|
用户在使用资源目录的场景下,在日志审计多账号配置中采用资源目录管理模式,可以进一步提高跨账号管理的安全性和易用性,就操作复杂度而言,使用日志审计资源目录模式进行跨账号采集云产品日志也更加方便。
覆盖更多云产品日志类型的接入
在过去一年中,日志审计与更多云产品集成,持续覆盖更多审计类日志的跨账号、中心化接入与审计支持。其中主要集成了4类云产品共6种日志类型,下面将展开具体介绍。
网络类
日志审计的网络类日志类型接入主要新增了两种非常重要的审计类日志:VPC流日志和ALB七层访问日志。
VPC流日志可以记录VPC网络中弹性网卡ENI传入和传出的流量信息,帮助用户检查访问控制规则、监控网络流量和排查网络故障。日志审计开启VPC流日志开关后,会对满足采集策略的VPC实例创建流日志,能够捕获对应VPC实例中所有弹性网卡的流量,包括在开启流日志功能后新建的弹性网卡。流日志功能捕获的流量信息会以流日志记录的方式写入日志审计Project中。
ALB是阿里云推出的专门面向HTTP、HTTPS和QUIC等应用层负载场景的负载均衡服务,其具备处理复杂业务路由的能力,是阿里云官方提供的云原生Ingress网关。ALB访问日志可以记录应用层访问请求的具体客户端请求信息、proxy收到报文信息、记录的端口信息等访问详情。在日志审计中,ALB同样支持实例粒度的采集策略,用户可以进行自定义的采集设置。
网络类日志由于日志流量较大,即支持区域化存储,也支持同步到中心,其中心化同步能力如下:
中心化选择 |
实例所属地域A 审计中心所属地域C |
区域A是否有日志 |
是否创建 数据加工 |
中心是否有日志 |
日志存储时间 |
开启中心化 |
A与C同地域 |
不会创建 |
中心C有 |
取决中心化TTL和区域 A的数据加工能力 |
|
A与C不同地域 |
区域A有 |
会创建 |
|||
关闭中心化 |
A与C同地域 |
不会创建 |
中心C无 |
取决区域化TTL |
|
A与C不同地域 |
更多日志审计下网络类实践可以参阅 :
安全类
日志审计安全类日志类型接入在过去一年主要新增了DDoS高防国际版和DDoS原生防护日志的接入支持。
DDoS原生防护通过在阿里云机房出口处建设DDoS攻击检测及清洗系统,直接将防御能力加载到云产品上,以被动清洗为主,主动压制为辅的方式,实现DDoS攻击防护。
DDoS高防通过DNS解析和IP直接指向引流到阿里云高防网络机房,在高防清洗中心清洗过滤,抵御流量型和资源耗费型攻击。通过高防清洗中心部署在国内和国际可以将DDoS高防日志分为新BGP版和国际版。
下图是日志审计中内置的高防运营中心报表的示意:
如果想要进一步了解详情,可以参阅:日志审计携手DDoS防护助力云上安全
数据库类
日志审计在原已支持RDS/PolarDB审计日志、慢日志、和性能日志的采集,其支持地域和版本信息可查看审计云产品覆盖。现在日志审计又支持了RDS Mysql和PolarDB Mysql错误日志的采集,进一步丰富了日志审计数据库类云产品日志类型的接入覆盖。
错误日志主要用于记录服务器启动和停止过程中的信息、服务器在运行过程中发生的故障和异常情况。
日志审计对RDS和PolarDB的错误日志的采集同样支持实例粒度的采集策略,即支持用户通过配置采集策略的方式,只采集满足条件的错误日志,比如用户只想采集中心账号C的错误日志,不需要采集其他成员账号A、B的错误日志,或者用户只需要采集tag.env为生产环境的RDS实例,不需要采集tag.env为测试环境的RDS实例错误日志,都可以通过采集策略进行配置。下图为PolarDB某一具体实例错误日志的日志示例:
如果想要进一步了解详情可以参阅:日志审计:开启RDS/PolarDB错误日志采集
存储优化-冷热智能存储
SLS提供智能冷热分层存储功能,热数据至少需要保存30天。相对热存储而言,冷存储成本更低,其数据的查询与分析性能有所降低,其余功能例如告警、可视化、加工、投递等不受影响。
日志审计更好地集成了冷热分层存储功能,使得用户可以在一个界面中,统一管理所有审计下云产品日志的冷存开关及天数[30,TTL),该功能主要针对存储周期长且查询频率低的用户使用场景,开启冷存开关可以极大帮助用户优化存储成本,进一步减轻用户使用日志审计的价格顾虑。
存储优化-更多中心地域选择
自动地中心化存储是日志审计一个非常重要的功能特点。中心化存储主要通过SLS数据加工实现,对于云产品日志来说,中心化存储主要出于以下目的:
提供统一的查询分析入口,将不同账号不同地域下日志采集信息汇总起来,进行数据汇总和集中分析,从而进行进行进一步的分析、可视化、告警、二次开发等。
举个最典型的OSS访问日志的例子,用户在cn-shanghai和ap-southeast-1地域下oss访问日志将会分别采集到
slsaudit-region-${uid}-cn-shanghai和slsaudit-region-${uid}-ap-southeast-1的project下的oss_log中,通过打开日志审计的“同步到中心”开关,用户可以在一个center project下进行日志汇总查询,并且日志内容还会根据region字段区分日志来源,方便用户溯源。
在原有日志审计众多中心化区域选择的基础上,过去一年,日志审计新增了国内(青岛+香港)两个中心区域,国外(印尼+德国)两个中心区域选择,支持更多国内本地化和海外客户的使用场景。
总结与思考
在未来的FY23年度,日志审计主要将从两个方向进行持续演进:
- 同SLS的统一接入平台进行深度融合,持续提供数据链路传输与服务的稳定性。
- 根据客户需要,持续加强更多数据类型的覆盖,并集成SLS中台能力,进一步降低审计场景的使用门槛。