阿里云配置审计是一款面向资源的审计服务类产品。它可以主动发现用户资源,持续监控并记录资源配置变更,能够提供有效的资源管控服务。并基于“合规即代码”的理念,将资源审计逻辑实现放置于阿里云函数计算运行环境之上,使得持续性的合规审计、安全评估分析成为可能。
更多的阿里云Config介绍请参考 阿里云配置审计 - 全解析
阿里云配置审计(以下简称Config)提供了持续的合规审计功能,以审计规则作为落地合规审计的具体策略,基于自动化的手段帮助企业用户完善资源合规审计制度,确保“等级2.0”具体实施的快速落地。它一方面提供了丰富的托管审计规则,提供基础的合规审计功能,开箱即用,可以满足绝大部分用户需求;另外用户可以开发自定义的审计规则,完善内部最佳实践和指南。
为支持后续合规审计规则的持续建设,结合“等保2.0”的具体要求和阿里云Config已具备的能力,通过对现有的审计规则进行总结,分类划分,以方便用户的理解。
1. 网络安全
网络安全是一个比较大的范畴,涉及互联网时代工作、生活的方方面面。“等保2.0”对身份鉴别、访问控制、数据完整性和保密性等方面都提出了要求;从阿里集团层面也出台了《阿里云安全白皮书》,通过《阿里云企业上云安全指引》助力企业用户更好的上云。
以下从阿里云Config审计规则的角度,将涉及安全审计的规则划分为:公网访问控制、用户数据安全、账号和权限安全、高可用支持等几个层面:
1.1 公网访问安全
要求最大限度的限制公网访问,筛选有效用户,减少风险来源,保证流量入口的安全,从而达到保护云产品服务网络环境的目的;
举例:
- 云产品如:ECS/SLB/EIP等是否具有公网地址;
相关规则:ecs-instance-no-public-ip(检查ECS实例是否绑定公网Ip),eip-attached(检查弹性公网IP是否绑定到ECS或SLB实例上),slb-no-public-ip(检查slb实例是否绑定公网Ip) - 云产品如:ECS/RDS/OSS/FC等是否允许0.0.0.0/0公网访问;
相关规则:sg-public-acces-check(检查安全组是否配置为0.0.0.0/0),rds-public-access-check(检查RDS实例是否允许公网访问) - 云产品如:ECS/RDS/FC等产品是否启用VPC;
相关规则:ecs-instances-in-vpc(检查ECS实例是否已关联到VPC实例),rds-instances-in-vpc(检查RDS实例是否已关联到VPC实例) - 云产品如:ECS/RDS是否附加到安全组;
相关规则:ecs-instance-attached-security-group(检查ECS实例是否已关联到安全组) - VPC中是否启用了可直接路由到互联网的路由表;
- ECS是否开启3389、22等风险端口;
相关规则:sg-risky-ports-check(检查安全组是否开启指定端口) - RDS是否启用IP访问白名单;
相关规则:rds-instance-enabled-security-ip-list(检查RDS实例是否启用安全白名单功能) - 是否允许OSS Bucket公网读写;
相关规则:oss-bucket-public-read-prohibited(检测 OSS Bucket是否公开读取访问权限),oss-bucket-public-write-prohibited(检测 OSS Bucket是否公开写入访问权限)
1.2 用户数据安全
对于产生用户数据的云产品,要求对核心数据采用加密计算、双向强身份认证、冗余备份等技术方案,保证用户数据的完整性,可用性和机密性;其中冗余备份方案主要有:数据库备份,Binlog备份,OSS跨域备份,系统快照备份等。
同时需要保证对涉及核心服务的资源实例如:ECS实例/SLB监听器/OSS Bucket等启用必要的删除保护,防止用户误操作;
涉及云产品:
弹性计算类产品:云服务器ECS,专有宿主机DDH等;
数据库类产品:云数据库RDS MySQL版,云数据库MongoDB版,云数据库POLARDB版,云数据库Redis版等;
存储类产品:对象存储OSS,文件存储NAS等;
网络类产品:负载均衡SLB等;
应用服务类产品:日志服务SLS等;
举例:
- 弹性计算类产品:是否对ECS磁盘是否启用了加密;
相关规则:ecs-disk-encrypted(检查处于连接状态的ECS磁盘是否已加密) - 是否对存储类产品如:OSS Bucket中用户数据启用服务端加密;
相关规则:oss-bucket-server-side-encryption-enabled(检查OSS Bucket是否启用服务端加密) - 是否SLB监听器面向公网是否启用SSL加密协议;
相关规则:slb-listener-https-enabled(检查负载均衡是否开通HTTPS监听) - 弹性计算类产品:ECS实例是否启用快照实例备份;
- 数据库类产品是否启用数据备份,Binlog备份策略;
- 存储类产品如:OSS Bucket是否启用跨区域复制;
- 特定资源类型如:ECS/SLB等是否启用删除保护;
相关规则:ecs-instance-deletion-protection-enabled(检查ECS实例是否开启释放保护开关),slb-delete-protection-enabled(检查SLB实例是否开启释放保护开关)
1.3 账号和权限安全
主要对阿里云RAM账号权限体系提出要求,强化登录认证流程,启用多因素认证。同时对用户的操作权限满足“最小权限原则”,赋予每一个合法动作最小的权限,保护数据以及功能避免受到错误或者恶意行为的破坏。
涉及云产品:
访问控制RAM
举例:
- 主账号不能创建AK;
- 账号是否启用MFA多因素认证;
相关规则:ram-user-mfa-check(检查RAM用户是否开通MFA二次验证登录) - 账号密码是否符合复杂度要求,是否设置过期策略;
- RAM授权策略是否附加到至少一个用户/用户组,角色上,确保及时删除无效规则;
- 是否存在指定天数内有未使用的AK,确保及时删除无效AK;
- RAM用户组必须包含一个以上用户;
1.4 高可用支持
此处主要强调对软件系统服务的高可用。
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,指通过设计减少系统不能提供服务的时间。在实践中要求启用云产品具备的高可用、跨地域容灾等特性,以消除服务器单点故障,提升冗余,保证服务的稳定性。
涉及产品:
弹性计算类产品:云服务器ECS,专有宿主机DDH等;
数据库类产品:云数据库RDS MySQL版,云数据库MongoDB版,云数据库POLARDB版等;
网络类产品:负载均衡 SLB ;
域名类产品:云解析DNS;
举例:
- 数据库类产品如:RDS数据库实例是否支持高可用;
相关规则:rds-high-availability-category(检查RDS实例是否具备高可用能力) - 是否基于负载均衡SLB提供网络服务;
- 是否启用多SLB实例的高可用功能;
1.5 健康检查
要求对部分支持健康检测的产品启用自身监控检查或云监控功能;
云监控(CloudMonitor) 是一项针对阿里云资源和互联网应用进行监控的服务。云监控服务可用于收集获取阿里云资源的监控指标或用户自定义的监控指标,探测服务可用性,以及针对指标设置警报。使您全面了解阿里云上的资源使用情况、业务的运行状况和健康度,并及时收到异常报警做出反应,保证应用程序顺畅运行。
涉及产品:
弹性计算类产品:云服务器ECS,专有宿主机DDH等;
数据库类产品:云数据库RDS MySQL版,云数据库MongoDB版,云数据库POLARDB版等;
大数据类产品:实时计算 ,大数据计算服务 · MaxCompute等;
2. 可审计
“等保2.0”中明确要求对软件服务中的用户行为日志和安全事件信息进行记录和审计。阿里云部分云产品提供了操作审计功能,此部分审计规则主要用于评估操作审计的开启状态。
3.1 行为审计
要求启用阿里云操作审计产品;
阿里云操作审计(ActionTrail操作审计)是阿里云提供的云账号资源操作记录的查询和投递服务,可用于安全分析、资源变更追踪以及合规性审计等场景。
3.1 数据库审计
要求启用数据库类产品实例的审计功能;
数据库审计服务是一款专业、主动、实时监控数据库安全的审计产品,可用于审计阿里云平台中的RDS云数据库、ECS自建数据库和NoSQL数据库。
3.2 日志记录
部分云产品具备将自身运行日志投递到阿里云日志服务SLS的功能,开启此功能有助于了解云产品内部运行机制,同时基于SLS具备的大数据聚合分析能力,可监控和分析云产品运行状态,提升产品性能。
涉及产品:
数据库类产品:云数据库RDS MySQL版,云数据库MongoDB版,云数据库POLARDB版 ,云数据库 Redis版等;
存储类产品:对象存储OSS,文件存储NAS等;
网络类产品:负载均衡SLB等;
3. 内部实践
用户可定义审计规则,从成本考虑,性能要求等方面沉淀企业自身的最佳实践和指南。
3.1 降低成本
要求在保证产品稳定运行的同时有效的降低用户的运行成本;
举例:
- ECS磁盘是否处在使用状态;
相关规则:ecs-disk-in-use(检查ECS磁盘是否在使用中) - ECS实例符合特定的实例要求,CPU/内存/GPU/存储等要求;
相关规则:ecs-cpu-min-count-limit(检查ECS实例的CPU数量不能低于某阈值),ecs-gpu-min-count-limit(检查ECS实例的GPU数量不能低于某阈值),ecs-memory-min-size-limit(检查ECS实例的内存容量不小于某阈值),rds-cpu-min-count-limit(检查 RDS 实例的CPU数量不小于某阈值),rds-instance-storage-min-size-limit(检查RDS实例的存储空间不小于某阈值),rds-memory-min-size-limit(检查RDS实例的内存容量不小于某阈值)
3.2 性能优化
充分的理解和认知云产品最佳实践经验能够有效的提升云产品的运行效能,充分发挥云产品的潜力。
举例:
- OSS Bucket数据访问启用全球加速;
- 如在特殊的应用场景下如:深度学习要求保证特殊的硬件配置GPU等;
4. 总结
以上我们对阿里云Config审计规则进行了分类,总体而言对一个资源类型的审计规则建设可以简化为以下几个方面:
4.1 网络环境
- 否存在公网地址,允许公网访问;
- 是否处于VPC网络环境中;
- 是否启用了IP访问限制功能;
4.2 用户数据
- 用户数据是否启用备份、加密策略,保证完整性;
- 存储类产品是否加密和跨区域备份;
4.3 高可用
- 如是数据库类产品:如RDS/Open Search等是否支持高可用;
- 是否启用健康检测;
4.4 可审计
- 是否启用了日志记录功能;
- 如是数据库类产品:是否启用了SQL审计功能;
伴随这阿里云Config可支持资源类型的持续增长,审计规则也在持续建设中;未来我们希望提供一个开放性的规则市场,能够吸引更多的云产品的加入以丰富审计规则,建立一个较为完整的审计生态,让合规审计的概念深入人心。