Panther는 AWS S3 또는 CloudWatch Logs를 통해 Amazon Web Services(AWS) CloudTrail 로그를 수집하는 것을 지원합니다. 추가 컨텍스트로 CloudTrail 로그를 보강하려면 TrailDiscover Enrichment Provider.
AWS CloudTrail 로그 비디오 안내
AWS CloudTrail 로그를 Panther에 온보딩하는 방법을 보여주는 안내 비디오
AWS CloudTrail 로그를 Panther에 온보딩하는 방법
CloudTrail 로그를 Panther로 가져오려면 데이터 전송 S3 또는 CloudWatch Logs 중 하나를 사용하여 설정을 시작해야 합니다.
스키마: AWS.CloudTrail
설명: AWSCloudTrail은 CloudTrail S3 객체의 내용을 나타냅니다.
참고URL: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference.html
필드:
- 이름: additionalEventData
설명: 요청 또는 응답의 일부가 아닌 이벤트에 대한 추가 데이터입니다.
유형: json
- name: apiVersion
설명: AwsApiCall eventType 값과 연결된 API 버전을 식별합니다.
type: string
- name: awsRegion
required: true
설명: 요청이 수행된 AWS 리전(예: us-east-2)을 나타냅니다.
type: string
- 이름: errorCode
설명: 요청이 오류를 반환한 경우의 AWS 서비스 오류입니다.
type: string
- 이름: errorMessage
설명: 요청이 오류를 반환한 경우 오류에 대한 설명입니다. 이 메시지에는 권한 오류에 대한 메시지도 포함됩니다. CloudTrail은 서비스의 예외 처리에서 기록된 메시지를 캡처합니다.
type: string
- 이름: eventID
required: true
설명: 각 이벤트를 고유하게 식별하기 위해 CloudTrail에서 생성한 GUID입니다. 이 값을 사용하여 단일 이벤트를 식별할 수 있습니다. 예를 들어, 검색 가능한 데이터베이스에서 로그 데이터를 검색하기 위한 기본 키로 이 ID를 사용할 수 있습니다.
type: string
- 이름: eventName
required: true
설명: 요청된 작업으로, 해당 서비스의 API에 있는 작업 중 하나입니다.
type: string
- 이름: eventSource
required: true
설명: 요청이 전송된 서비스입니다. 이 이름은 일반적으로 공백 없이 서비스 이름의 축약형에 .amazonaws.com을 붙인 형태입니다.
type: string
- 이름: eventTime
required: true
설명: 요청이 이루어진 날짜 및 시간(협정 세계시(UTC) 기준)입니다.
type: timestamp
timeFormats:
- rfc3339
isEventTime: true
- name: eventType
required: true
설명: '이 필드는 이벤트 레코드를 생성한 이벤트 유형을 식별합니다. 다음 값 중 하나일 수 있습니다: AwsApiCall, AwsServiceEvent, AwsConsoleSignIn'
type: string
- 이름: eventVersion
required: true
설명: 로그 이벤트 형식의 버전입니다.
type: string
- 이름: managementEvent
설명: '이벤트가 관리 이벤트인지 식별하는 부울 값입니다. eventVersion이 1.06 이상이고 이벤트 유형이 다음 중 하나인 경우 이벤트 레코드에 managementEvent가 표시됩니다: AwsApiCall, AwsConsoleAction, AwsConsoleSignIn, AwsServiceEvent'
유형: boolean
- 이름: readOnly
설명: 이 작업이 읽기 전용 작업인지 식별합니다.
유형: boolean
- 이름: recipientAccountId
설명: 이 이벤트를 받은 계정 ID를 나타냅니다. recipientAccountID는 CloudTrail userIdentity 요소의 accountId와 다를 수 있습니다. 이는 교차 계정 리소스 액세스에서 발생할 수 있습니다.
type: string
지표:
- aws_account_id
- 이름: requestID
설명: 요청을 식별하는 값입니다. 호출되는 서비스가 이 값을 생성합니다.
type: string
- 이름: requestParameters
설명: 요청과 함께 전송된 매개변수(있는 경우)입니다. 이러한 매개변수는 해당 AWS 서비스의 API 참조 문서에 문서화되어 있습니다.
유형: json
- name: resources
설명: 이벤트에서 액세스된 리소스 목록입니다.
type: array
element:
type: object
필드:
- name: arn
설명: 리소스의 ARN입니다
type: string
지표:
- aws_arn
- 이름: accountId
설명: 리소스 소유자의 계정 ID입니다
type: string
지표:
- aws_account_id
- 이름: type
설명: '다음 형식의 리소스 유형 식별자: AWS::aws-service-name::data-type-name'
type: string
- 이름: responseElements
설명: 상태를 변경하는 작업(생성, 업데이트 또는 삭제 작업)에 대한 응답 요소입니다. 작업이 상태를 변경하지 않는 경우(예: 객체를 가져오거나 나열하는 요청) 이 요소는 생략됩니다. 이러한 작업은 해당 AWS 서비스의 API 참조 문서에 문서화되어 있습니다.
유형: json
- 이름: serviceEventDetails
설명: 이벤트를 트리거한 원인과 결과를 포함하여 서비스 이벤트를 식별합니다.
유형: json
- 이름: sharedEventID
설명: 동일한 AWS 작업에서 발생하여 여러 AWS 계정으로 전송된 CloudTrail 이벤트를 고유하게 식별하기 위해 CloudTrail에서 생성한 GUID입니다.
type: string
- 이름: sourceIPAddress
설명: 요청이 이루어진 IP 주소입니다. 서비스 콘솔에서 시작된 작업의 경우 보고되는 주소는 콘솔 웹 서버가 아닌 기본 고객 리소스의 주소입니다. AWS 서비스의 경우 DNS 이름만 표시됩니다.
type: string
지표:
- 호스트명
- 이름: userAgent
설명: 요청이 수행된 에이전트(예: AWS Management Console, AWS 서비스, AWS SDK 또는 AWS CLI)입니다.
type: string
- 이름: userIdentity
required: true
설명: 요청을 수행한 사용자에 대한 정보입니다.
type: object
필드:
- 이름: type
설명: 식별자의 유형(Root, IAMUser, AssumedRole, Role, FederatedUser, Directory, AWSAccount, AWSService, IdentityCenterUser, Unknown, SAMLUser, WebIdentityUser)
type: string
- 이름: principalId
설명: 호출을 수행한 엔터티의 고유 식별자입니다
type: string
지표:
- actor_id
- name: arn
설명: 호출을 수행한 주체의 ARN입니다
type: string
지표:
- aws_arn
- 이름: accountId
설명: 요청에 대한 권한을 부여한 엔터티를 소유한 계정입니다
type: string
지표:
- aws_account_id
- name: accessKeyId
설명: 요청 서명에 사용된 액세스 키 ID입니다
type: string
지표:
- trace_id
- 이름: userName
설명: 호출을 수행한 식별자의 친숙한 이름입니다
type: string
지표:
- username
- 이름: sessionContext
설명: 임시 보안 자격 증명으로 요청이 수행된 경우 생성된 세션에 대한 정보를 제공합니다
type: object
필드:
- name: attributes
설명: 세션에 대한 속성입니다
type: object
필드:
- 이름: mfaAuthenticated
설명: 루트 사용자 또는 해당 자격 증명을 사용한 IAM 사용자가 MFA 장치로 인증한 경우 값은 'true'이며, 그렇지 않으면 'false'입니다
type: string
- 이름: creationDate
설명: 임시 보안 자격 증명이 발급된 날짜 및 시간입니다
type: timestamp
timeFormats:
- rfc3339
- 이름: sessionIssuer
설명: 세션을 발급한 엔터티에 대한 정보입니다
type: object
필드:
- 이름: type
설명: Root, IAMUser 또는 Role과 같이 임시 보안 자격 증명의 출처입니다
type: string
- 이름: principalId
설명: 자격 증명을 얻는 데 사용된 엔터티의 내부 ID입니다
type: string
지표:
- actor_id
- name: arn
설명: 임시 보안 자격 증명을 얻는 데 사용된 소스(계정, IAM 사용자 또는 역할)의 ARN입니다
type: string
지표:
- aws_arn
- 이름: accountId
설명: 자격 증명을 얻는 데 사용된 엔터티를 소유한 계정입니다
type: string
지표:
- aws_account_id
- 이름: userName
설명: 세션을 발급한 사용자 또는 역할의 친숙한 이름입니다. 표시되는 값은 sessionIssuer 식별자 유형에 따라 달라집니다
type: string
지표:
- username
- 이름: webIdFederationData
설명: 웹 아이덴티티 연합에 대한 정보입니다
type: object
필드:
- 이름: federatedProvider
설명: 아이덴티티 제공자의 주체 이름(예: Login with Amazon의 경우 www.amazon.com, Google의 경우 accounts.google.com)
type: string
지표:
- aws_arn
- name: attributes
설명: 제공자가 보고한 애플리케이션 ID 및 사용자 ID(예: Login with Amazon의 경우 www.amazon.com:app_id 및 www.amazon.com:user_id).
유형: json
- 이름: ec2RoleDelivery
설명: 자격 증명이 Amazon EC2 인스턴스 메타데이터 서비스 버전 1(IMDSv1)에서 제공된 경우 값은 '1.0'입니다. 자격 증명이 새 IMDS 스킴을 사용하여 제공된 경우 값은 '2.0'입니다
type: string
- 이름: sourceIdentity
설명: sourceIdentity 필드는 사용자가 작업을 수행하기 위해 IAM 역할을 맡을 때 이벤트에 나타납니다. sourceIdentity는 요청을 수행하는 원래 사용자 식별자를 식별하며, 해당 사용자의 식별자가 IAM 사용자, IAM 역할, SAML 기반 연합을 통해 인증된 사용자 또는 OpenID Connect(OIDC) 호환 웹 아이덴티티 연합을 통해 인증된 사용자인지 여부를 나타냅니다
type: string
- 이름: invokedBy
설명: 요청을 수행한 AWS 서비스의 이름(예: Amazon EC2 Auto Scaling 또는 AWS Elastic Beanstalk)
type: string
- 이름: identityProvider
설명: 외부 아이덴티티 제공자의 주체 이름입니다. SAMLUser 또는 WebIdentityUser 유형에만 존재합니다
type: string
- 이름: onBehalfOf
설명: 요청이 대신 수행된 IAM Identity Center 사용자에 대한 정보입니다
type: object
필드:
- name: userId
설명: 호출이 대신 수행된 IAM Identity Center 사용자의 ID입니다
type: string
- 이름: identityStoreArn
설명: 호출이 대신 수행된 IAM Identity Center 아이덴티티 스토어의 ARN입니다
type: string
지표:
- aws_arn
- 이름: inScopeOf
설명: 요청이 Lambda 또는 Amazon ECS와 같은 AWS 서비스의 범위 내에서 수행된 경우 요청과 관련된 리소스 또는 자격 증명에 대한 정보를 제공합니다
type: object
필드:
- 이름: sourceArn
설명: 서비스 간 요청을 호출한 리소스의 ARN입니다
type: string
지표:
- aws_arn
- 이름: sourceAccount
설명: sourceArn의 소유자 계정 ID입니다. sourceArn과 함께 나타납니다
type: string
지표:
- aws_account_id
- 이름: issuerType
설명: credentialsIssuedTo의 리소스 유형입니다. 예: AWS::Lambda::Function
type: string
- 이름: credentialsIssuedTo
설명: 자격 증명이 발급된 환경과 관련된 리소스입니다.
type: string
- 이름: credentialId
설명: 요청에 대한 자격 증명 ID입니다. 호출자가 IAM Identity Center 권한 부여 액세스 토큰과 같은 베어러 토큰을 사용하는 경우에만 설정됩니다
type: string
- 이름: vpcEndpointId
설명: 요청이 VPC에서 Amazon S3와 같은 다른 AWS 서비스로 전달된 VPC 엔드포인트를 식별합니다.
type: string
- 이름: eventCategory
설명: LookupEvents 호출에서 사용되는 이벤트 카테고리를 표시합니다.
type: string
- 이름: sessionCredentialFromConsole
설명: 이벤트가 AWS Management Console 세션에서 시작되었는지 여부를 표시합니다. false인 경우 이 필드는 없습니다
유형: boolean
- 이름: edgeDeviceDetails
설명: 요청 대상인 엣지 디바이스에 대한 정보를 표시합니다.
유형: json
- 이름: tlsDetails
설명: 서비스 API 호출에 대해 전송 계층 보안(TLS) 버전, 암호 모음 및 클라이언트가 제공한 호스트 이름의 정규화된 도메인 이름(FQDN)에 대한 정보를 표시합니다.
type: object
필드:
- 이름: tlsVersion
설명: 요청의 TLS 버전입니다.
type: string
- 이름: cipherSuite
설명: 요청에 사용된 암호 모음(사용된 보안 알고리즘의 조합)입니다.
type: string
- 이름: clientProvidedHostHeader
설명: 요청을 수행한 클라이언트의 정규화된 도메인 이름(FQDN)입니다.
type: string
- 이름: addendum
설명: 이벤트 전달이 지연되었거나 기존 이벤트에 대한 추가 정보가 이벤트 기록 후에 사용 가능해진 경우, 이 필드는 이벤트가 지연된 이유 또는 누락된 정보에 대한 정보를 표시합니다.
type: object
필드:
- 이름: reason
설명: 이벤트 또는 그 일부 콘텐츠가 누락된 이유입니다. 값은 DELIVERY_DELAY, UPDATED_DATA 또는 SERVICE_OUTAGE일 수 있습니다.
type: string
- 이름: updatedFields
설명: 보충(addendum)에 의해 업데이트된 이벤트 레코드 필드입니다. 이유가 UPDATED_DATA인 경우에만 제공됩니다.
type: string
- 이름: originalRequestID
설명: 요청의 원래 고유 ID입니다. 이유가 UPDATED_DATA인 경우에만 제공됩니다.
type: string
- 이름: originalEventID
설명: 원래 이벤트 ID입니다. 이유가 UPDATED_DATA인 경우에만 제공됩니다.
type: string
스키마: AWS.CloudTrailDigest
파서:
원본:
이름: AWS.CloudTrailDigest
설명: AWSCloudTrailDigest에는 지난 시간 동안 Amazon S3 버킷으로 전달된 로그 파일의 이름, 해당 로그 파일의 해시 값 및 이전 다이제스트 파일의 서명이 포함되어 있습니다.
참고URL: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-log-file-validation-digest-file-structure.html
버전: 0
필드:
- name: awsAccountId
required: true
설명: 다이제스트 파일이 전달된 AWS 계정 ID입니다.
type: string
지표:
- aws_account_id
- 이름: digestStartTime
required: true
설명: 다이제스트 파일이 다루는 시작 UTC 시간 범위로, CloudTrail이 로그 파일을 전달한 시간을 기준으로 합니다.
type: timestamp
시간 형식: rfc3339
- 이름: digestEndTime
required: true
설명: 다이제스트 파일이 다루는 종료 UTC 시간 범위로, CloudTrail이 로그 파일을 전달한 시간을 기준으로 합니다.
type: timestamp
시간 형식: rfc3339
isEventTime: true
- 이름: digestS3Bucket
required: true
설명: 현재 다이제스트 파일이 전달된 Amazon S3 버킷의 이름입니다.
type: string
- 이름: digestS3Object
required: true
설명: 현재 다이제스트 파일의 Amazon S3 객체 키(즉, Amazon S3 버킷 위치)입니다.
type: string
- 이름: newestEventTime
설명: 다이제스트에 포함된 로그 파일 내 모든 이벤트 중 가장 최근 이벤트의 UTC 시간입니다.
type: timestamp
시간 형식: rfc3339
- 이름: oldestEventTime
설명: 다이제스트에 포함된 로그 파일 내 모든 이벤트 중 가장 오래된 이벤트의 UTC 시간입니다.
type: timestamp
시간 형식: rfc3339
- 이름: previousDigestS3Bucket
설명: 이전 다이제스트 파일이 전달된 Amazon S3 버킷입니다.
type: string
- 이름: previousDigestS3Object
설명: 이전 다이제스트 파일의 Amazon S3 객체 키(즉, Amazon S3 버킷 위치)입니다.
type: string
- 이름: previousDigestHashValue
설명: 이전 다이제스트 파일의 비압축 내용에 대한 16진수 인코딩 해시 값입니다.
type: string
지표:
- sha256
- 이름: previousDigestHashAlgorithm
설명: 이전 다이제스트 파일을 해싱하는 데 사용된 해시 알고리즘의 이름입니다.
type: string
- 이름: previousDigestSignature
설명: 이전 다이제스트 파일의 16진수 인코딩 서명입니다.
type: string
- 이름: digestPublicKeyFingerprint
required: true
설명: 이 다이제스트 파일에 서명하는 데 사용된 개인 키에 대응하는 공개 키의 16진수 인코딩 지문입니다.
type: string
- 이름: digestSignatureAlgorithm
required: true
설명: 다이제스트 파일에 서명하는 데 사용된 알고리즘입니다.
type: string
- 이름: logFiles
required: true
설명: 이 다이제스트에 전달된 로그 파일들
type: array
element:
type: object
필드:
- 이름: s3Bucket
required: true
설명: 로그 파일의 Amazon S3 버킷 이름입니다.
type: string
- 이름: s3Object
required: true
설명: 현재 로그 파일의 Amazon S3 객체 키입니다.
type: string
- 이름: hashValue
required: true
설명: 비압축된 로그 파일 내용의 16진수 인코딩 해시 값입니다.
type: string
지표:
- sha256
- 이름: hashAlgorithm
required: true
설명: 로그 파일을 해싱하는 데 사용된 해시 알고리즘입니다.
type: string
- 이름: newestEventTime
required: true
설명: 로그 파일에 포함된 이벤트들 중 가장 최근 이벤트의 UTC 시간입니다.
type: timestamp
시간 형식: rfc3339
- 이름: oldestEventTime
required: true
설명: 로그 파일에 포함된 이벤트들 중 가장 오래된 이벤트의 UTC 시간입니다.
type: timestamp
시간 형식: rfc3339
스키마: AWS.CloudTrailInsight
파서:
원본:
이름: AWS.CloudTrailInsight
설명: AWSCloudTrailInsight는 CloudTrail Insight 이벤트 레코드 S3 객체의 내용을 나타냅니다.
참고URL: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference.html
버전: 0
필드:
- 이름: eventVersion
required: true
설명: 로그 이벤트 형식의 버전입니다.
type: string
- 이름: eventTime
required: true
설명: 요청이 이루어진 날짜 및 시간(협정 세계시(UTC) 기준)입니다.
type: timestamp
시간 형식: rfc3339
isEventTime: true
- name: awsRegion
required: true
설명: 요청이 수행된 AWS 리전(예: us-east-2)을 나타냅니다.
type: string
- 이름: eventId
required: true
설명: 각 이벤트를 고유하게 식별하기 위해 CloudTrail에서 생성한 GUID입니다. 이 값을 사용하여 단일 이벤트를 식별할 수 있습니다. 예를 들어, 검색 가능한 데이터베이스에서 로그 데이터를 검색하기 위한 기본 키로 이 ID를 사용할 수 있습니다.
type: string
- name: eventType
required: true
설명: '이 필드는 이벤트 레코드를 생성한 이벤트 유형을 식별합니다. 다음 값 중 하나일 수 있습니다: AwsApiCall, AwsServiceEvent, AwsConsoleSignIn'
type: string
- 이름: recipientAccountId
설명: 이 이벤트를 받은 계정 ID를 나타냅니다. recipientAccountID는 CloudTrail userIdentity 요소의 accountId와 다를 수 있습니다. 이는 교차 계정 리소스 액세스에서 발생할 수 있습니다.
type: string
지표:
- aws_account_id
- 이름: sharedEventId
required: true
설명: Insights 이벤트를 고유하게 식별하기 위해 CloudTrail Insights에서 생성한 GUID입니다. sharedEventID는 시작 및 종료 Insights 이벤트 간에 공통입니다.
type: string
지표:
- trace_id
- 이름: insightDetails
required: true
설명: 이벤트 소스, 통계, API 이름 및 해당 이벤트가 Insights 이벤트의 시작인지 종료인지를 포함하여 Insights 이벤트의 근본적인 트리거에 대한 정보를 표시합니다.
type: object
필드:
- 이름: state
required: true
설명: 이벤트가 인사이트의 시작인지 종료인지를 표시합니다(비정상 활동의 시작 또는 종료). 값은 Start 또는 End입니다.
type: string
- 이름: eventSource
required: true
설명: 비정상 활동이 감지된 AWS API입니다.
type: string
- 이름: eventName
required: true
설명: 비정상 활동이 감지된 AWS API입니다.
type: string
- 이름: insightType
required: true
설명: Insights 이벤트의 유형입니다. 값은 ApiCallRateInsight입니다.
type: string
- 이름: insightContext
설명: 해당 Insights 이벤트를 트리거한 호출률과 주 대상 API에 대한 정상적인 호출률(분당)을 비교한 데이터입니다.
type: object
필드:
- 이름: statistics
설명: 계정의 해당 API에 대한 일반적인 평균 호출률, Insights 이벤트를 트리거한 호출률 및 인사이트 이벤트의 지속 시간(분)을 포함한 데이터를 담는 컨테이너입니다.
type: object
필드:
- 이름: baseline
설명: 특정 AWS 리전 내에서 계정이 해당 API에 대해 가지는 일반적인 평균 호출률을 표시합니다.
type: object
필드:
- 이름: average
설명: 인사이트 메트릭의 평균 값입니다
type: float
- 이름: insight
설명: Insights 이벤트 로그를 트리거하는 해당 API에 대한 비정상적인 호출률을 표시합니다.
type: object
필드:
- 이름: average
설명: 인사이트 메트릭의 평균 값입니다
type: float
- 이름: insightDuration
설명: Insights 이벤트의 지속 시간(해당 API에서 비정상 활동의 시작부터 종료까지의 기간, 분 단위)입니다. insightDuration은 종료 Insights 이벤트에서만 발생합니다.
type: float
- 이름: eventCategory
required: true
설명: LookupEvents 호출에서 사용되는 이벤트 카테고리를 표시합니다. Insights 이벤트에서는 값이 insight입니다.
type: string