[新機能]CloudTrailでサインインが記録出来るようになった

はじめに

AWS CloudTrailのアップデートが発表されました。

今回のUpdateは「Support for sign-in events」です。

CloudTrail now records attempts to sign into the AWS Management Console, the AWS Discussion Forums, and the AWS Support Center. All IAM user sign-in attempts (successes and failures), all federated user sign-in events (successes and failures), and all successful root sign-in attempts generate records in CloudTrail. CloudTrail does not, however, record root sign-in failures. For more information, see AWS Console Sign-in Events.

サインインイベントがどのように記録されるのか、早速やってみました。

記録された情報

AWSマネージメントコンソールへのログイン成功(MFA used)

以下のように、eventNameが"ConsoleLogin"となっています。また8行目にサインインしたユーザ名(userName)、18行目にログインの結果(ConsoleLogin,"Success")が記録されています。23行目のMFAUsedが"Yes"となっていますので、MFAを利用しているユーザだということが分かります。

{
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "AIDAXXXXXXXXXXXXXXXXX",
                "arn": "arn:aws:iam::123456789012:user/smokeymonkey1",
                "accountId": "123456789012",
                "userName": "smokeymonkey1"
            },
            "eventTime": "2014-07-24T23:33:57Z",
            "eventSource": "signin.amazonaws.com",
            "eventName": "ConsoleLogin",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "153.172.41.XXX",
            "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36",
            "requestParameters": null,
            "responseElements": {
                "ConsoleLogin": "Success"
            },
            "additionalEventData": {
                "MobileVersion": "No",
                "LoginTo": "https://console.aws.amazon.com/console/home?state=hashArgs%23&isauthcode=true",
                "MFAUsed": "Yes"
            },
            "eventID": "b3ff1ad2-ad47-4e7e-bc9e-bd77d6f6cXXX"
        },

AWSマネージメントコンソールへのログイン成功(MFA unused)

23行目のMFAUsedが"No"となっており、MFAを利用していないユーザだということが分かります。いかんですね!

{
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "AIDAXXXXXXXXXXXXXXXXX",
                "arn": "arn:aws:iam::123456789012:user/smokeymonkey2",
                "accountId": "123456789012",
                "userName": "smokeymonkey2"
            },
            "eventTime": "2014-07-24T23:39:42Z",
            "eventSource": "signin.amazonaws.com",
            "eventName": "ConsoleLogin",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "153.172.41.XXX",
            "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36",
            "requestParameters": null,
            "responseElements": {
                "ConsoleLogin": "Success"
            },
            "additionalEventData": {
                "MobileVersion": "No",
                "LoginTo": "https://console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1&state=hashArgs%23&isauthcode=true",
                "MFAUsed": "No"
            },
            "eventID": "89c74d97-68ca-4636-8609-b46a0c238XXX"
        },

AWSマネージメントコンソールへのログイン失敗

19行目にログインの結果(ConsoleLogin)が"Failure"となっていますので、ログイン失敗したことがわかります。あまりに頻発しているときには悪意あるログインの試みである可能性がありますので注意が必要ですね。

{
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "AIDAXXXXXXXXXXXXXXXXX",
                "accountId": "123456789012",
                "accessKeyId": "",
                "userName": "smokeymonkey2"
            },
            "eventTime": "2014-07-24T23:55:29Z",
            "eventSource": "signin.amazonaws.com",
            "eventName": "ConsoleLogin",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "153.172.41.XXX",
            "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36",
            "errorMessage": "Failed authentication",
            "requestParameters": null,
            "responseElements": {
                "ConsoleLogin": "Failure"
            },
            "additionalEventData": {
                "MobileVersion": "No",
                "LoginTo": "https://console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1&state=hashArgs%23&isauthcode=true",
                "MFAUsed": "No"
            },
            "eventID": "2d067e61-3629-4252-a4f6-ce8c8e523XXX"
        },

まとめ

運用上、複数のメンバーがAWSマネージメントコンソールを操作する事があるかと思いますが、その際にどのユーザがいつログインしたのか、或はどのユーザでログインが試みられたのか、MFAを設定していないで使っているユーザは誰か等、様々な特定が可能かと思います。監査という意味で有用なアップデートだと思います。