CloudTrail
•
관리형 이벤트 추적 / 감사 도구
•
AWS 계정에 대한 이벤트 추적 / 감사
•
AWS 리소스 API에 대한 이벤트 추적 / 기록
•
단일 리전 추적 / 모든 리전 추적
•
AWS Athena 를 통한 로그 분석 지원
•
기본적으로 확성화는 되어있지만 최대 90일밖에 저장하지 않음
•
AWS Console, CLI, SDK 및 API에서 수행한 작업을 CloudTrail의 이벤트(event)라는 것으로 기록된다.
•
각 이벤트는 거의 15분 안에 CloudTrail에 기록된다.
•
로그는 90일간 저장된다.
CloudTrail로 얻을 수 있는 Log 종류
1.
Management events (관리 이벤트) ...유저의 로그인, EC2의 작성 등
•
EC2 인스턴스를 작성 및 조작
•
S3 버킷 작성
•
IAM 리소스의 작성과 관리
•
Routing Table 규칙 작성
2.
Data events (데이터 이벤트) ...S3 Object에 관한 조작, Lambda 함수의 실행 등
•
S3 object-level의 API 활동
◦
S3 object를 지우거나 가져오는 명령어 (DeleteOject, GetObject, PutObject)
•
Lambda 함수의 실행 (InvokeFunction API)
•
Amazo DynamoDB table에 관한 API 실행
3.
Insight events (인사이트 이벤트) ... 평소와 다른 조작
•
관리 이벤트(Management events)의 분석
•
비정상적인 활동을 감지하고 검출
•
CloudTrail의 로그는Trail(트레일)에 등록함으로써 S3 버킷에 저장할 수 있다.
•
S3 버킷에 저장하면 90일이 지나도 로그를 보관할 수 있다.
Event History
•
기록된 로그에는 다음과 같은 정보를 포함한다.
•
각 이벤트는 날짜나 누가 API를 요청했는지 등에 따라서 필터링 가능하다.
•
이벤트 정보(Event Information)
◦
EventName : 수행된 AWS 작업의 이름.
◦
EventTime : 작업이 수행된 시간과 날짜.
◦
EventSource : 작업을 실행한 AWS 서비스의 이름.
◦
기타 등등
•
AWS 계정 (AWS Account)
◦
Username : 작업을 수행한 IAM 사용자 또는 Role의 이름 또는
•
클라이언트 정보 (Client)
◦
UserAgent : API 호출한 클라이언트 애플리케이션의 정보.
◦
SourceIPAddress : API 호출한 클라이언트의 IP 주소.
•
리소스 정보(Resource Information)
◦
ResourceType : 작업의 대상이 되는 AWS 리소스의 유형.
◦
ResourceName : 작업이 수행된 AWS 리소스의 이름 또는 식별자.
•
요청 및 응답 정보(Request and Response Information)
◦
RequestMethod : API 호출에 사용된 HTTP 요청 메서드(GET, POST 등).
◦
기타 등등
분석
•
CloudTrail 로그에 대한 Athena 활용 분석 혹은 CloudTrail Lake를 사용할 수 있음
CloudTrail Insights
•
CloudTrail에서 기록한 로그를 AWS측에서 기계학습을 시켜서, 평소와 다른 Unusual API Activities(비정상인 API 활동)를 탐지하여 검출해주는 기능이다.
•
예를 들어, CloudTrail Insights는 나의 계정에서 평소와 달리 많은 EC2 인스턴스가 기동 된 것을 탐지해 준다.
Trails (추적) S3 버킷에 저장
•
CloudTrail의 로그는 "Trails"에 등록함으로써 S3 버킷에 저장할 수 있다.
•
S3 버킷에 로그를 저장하면 90일을 초과하여 CloudTrail 로그를 보관할 수 있다.
•
아래는 Trails 등록 화면이다.
•
S3 버킷을 선택한다.
•
Management events, Insights event 및 Data event에 대해서는 기록할지 여부를 선택한다.
•
S3에 저장되는 로그의 내용은 JSON 형식으로 출력되며, gz 형식으로 압축된다.
•
저장할 때는 Amazon KMS(Key Management Service)를 이용해 암호화하는 것도 가능하다.
CloudWatch Logs 등록
•
CloudTrail에서 CloudWatch Logs로 로그 송신을 활성화하면 CloudTrail 이벤트 로그를 CloudWatch Logs에 보낼 수 있다.
•
이렇게 하면 AWS 리소스에서 발생한 API 호출을 실시간으로 모니터링하고, CloudWatch에서 로그 분석이나 알림 설정을 통해 더 효율적으로 관리할 수 있다.







