轻量级AWS CloudTrail审计方案

简介: 随着基于AWS构建的应用程序的扩展和日常管理的增加,企业的合规审计以及在AWS上的安全防护成为一项越来越复杂的任务。对于企业而言,时刻面临着云上的基础设施以及应用程序被攻击的可能,因此,监控AWS账户行为的操作、识别可能的恶意行为和检测可能的错误配置是企业安全合规的重要内容。AWS CloudTrai记录的审计日志信息为企业的安全合规提供了基础的数据,根据CloudTrail的审计日志就可以构建出企业的云上审计方案。

随着基于AWS构建的应用程序的扩展和日常管理的增加,企业的合规审计以及在AWS上的安全防护成为一项越来越复杂的任务。对于企业而言,时刻面临着云上的基础设施以及应用程序被攻击的可能,因此,监控AWS账户行为的操作、识别可能的恶意行为和检测可能的错误配置是企业安全合规的重要内容。AWS CloudTrai记录的审计日志信息为企业的安全合规提供了基础的数据,根据CloudTrail的审计日志就可以构建出企业的云上审计方案。

什么是CloudTrail

CloudTrail是AWS提供的一项服务,用于记录用户、角色和服务所执行的操作,这些操作包括在AWS控制台、AWS命令行界面、AWS开放工具包以及API中执行的操作。CloudTrail将这些操作记录为事件,通过在CloudTrail中创建一个Trail,就可以持续记录AWS账户的活动和事件,从而帮助用户对AWS账户进行监管、合规性以及运营和风险审计。

事件类型

在创建Trail时,用户可以选择记录管理事件、数据事件以及洞察事件,默认记录所有的管理事件。当AWS账户中发生事件时,CloudTrail会评估该事件是否与用户的Trail的配置匹配,只有匹配了的事件才会传送到Amazon S3存储桶。

管理事件

管理事件指AWS账户中对资源执行的管理操作,这包括读取、创建、删除和修改AWS的资产,例如EC2实例和S3存储桶。对于API活动,可以选择记录 AllRead-onlyWrite-only管理事件,如果不想记录AWS KMS 和Amazon RDS 数据 API 事件,可以选择排除这两种事件。

数据事件

数据事件指在创建的AWS资源内执行的数据请求操作,通常是一些涉及到大量数据活动的事件。创建Trail时默认不启动数据事件,因为它会产生额外的收费。在数据事件中,可以记录 Amazon S3 存储桶、AWS Lambda 函数、Amazon DynamoDB 表或这些表的组合的数据事件。

洞察事件

洞察事件指的是CloudTrail通过分析记录的管理事件,在识别出API调用相关的异常活动时记录的事件。洞察类型包括API调用率和API错误率,CloudTrail通过数学模型来确定账户的API事件的正常水平(称之为基线,在洞察事件开始前的7天内计算的),在调用率和错误率超出基线时就会生成洞察事件,并且投递到S3存储桶目标文件夹的的/CloudTrail-Insight目录下。

CloudTrail日志示例

CloudTrail存储到S3的日志文件以JSON的格式编写,每个文件中包含一条或多条记录,如下所示为CloudTrail记录的一个示例事件,关于事件中每个字段的详细含义,可以参考CloudTrail record contents

{

   "eventVersion": "1.08",

   "userIdentity": {

       "type": "IAMUser",

       "principalId": "EX_PRINCIPAL_ID",

       "arn": "arn:aws:iam::123456789012:user/Alice",

       "accountId": "123456789012",

       "accessKeyId": "EXAMPLE_KEY_ID",

       "userName": "Alice"

   },

   "eventTime": "2022-03-24T21:11:59Z",

   "eventSource": "iam.amazonaws.com",

   "eventName": "CreateUser",

   "awsRegion": "us-east-2",

   "sourceIPAddress": "127.0.0.1",

   "userAgent": "aws-cli/1.3.2 Python/2.7.5 Windows/7",

   "requestParameters": {"userName": "Bob"},

   "responseElements": {"user": {

       "createDate": "Mar 24, 2022 9:11:59 PM",

       "userName": "Bob",

       "arn": "arn:aws:iam::123456789012:user/Bob",

       "path": "/",

       "userId": "EXAMPLEUSERID"

   }}

}

这条日志显示了IAM用户Alice使用AWS CLI调用了CreateUser操作创建了名为Bob的新用户。对于CloudTrail记录的事件,包含了一些重要的字段,例如执行操作的AWS用户名称以及访问密钥ID(userIdentity字段),执行操作的详细信息(eventTime、eventSource和eventName字段)。对于管理事件和数据事件,日志还包含了requestParameters和responseElements来提供了执行操作的请求参数以及响应元素,通过响应元素可以帮助用户确认操作的执行情况,如果执行失败的话,日志中会包含errorCode和errorMessage两个字段来说明失败的原因。

SLS的CloudTrail审计方案

对于海量的审计数据,往往需要较大的存储成本。相对于一些商业化SaaS,例如DataDog、Sumo Logic等,SLS只需要极低的成本就可以开启CloudTrail的审计方案,例如每天写入1百万条日志,并且用户开启了智能冷热分层存储(热存设置为30天),那么用户一年的存储成本大约为253元(约39美元)。

除了成本极低以外,使用SLS作为AWS CloudTrail的监控分析平台具有以下优势:

  • 集成了AWS CloudTrail审计应用,简化日志接入流程,提供一站式审计服务。
  • 免费提供查询、报表分析以及告警监控的功能,极低的存储成本。对于告警监控功能,只收取语音通知和短信通知费用。
  • 灵活、高性能的查询分析能力。支持PB级数据实时查询与分析,提供10多种查询运算符、10多种机器学习函数、100多个SQL函数,支持千亿级数据高性能分析,能够快速支撑审计场景下的查询监控。
  • 丰富的报表和告警内置规则,强大的智能告警系统。应用内置了开箱即用的仪表盘,包括总览、登录审计、S3数据事件、IAM审计、网络和安全审计报表,还内置了涵盖账号安全、多种AWS云产品操作合规以及API调用等关键方向的告警规则。另外,日志服务告警是一站式告警监控、降噪、事务管理、通知分派的智能运维平台,具有高可用和高可靠性。
  • SLS具有强大完善的开放平台能。支持通过SDK/API查询消费,也提供开箱即用的组件与其他平台工具对接,包括数仓如MaxCompute和OSS等、流计算平台如Flink和Spark Streaming等、可视化框架如Grafana和DataV等

将CloudTrail日志接入到SLS

SLS集成的AWS CloudTrail审计应用的工作原理如下图所示,在AWS CloudTrail中创建Trail后,还需要在Amazon SQS中创建队列,才能拉取到AWS CloudTrail数据。在AWS上需要进行的准备工作如下:

  1. 在CloudTrail中创建一个Trail,具体参考创建一个Trail
  2. 在SQS中创建一个Queue,具体参考创建一个队列
  3. 在第一步创建的Trail对应的S3 Bucket中,配置事件通知,目的地选择第2步创建的Queue,具体参考S3配置事件通知

完成上面的步骤后,就可以在AWS CloudTrai审计应用中创建对应的导入任务,导入任务的参数配置可以参考创建配置

开启您的安全审计方案

将CloudTrail日志导入到SLS后,就可以轻松开启您的安全审计方案,具体包括了以下能力。

探索CloudTrail日志-查询分析

在导入CloudTrail日志的时候,SLS会自动根据CloudTrail日志的字段创建索引,因此用户可以直接在查询分析框内输入对应的查询分析语句来探索CloudTrail日志。下图所示为查询15分钟内所有事件名称为GetObject的日志,返回的内容包括查询到的符合条件的日志总条数以及原始日志。

除了根据索引字段过滤和查询原始的CloudTrail日志,还可以利用SQL进行统计分析。下图所示为统计1天内每隔15分钟所产生的日志数量,并且以线图的形式将统计分析的结果展示出来。

数据可视化-报表

AWS CloudTrail审计应用提供开箱即用的仪表盘,包括总览、登录审计、S3数据事件、IAM审计、网络和安全审计,用于分析和审计AWS账户的各类事件。下图所示为总览和S3数据事件的内置报表,更多信息可以参考查看数据报表。除了内置的报表以外,用户还可以根据自己的需求深度自定义报表,在查询分析页面将统计分析结果保存到仪表盘就可以完成报表的定制。

实时检测安全威胁-监控告警

AWS CloudTrail应用内置众多开箱即用的告警规则,用户开启后,SLS就会实时监控导入的CloudTrail日志,一旦检测到与告警规则相匹配的事件时,日志服务就会产生一个告警,并且根据用户配置的告警策略和行动策略进行告警通知。应用内置的告警规则涵盖了账号安全、多种AWS云产品操作合规以及API调用等关键方向的审计日志,除此以外,用户也可以根据自己的需求自定义告警规则,监测符合自身安全合规的审计日志。

参考

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
5天前
|
Serverless 应用服务中间件 文件存储
Serverless应用引擎部署问题之权限缺少如何解决
Serverless部署是指将应用程序部署到无服务器架构中,该架构允许开发者专注于代码而无需关心底层服务器的运行和维护;针对Serverless部署过程中可能遇到的挑战,本合集提供全面的指南和最佳实践,帮助开发者顺利实现应用的无服务器化部署。
|
5天前
|
SQL 弹性计算 监控
构建多账号云环境的解决方案|多账号云上操作日志统一审计
操作审计(ActionTrail)是阿里云提供的云账号资源操作记录的查询和投递服务,可用于安全分析、资源变更追踪以及合规性审计等场景。企业在阿里云采用多账号的资源结构时,如何满对跨账号跨地域的云上操作日志进行统一归集留存和分析,是企业上云管云过程的必备环节。此次分享为您介绍如何使用操作审计产品进行中心化的审计,提升云上多账号操作的可控可见性,及时发现问题、响应问题,规避潜在风险。
267 0
|
5月前
|
存储 运维 监控
悦数图数据库 v3.6.0 发布:支持 Zone 管理,提升业务安全性和连续性
近日,悦数图数据库 v3.6.0 版本全新发布!这个版本带来了一系列令人振奋的功能和增强,进一步提升企业用户在一些特定场景的体验。同时发布的还有悦数图探索和悦数运维监控 v3.6.0 版本,新版本为您提供了更优化的可视化图探索工具和多集群可视化运维工具。
|
7月前
|
监控 安全 Cloud Native
云原生环境下的安全实践:保护应用程序和数据的关键策略
云原生环境下的安全实践:保护应用程序和数据的关键策略
536 0
云原生环境下的安全实践:保护应用程序和数据的关键策略
|
9月前
|
SQL Cloud Native 数据管理
稳定高效!NineData x SelectDB 完成产品兼容互认证
NineData与实时数据仓库厂商SelectDB完成产品兼容互认证,实现了软件相互兼容、功能完善、运行稳定且性能优异。双方将持续助力数据管理与大数据分析业务的融合,帮助企业实现数字化转型,提高效率、降低成本,并满足客户业务需求。SelectDB成立于2022年初,团队来自知名互联网和云计算公司,核心产品是基于Apache Doris内核的实时数据仓库。NineData是新一代的云原生智能数据管理平台,提供数据复制、SQL开发、数据备份和数据对比等功能,帮助用户统一管理混合云和多云数据源。合作将提供高效、安全的数据开发和实时数据同步解决方案,推动数据产业的创新升级。
97 0
稳定高效!NineData x SelectDB 完成产品兼容互认证
|
12月前
|
关系型数据库 Serverless 数据库
《Serverless数据库技术研究报告》——三、 Serverless数据库技术趋势——(二)计算资源标准化,统一底层资源
《Serverless数据库技术研究报告》——三、 Serverless数据库技术趋势——(二)计算资源标准化,统一底层资源
|
12月前
|
运维 关系型数据库 Serverless
《Serverless数据库技术研究报告》——三、 Serverless数据库技术趋势——(一)屏蔽底层数据库操作,提升易用性
《Serverless数据库技术研究报告》——三、 Serverless数据库技术趋势——(一)屏蔽底层数据库操作,提升易用性
269 0
|
Kubernetes 安全 Cloud Native
Kubernetes 多集群管理平台 OCM v0.9.0 发布:进一步改善托管集群安全性问题
随着 OpenClusterManagement(OCM)项目的持续发展,我们觉得有必要周期性向大家同步近期项目的一些进展了,包括我们我们下一步未来发展的方向以及作为贡献者如何参与进来我们的社区。2022 年的尾声即将到来,让我们来进一步看一下项目研发方面的新内容吧!
|
5天前
|
存储 监控 安全
自建数据库没有审计方案?试试这套轻量级低成本方案
本文主要介绍使用日志服务借助开源工具来搭建一套轻量级低成本的数据库审计方案。
43 0
自建数据库没有审计方案?试试这套轻量级低成本方案
|
Kubernetes 监控 Cloud Native
云原生系列二:如何实现跨数百个K8s集群的管理
​  今天就由叶秋学长带领大家学习云原生专栏系列二:如何实现跨数百个K8s集群的管理? Intuit 实现数百个K8s集群的管理 Intuit公司成立于1983年。它以个人财经软件为主要产品。2019年10月入选《财富》杂志“2019未来50强榜单”,排第21位。截至当年,Intuit公司4大BU、30个业务部门运行了大约160个K8s集群,大约5400个名称空间,每天要进行1300次的部署。那么他是如何做到,今天我们做一个简单的讲解。 首先就是为什么Intuit公司要划分如此多的集群?他们希望在不同的业务部门之间实现隔离,并且各业务部门能够拥有自主权;其次,为了满足合规,将审计限
378 0
云原生系列二:如何实现跨数百个K8s集群的管理