監査目的で、Amazon 仮想プライベートクラウド (Amazon VPC) のセキュリティグループに加えられた変更を確認したいと考えています。AWS アカウントのセキュリティグループの変更を確認する最も良い方法は何ですか?
簡単な説明
AWS アカウントのセキュリティグループイベント履歴を表示およびモニタリングするには、次のいずれかの AWS のサービスと機能を使用できます。
**注意:**セキュリティグループ関連の API コールの例をいくつか示します。
解決方法
CloudTrail イベント履歴を使用して AWS アカウントのセキュリティグループの変更を確認するには
注意: CloudTrail を使うと過去 90 日間のイベント履歴を検索できます。
1. CloudTrail コンソールを開きます。
2. [イベント履歴] を選択します。
3. [フィルター] で、ドロップダウンリストを選択します。次に、[リソース名] を選択します。
4. [リソース名の入力] テキストボックスに、リソース名 (sg-123456789 など) を入力します。
5. [時間範囲] で、希望する時間範囲を入力します。その後、[適用] を選択します。
6. [イベントの時刻] で、イベントを展開します。その後、[イベントを表示] を選択します。
詳細については、「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. [クエリエディタ] を選択します。Athena クエリエディタが開きます。
3. Athena クエリエディタで、ユースケースに基づいてクエリを入力します。その後、[クエリを実行] を選択します。
詳細については、「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. [フィルター] で、ドロップダウンリストを選択します。次に、[イベント名] を選択します。
4. [イベント名の入力] テキストボックスに、検索するイベントのタイプ (CreateSecurityGroup など) を入力します。その後、[適用] を選択します。
5. [イベントの時刻] で、イベントを展開します。
6. [参照されるリソース] ペインで、[設定タイムライン] 列の時計アイコンを選択して、設定タイムラインを表示します。
詳細については、「AWS Config で参照されるリソースの表示」を参照してください。