如何使用 CloudTrail 来了解我的 AWS 账户中的安全组或资源是否已更改?
出于审计目的,我想要查找对我的 Amazon Virtual Private Cloud (Amazon VPC) 中的安全组所做的更改。查看我的 AWS 账户中的安全组更改的最佳方式是什么?
简短描述
要查看和监控 AWS 账户中的安全组事件历史记录,您可以使用以下任意 AWS 服务和功能:
**注意:**以下是一些与安全组相关的 API 调用的示例:
- CreateSecurityGroup
- DeleteSecurityGroup
- AuthorizeSecurityGroupEgress
- AuthorizeSecurityGroupIngress
- RevokeSecurityGroupEgress
- RevokeSecurityGroupIngress
解决方法
使用 CloudTrail 事件历史记录来检查 AWS 账户中的安全组更改
**注意:**您可以使用 CloudTrail 来搜索过去 90 天的事件历史记录。
1. 打开 CloudTrail 控制台。
2. 选择事件历史记录。
3. 在 Filter(筛选条件)中,选择下拉列表。然后,选择 Resource name(资源名称)。
4. 在 Enter resource name(输入资源名称)文本框中,输入资源的名称(例如,sg-123456789)。
5. 在 Time range(时间范围)中,输入所需的时间范围。然后,选择 Apply(应用)。
6. 在 Event time(事件时间)中,展开事件。然后,选择 View event(查看事件)。
有关更多信息,请参阅在 CloudTrail 控制台中查看 CloudTrail 事件。
CloudTrail 事件历史记录事件示例
**注意:**在本示例中,传入规则允许来自192.168.0.0/32 的 TCP 端口 998。
{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "123456789:Bob", "arn": "arn:aws:sts::123456789:assumed-role/123456789/Bob", "accountId": "123456789", "accessKeyId": "123456789", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2019-08-05T07:15:25Z" }, "sessionIssuer": { "type": "Role", "principalId": "123456789", "arn": "arn:aws:iam::123456789:role/123456789", "accountId": "123456789", "userName": "Bob" } } }, "eventTime": "2019-08-05T07:16:31Z", "eventSource": "ec2.amazonaws.com", "eventName": "AuthorizeSecurityGroupIngress", "awsRegion": "us-east-1", "sourceIPAddress": "111.111.111.111", "userAgent": "console.ec2.amazonaws.com", "requestParameters": { "groupId": "sg-123456789", "ipPermissions": { "items": [ { "ipProtocol": "tcp", "fromPort": 998, "toPort": 998, "groups": {}, "ipRanges": { "items": [ { "cidrIp": "192.168.0.0/32" } ] }, "ipv6Ranges": {}, "prefixListIds": {} } ] } }, "responseElements": { "requestId": "65ada3c8-d72f-4366-a583-9a9586811111", "_return": true }, "requestID": "65ada3c8-d72f-4366-a583-9a9586811111", "eventID": "6c604d53-d9c3-492e-a26a-a48ac3f711111", "eventType": "AwsApiCall", "recipientAccountId": "123456789" }
使用 Athena 查询检查 AWS 账户中的安全组更改
**注意:**要使用 Athena 查询 CloudTrail 日志,您必须配置跟踪以登录 Amazon Simple Storage Service (Amazon S3) 存储桶。您可以使用 Athena 查询 90 天前的 CloudTrail 日志。
1. 打开 Athena 控制台。
2. 选择 Query Editor(查询编辑器)。此时将会打开 Athena 查询编辑器。
3. 在 Athena 查询编辑器中,根据您的使用案例使用一个查询。然后,选择 Run query(运行查询)。
有关更多信息,请参阅了解 CloudTrail 日志和 Athena 表。
用于返回创建和删除安全组时的所有 CloudTrail 事件的示例查询
重要提示:将示例表名称替换为您的表名称。
SELECT * FROM example table name WHERE (eventname = 'CreateSecurityGroup' or eventname = 'DeleteSecurityGroup') and eventtime > '2019-02-15T00:00:00Z' order by eventtime asc
用于返回对特定安全组进行更改时的所有 CloudTrail 事件的示例查询
重要提示:将示例表名称替换为您的表名称。
SELECT * FROM example table name WHERE (eventname like '%SecurityGroup%' and requestparameters like '%sg-123456789%') and eventtime > '2019-02-15T00:00:00Z' order by eventtime asc;
使用 AWS Config 配置历史记录来检查 AWS 账户中的安全组更改
**注意:**您可以使用 AWS Config 查看超过默认 90 天期限的安全组事件历史记录的配置历史记录。您必须打开 AWS Config 配置记录器。有关更多信息,请参阅管理配置记录器。
1. 打开 CloudTrail 控制台。
2. 选择事件历史记录。
3. 在 Filter(筛选条件)中,选择下拉列表。然后,选择 Event name(事件名称)。
4. 在 Enter event name(输入事件名称)文本框中,输入您正在搜索的事件类型(例如,CreateSecurityGroup)。然后,选择 Apply(应用)。
5. 在 Event time(事件时间)中,展开事件。
6. 在 Resources Referenced(引用的资源)窗格中,选择 Config timeline(配置时间轴)列中的时钟图标以查看配置时间轴。
有关更多信息,请参阅在 AWS Config 中查看引用的资源。
相关内容
- AWS 官方已更新 3 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 3 年前