내용으로 건너뛰기

CloudTrail을 사용하여 계정의 보안 그룹 및 리소스 변경 사항을 추적하려면 어떻게 해야 합니까?

3분 분량
0

AWS CloudTrail을 사용하여 AWS 계정의 보안 그룹 및 리소스 변경 사항을 추적하고 싶습니다.

해결 방법

AWS CloudTrail, Amazon AthenaAWS Config를 사용하여 AWS 계정의 보안 그룹 이벤트 기록을 보고 모니터링할 수 있습니다.

전제 조건:

CloudTrail 이벤트 기록을 사용하여 보안 그룹 활동 검토

참고: CloudTrail을 사용하여 지난 90일 동안의 이벤트 기록을 검색할 수 있습니다.

  1. CloudTrail 콘솔을 엽니다.

  2. 이벤트 기록을 선택합니다.

  3. 필터의 드롭다운 목록에서 리소스 이름을 선택합니다.

  4. 리소스 이름 입력 텍스트 상자에 리소스 이름을 입력합니다. 예를 들면 sg-123456789입니다.

  5. 시간 범위에 원하는 시간 범위를 입력합니다. 그런 다음, 적용을 선택합니다.

  6. 결과 목록에서 이벤트를 선택합니다.

자세한 내용은 콘솔에서 최근 관리 이벤트 보기를 참조하십시오.

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 쿼리로 보안 그룹 활동 검토

  1. Athena 콘솔을 엽니다.
  2. 쿼리 편집기를 선택합니다.
  3. Athena 쿼리 편집기에서 사용 사례에 따라 쿼리를 입력합니다. 그런 다음, 쿼리 실행을 선택합니다.

자세한 내용은 CloudTrail 로그 및 Athena 테이블 이해를 참조하십시오.

보안 그룹 생성 및 삭제 이벤트를 반환하는 쿼리의 예는 다음과 같습니다.

중요: example table name을 테이블 이름으로 바꾸십시오.

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 구성 기록을 사용하여 보안 그룹 활동 검토

  1. CloudTrail 콘솔을 엽니다.

  2. 이벤트 기록을 선택합니다.

  3. 필터의 드롭다운 목록에서 이벤트 이름을 선택합니다.

  4. 이벤트 이름 입력 텍스트 상자에 이벤트 유형을 입력합니다. 예를 들면 CreateSecurityGroup입니다. 그런 다음, 적용을 선택합니다.

  5. 결과 목록에서 이벤트를 선택합니다.

  6. 참조 리소스 창에서 AWS Config 리소스 타임라인 보기를 선택하여 구성 타임라인을 확인합니다.

자세한 내용은 AWS Config에서 참조하는 리소스 보기를 참조하십시오.