账号异常操作监测方案
当企业使用多账号架构上云时,通常都会关注账号内的异常操作。 本文档介绍了一种通过操作审计(ActionTrail)检测账号内异常操作并进行告警的方案。 操作审计支持通过跟踪将多账号的日志归集到统一的日志服务 SLS,并通过事件告警功能,针对账号内异常事件进行告警。
概述
在多账号场景下,客户都希望可以持续监测账号内的异常事件并进行告警,例如主账号登陆告警、账号高危(如删除资源)操作告警等,进而降低多账号使用风险。本方案会介绍一种基于操作审计(ActionTrail)统一归集多账号的审计日志,并实现账号异常操作监测告警。
方案优势
降低企业多账号管理风险
通过该方案,企业可以持续监测多账号的异常操作,如主账号登陆、高危操作等,并针对这些操作进行告警,进而降低多账号管理的风险。
客户场景
针对所有成员账号内异常操作事件告警
场景描述
客户在多账号场景下,会制订一套符合企业内部自身风险规范的定义(比如:希望所有成员账号都使用子账号进行资源管理,而不要使用主账号登录,若出现主账号登录,则视为异常事件)。客户希望能够对这种异常事件进行实时检测并触发告警。
适用客户
- 使用资源目录管理云上多个账号的企业客户。
- 对账号内异常操作事件希望能够实时检测与告警。
客户案例
客户背景
某海外公司X,专注于新零售业务,中国区的业务大量使用阿里云提供的云服务。
客户需求
在阿里云有几十个云账号,客户内部有一套管理规范。对云上账号内的一些异常操作需要做到实时检测与告警,比较典型的如:希望所有成员账号都使用子账号(RAM)进行资源管理,而不要使用主账号登录,若出现主账号登录,则视为异常事件。
客户收益
- 满足海外Global合规团队对中国区业务在云上账号操作规范。
- 管理员能够实时检测到各个成员账号内的异常操作事件,及时发现风险并规避风险。
方案架构
架构说明:
- 通过资源目录建立企业多账号架构,对于有单独审计角色的企业,可以在资源目录中设置一个委派管理员,推荐使用”日志账号”。
- 在操作审计服务中创建多账号跟踪,将所有成员账号操作事件统一归集到”日志账号”日志服务。
- 在操作审计服务中配置事件告警规则,对账号异常进行持续监测告警。
产品费用及名词
产品费用
产品名称 |
产品说明 |
产品费用 |
资源目录 |
资源目录RD(Resource Directory)是阿里云面向企业客户提供的一套多级账号和资源关系管理服务。 |
免费 |
操作审计 |
操作审计(ActionTrail)是阿里云提供的云账号资源操作记录的查询和投递服务,可用于安全分析、资源变更追踪以及合规性审计等场景。 |
操作审计目前不收取任何费用。但由于需要把日志投递到日志服务(SLS),需要按照SLS的定价单独付费。 |
日志服务 |
日志服务SLS是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。 |
收费,相关费用见链接。 |
安全性
事件投递到日志服务上,确保事件安全性
采用KMS托管密钥或日志服务的服务密钥加密。 当创建跟踪并将事件投递到日志服务SLS时,操作审计会自动创建一个名为actiontrail_<跟踪名称>的日志库(Logstore)。您可以使用KMS托管密钥或日志服务的服务密钥为Logstore进行加密设置,从而加密事件。
严格控制事件的访问权限
当您创建跟踪并将事件投递到对象存储OSS或日志服务SLS时,需要授予阿里云账号(或RAM用户)访问OSS或SLS的权限,以便成功完成事件投递。而日常使用事件时也要将事件读权限授予相关工作人员。
建议权限配置符合最小化原则,避免不当的授权导致服务实例被删除或篡改,避免非必要人员对事件的访问。
严格控制审计管理员的管控权限
拥有AliyunActionTrailFullAccess权限(操作审计管理员权限)的用户,可以修改和删除跟踪。跟踪变更后将影响事件的投递,从而影响您对事件的跟踪和审计。
建议将此权限授予尽可能少的用户。
注意事项
配置告警的账号问题
创建跟踪后,需要由创建跟踪的账号开启事件告警。
- 如果日志账号和创建跟踪的账号是同一个,则可以登陆到创建跟踪的账号配置告警。
- 如果日志账号和创建跟踪的账号不是同一个,则需要登陆到日志账号配置告警。
智能冷热分层存储
日志服务提供冷存储功能,降低您长周期存储的成本,并同时保证日志的查询、分析、可视化、告警、投递和加工等能力不受影响。冷存储数据的存储费用按照冷存储的存储空间计费,冷热数据转换不会产生费用。更多可以参考产品链接。
实施步骤
场景规划
本文将介绍如何通过事件告警功能实现当资源目录中的管理账号或成员账号的主账号登陆控制台时自动发送告警通知的功能。
实施准备
实施时长
在实施准备工作完成的情况下,本方案实施预计时长:20分钟。
操作步骤
开启事件告警
- 访问操作审计控制台,点击左侧跟踪列表功能,开启多账号跟踪的高级功能
- 根据创建多账号跟踪时是否设置的跨账号投递,登录不同的账号:
- 当创建跟踪的账号和存储审计日志的账号是同一账号时,登录创建跟踪的账号
- 当创建跟踪的账号和存储审计日志的账号不是同一账号时,登录存储审计日志的账号
按照Landing Zone账号规范,推荐将存储审计日志放到日志账号。所以创建跟踪的账号与存储审计日志的账号是两个不同的账号。
- 点击左侧事件告警功能
创建用户和用户组
用户和用户组用于指定告警通知对象。
- 创建用户。在事件告警页面,选择告警管理 > 用户管理。可选:
- 单击创建,添加单个用户信息。
- 单击批量创建,可参考样例添加多个用户信息。
- 单击导入联系人,选择从云监控导入或从RAM导入。
- 创建用户组。在事件告警页面,选择告警管理 >用户组管理。可选
- 单击创建,添加用户组信息和需要加入用户组的用户。
- 单击批量创建,可参考样例添加多个用户组并加入指定用户。
创建内容模板(可选)
操作审计默认使用SLS ActionTrail内置内容模板为用户/用户组发送告警通知。您也可以根据需要创建自定义的内容模板。
- 在事件告警页面,选择告警管理 > 内容模板。
- 单击添加。
- 在添加内容模板对话框,设置ID和名称,以及各个渠道的告警通知内容。您还可以使用模板变量定义内容。更多信息,请参见内容模板变量说明(新版)。
创建行动策略(可选)
行动策略用于控制告警通知的渠道和频率。操作审计内置告警规则默认使用SLS ActionTrail内置行动策略为您发送告警通知,您也可以创建行动策略,设置告警触发条件、通知渠道和接收人等信息。
- 在事件告警页面,选择告警管理 > 行动策略。
- 单击添加。在添加行动策略对话框,输入ID和名称。
- 在第一行动列表页签,创建行动策略。
- 单击
图标。
- 配置触发告警通知的条件,然后单击确认。
- 配置行动组,配置通知渠道及相关参数。
- 单击条件、行动组对话框对应的
图标,结束第一行动列表配置。
- 单击确认,完成行动策略创建。
添加一条新的行动策略
注意!其中接收人是需要提前配置好,见上面 创建用户和用户组。
开启告警规则
- 在事件告警页面,单击规则/事务页签。
- 单击Root账号连续登录告警规则操作列的开启。状态列显示已开启,表示成功开启告警规则。
设置告警参数
- 单击Root账号连续登录告警规则操作列的设置。
- 在参数设置对话框,设置行动策略和严重度,将最大登录次数设置为0。
- 单击保存。
注意:
- 行动策略:这一步"创建行动策略(可选)" 创建出来的策略模板。
- 严重度:表示这条告警的严重程度。可以作为触发告警的一个条件。
- 最大登录次数:表示触发的条件,当大于这个值,就会触发告警。
配置白名单(可选)
如果您希望阿里云账号不受告警规则限制,可以配置白名单。
- 单击Root账号连续登录告警规则外部配置列的白名单。
- 可选:
- 单击添加,添加单个阿里云账号ID。
- 单击批量添加,可参考样例添加多个阿里云账号ID。
告警内容示例
【阿里云】日志服务告警:共有一条告警。告警详情为阿里云账号:103534829989****
告警内容:账号103534829989****过去30分钟使用Root用户登录2次,大于指定阈值0