CloudTrail イベント履歴を検索して、セキュリティグループまたはリソースがどのように変更されたかを調べるにはどうすればよいですか ?

最終更新日: 2019 年 9 月 3 日

次のような監査目的でセキュリティグループ API 呼び出しイベント履歴を表示したいと考えています。

解決方法

AWS CloudTrail イベント履歴、Amazon Athena クエリ、または AWS Config 設定履歴を使用して、セキュリティグループのイベント履歴を表示します。

CloudTrail イベント履歴

CloudTrail イベント履歴ビューを使用して、過去 90 日間のセキュリティグループのイベント履歴を検索できます。

1.    [CloudTrail コンソール] を開きます。

2.    [イベント履歴] を選択します。

3.    [フィルター] ドロップダウンメニューを選択し、リソース名を選択します。

4.    [リソース名の入力] フィールドに、リソースの名前を入力します。たとえば、sg-123456789 と入力し、デバイスで [Enter] を選択します。

5.    [イベントの時刻] を展開し、[イベントの表示] を選択します。

この例では、インバウンドルールは 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"
}

詳細については、「CloudTrail コンソールで CloudTrail イベントを表示する」を参照してください。

Athena クエリ

Athena クエリを使用して、CloudTrail ログで過去 90 日間のセキュリティグループのイベント履歴を検索できます。

注意: S3 バケットにログを記録できるようにする必要があります。

1.    [Athena コンソール] を開きます。

2.    [クエリエディタ] を選択します。

3.    Athena クエリエディタで、次のクエリをコピーして貼り付けます。

注意: サンプルテーブル名を実際のテーブル名に置き換えます。 

SELECT *
FROM example table name
WHERE (eventname = 'CreateSecurityGroup' or eventname = 'DeleteSecurityGroup')
and eventtime > '2019-02-15T00:00:00Z'
order by eventtime asc

4.    [クエリの実行] を選択します。

このクエリの結果は、セキュリティグループの作成と削除を追跡します。

5.    次のクエリを使用して、特定のセキュリティグループに対して行われたすべての変更のクエリを実行できます。  

SELECT *
FROM your example table name
WHERE (eventname like '%SecurityGroup%' and requestparameters like '%sg-123456789%')
and eventtime > '2019-02-15T00:00:00Z'
order by eventtime asc;

詳細については、「CloudTrail ログと Athena テーブルを理解する」を参照してください。

AWS Config の設定履歴

AWS Config を使用して、デフォルトの 90 日間の制限を超えたセキュリティグループのイベント履歴の設定履歴を表示できます。

注意: AWS Config 設定レコーダーが必要です。詳細については、「設定レコーダーの管理」を参照してください。

  1. [CloudTrail コンソール] を開きます。
  2. [イベント履歴] を選択します。
  3. [フィルター] ドロップダウンメニューを選択し、イベント名を選択します。
  4. [イベント名の入力] フィールドに、リソースの名前を入力します。たとえば、CreateSecurityGroup を選択し、デバイスで [Enter] を選択します。
  5. [イベントの時刻] を展開します。
  6. [参照したリソース] で、時計アイコンを選択して設定タイムラインを表示します。

詳細については、「AWS Config で参照されるリソースの表示」を参照してください。 


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合