亚马逊AWS官方博客
基于 Amazon GuardDuty 威胁级别的自动化通知
一.方案背景
客户希望能对AWS环境中的网络活动和账户行为进行持续监控,Amazon GuardDuty正是这样一个服务,它可以通过分析多个日志数据源,持续监测AWS平台内账号和负载的运行情况和而且利用Amazon CloudWatch 事件和 AWS Lambda 执行自动化的通知和修复操作,本文介绍如何通过结合使用Amazon CloudWatch event,AWS Lambda,Amazon SNS和Amazon Connect实现对来自Amazon GuardDuty不同风险级别的自动通知.对于中等风险的通知我们采用邮件通知管理员,对于高等风险的通知我们使用电话直接通知管理员。
二.GuardDuty介绍
Amazon GuardDuty 是一种威胁检测服务,可持续监控恶意活动和未经授权的行为,从而保护您的 AWS 账户和工作负载。迁移到云后,账户和网络活动的收集与聚合变得异常简单,但安全团队对事件日志数据进行持续的分析以发现潜在的威胁,则可能十分耗时。GuardDuty 为您提供了经济高效的智能选项,从而持续检测在 AWS 云中发生的威胁。此服务使用机器学习、异常检测和集成威胁情报等手段,识别潜在的威胁并确定优先级别。GuardDuty 对来自多个 AWS 数据源(例如 AWS CloudTrail、Amazon VPC Flow Logs 和 DNS 日志)的数百亿事件进行分析。只需在 AWS 管理控制台中几次点击,就可以启用 GuardDuty,无需部署或维护任何软件或硬件。GuardDuty 警报与 AWS CloudWatch Events 集成,具有极好的可行动性,非常便于跨多个账户聚合,并且可以直接推送到现有的事件管理和工作流程系统。
GuardDuty 调查结果定义的严重性等级和值:
每个 GuardDuty 调查结果都将分配到一个严重级别和值,这样您就无需将一个调查结果的优先级设置为高于另一个调查结果,并且可以帮助您确定您对调查结果强调的潜在安全问题的响应。严重性的值的范围可能为 0.1 到 8.9。
以下是当前为 GuardDuty 调查结果定义的严重性级别和值:
1.High (高)(GetFindings 响应中 severity 参数值的
范围为 7.0 到 8.9)– 指示有问题的资源(一个 EC2 实例或一组 IAM 用户凭证)已遭泄露,并且不断被用于未经授权的目的。我们建议您将此安全问题视为高优先级并立即采取补救措施。例如,清除您的 EC2 实例或终止该实例,或轮换 IAM 凭证。
2.Medium (中)(GetFindings 响应中 severity 参数值的范围为 4.0 到 6.9)– 指示可疑活动,例如,大量流量返回到隐藏在 Tor 网络后面的远程主机,或偏离通常情况下观察到的行为的活动。我们建议您尽可能早调查牵涉的资源。以下是一些可能的补救措施:
-
- 检查是否有授权用户安装新的软件,更改了资源的行为 (例如,允许高于正常流量,或者在新端口上启用了通信)。
- 检查是否有授权用户更改了控制面板设置,例如,修改了安全组设置
- 在牵涉的资源上运行反病毒扫描,检测未经授权的软件。
- 验证附加到所牵涉的 IAM 角色、用户、组或一组凭证的权限。可能需要更改或轮换它们。
3.Low (低)(GetFindings 响应中的 severity 参数的值介于 0.1 到 3.9 之间)- 表示尝试进行的可疑活动未危及您的网络,例如端口扫描或失败的入侵尝试。不需要立即采取行动,但此信息值得注意,因为它可能表明有人正在寻找网络中的弱点。
三.方案架构
此方案中使用到Amazon Cloudwatch,AWS Lambda,Amazon Connect和Amazon SNS服务,其中Amazon Cloudwatch用于Guardduty消息的感知转发,AWS Lambda用于消息的处理和定向到Amazon Connect,Amazon Connect用于对用户进行电话呼叫,Amazon SNS用于邮件形式通知客户
处理流程
1.GuardDuty收集来自VPC flowlog,Cloudtrail和DNSlog里的数据进行分析并存放在S3中
2.通过Cloudwatch event采集特定的安全事件或风险等级事件
3.对于中等风险我们通过SNS服务邮件通知管理员
4.对于高风险我们通过Connect结合Lambda以电话形式通知客户
四.方案部署过程
对于不同风险级别我们使用不同的处理流程,首先我们需要检查当前Region是否已经启用Guardduty(默认是启用状态),后续的操作我们同时使用命令行和控制台进行操作,进行以下操作需要对管理员或主机具备以下权限:
- CLoudWatchFullaccess
- AmazonGuardDutyFullAccess
- AmazonSNSFullAccess
- CloudWatchEventFullAccess
下面的操作在日本区域ap-northeast-1进行.
配置中等风险邮件通知
1.在命令行下输入以下命令创建Cloudwatch event 规则
创建后记的记录输出的RuleARN
2.在命令行下输入以下命令创建创建SNS Topic