AWS CloudTrail 로그 수집
이 문서에서는 Google Security Operations 피드를 설정하여 AWS CloudTrail 로그를 수집하는 방법과 로그 필드가 Google SecOps 통합 데이터 모델 (UDM) 필드에 매핑되는 방식을 설명합니다.
자세한 내용은 [Google SecOps에 데이터 수집][1]을 참고하세요.
일반적인 배포는 AWS CloudTrail 및 Google SecOps에 로그를 전송하도록 구성된 Google SecOps 피드로 구성됩니다. 배포가 이 문서에 설명된 일반적인 배포와 다를 수 있습니다. 배포에는 다음 구성요소가 포함됩니다.
AWS CloudTrail: 로그를 수집하는 플랫폼입니다.
AWS S3: 로그를 저장하는 플랫폼입니다.
Google SecOps 피드: AWS S3에서 로그를 가져오고 로그를 Google SecOps에 작성하는 Google SecOps 피드입니다.
Google SecOps: AWS CloudTrail의 로그를 보관하고 분석하는 플랫폼입니다.
수집 라벨은 원시 로그 데이터를 구조화된 UDM 형식으로 정규화하는 파서를 식별합니다. 이 문서의 정보는 AWS_CLOUDTRAIL
수집 라벨이 있는 파서에 적용됩니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- AWS 계정
- AWS CloudTrail 사용을 위한 기본 요건을 충족해야 합니다. 자세한 내용은 AWS CloudTrail 설정을 참고하세요.
- 배포 아키텍처의 모든 시스템이 UTC 시간대를 사용합니다.
SQS를 사용하여 S3에서 로그를 수집하는 기본 단계
이 섹션에서는 AWS CloudTrail 로그를 Google SecOps 인스턴스로 수집하기 위한 기본 단계를 설명합니다. 이 단계에서는 Amazon SQS와 함께 Amazon S3를 피드 소스 유형으로 사용하여 이를 수행하는 방법을 설명합니다.
AWS CloudTrail 및 S3 구성
이 절차에서는 AWS CloudTrail 로그가 S3 버킷에 기록되도록 구성합니다.
- AWS 콘솔에서 CloudTrail을 검색합니다.
- 트레일 만들기를 클릭합니다.
- 추적 이름을 제공합니다.
- 새 S3 버킷 만들기를 선택합니다. 기존 S3 버킷을 사용하도록 선택할 수도 있습니다.
- AWS KMS 별칭 이름을 입력하거나 기존 AWS KMS 키를 선택합니다.
- 다른 설정을 기본값으로 두고 다음을 클릭합니다.
- 이벤트 유형을 선택하고 필요에 따라 데이터 이벤트를 추가한 후 다음을 클릭합니다.
- 검토 및 만들기에서 설정을 검토하고 트레일 만들기를 클릭합니다.
- AWS 콘솔에서 Amazon S3 버킷을 검색합니다.
- 새로 만든 로그 버킷을 클릭하고 AWSLogs 폴더를 선택합니다. 그런 다음 S3 URI 복사를 클릭하고 다음 단계에서 사용할 수 있도록 저장합니다.
Standard SQS Queue 및 SNS 설정
SQS 큐를 사용하는 경우 FIFO 큐가 아닌 표준 큐여야 합니다.
- AWS CloudTrail을 사용 설정하고 새 트레일 또는 기존 트레일을 사용하여 로그를 S3 버킷에 전송하도록 구성합니다.
- AWS SNS 콘솔을 열고 새 표준 주제를 만듭니다. 이름을 지정합니다(예: CloudTrail-Notification-Topic
AWS SQS 콘솔을 사용하여 SQS 큐를 만듭니다(예: CloudTrail-Notification-Queue를 만들고 SNS 주제 ARN이 메시지를 보낼 수 있도록 액세스 정책을 업데이트합니다. SQS 큐를 만드는 방법에 대한 자세한 내용은 Amazon SQS 시작하기를 참조하세요.
SQS 정책 스니펫 예시:
{ "Version": "2012-10-17", "Id": `PolicyForSNS`, "Statement": [ { "Sid": "AllowSNS", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:CloudTrail-Notification-Queue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:REGION:ACCOUNT_ID:CloudTrail-Notification-Topic"} } } ] }
SNS 주제 → 구독 → 구독 만들기로 이동하여 프로토콜을 SQS로, 엔드포인트를 SQS 큐의 ARN으로 설정합니다.
CloudTrail은 기본적으로 새 로그를 SNS로 푸시하지 않습니다. 알림을 사용 설정하려면 관리 이벤트를 위한 CloudTrail 이벤트 선택기를 사용하거나 CloudWatch Logs와의 CloudTrail 통합을 사용한 다음 SNS 주제를 타겟으로 설정하여 알림을 트리거하는 CloudWatch 이벤트 규칙을 만드세요. 자세한 내용은 S3 버킷에 알림 설정하기를 참고하세요.
이벤트 패턴의 예:
{ "source": ["aws.s3"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventName": ["PutObject"], "requestParameters": { "bucketName": [`CloudTrail-Notification-Topic`] } } }
IAM 역할 또는 정책이 CloudWatch Events에서 SNS에 게시하도록 허용하고 SNS가 SQS에 메시지를 전송하도록 허용하는지 확인합니다.
AWS IAM 사용자 구성
SQS 큐 (사용된 경우) 및 S3 버킷 모두에 액세스하기 위해 Google SecOps에 사용될 AWS IAM 사용자를 구성합니다.
- AWS 콘솔에서 IAM을 검색합니다.
- 사용자를 클릭한 후 다음 화면에서 사용자 만들기를 클릭합니다.
- 사용자 이름(예: chronicle-feed-user)을 입력하고 AWS Management Console에 대한 사용자 액세스 권한 제공을 선택합니다.
- 기존 정책 직접 연결을 선택하고 필요에 따라 AmazonS3ReadOnlyAccess 또는 AmazonS3FullAccess를 선택합니다. Google SecOps가 AWS S3 스토리지 비용을 최적화하기 위해 로그를 읽은 후 S3 버킷을 지워야 하는 경우 AmazonS3FullAccess가 사용됩니다.
- 이전 단계에 대한 권장 대안으로 커스텀 정책을 생성하여 지정된 S3 버킷에 대한 액세스만 추가로 제한할 수 있습니다. 정책 만들기를 클릭하고 AWS 문서에 따라 커스텀 정책을 만듭니다.
- 정책을 적용할 때
sqs:DeleteMessage
가 포함되었는지 확인합니다.sqs:DeleteMessage
권한이 SQS 큐에 연결되지 않았으면 Google SecOps가 메시지를 삭제할 수 없습니다. 모든 메시지가 AWS 측에 누적되어 Google SecOps가 동일한 파일을 전송하려고 반복적으로 시도할 때 지연이 발생합니다. - 다음:태그를 클릭합니다.
- 필요한 경우 태그를 추가하고 다음: 검토를 클릭합니다.
- 구성을 검토하고 사용자 만들기를 클릭합니다.
- 사용자가 생성되면 보안 사용자 인증 정보 탭으로 이동하여 액세스 키 만들기를 클릭합니다.
- CLI를 선택하고 다음:태그를 클릭합니다.
- 필요한 경우 태그를 추가한 다음 액세스 키 만들기: 검토를 클릭합니다.
- 다음 단계에서 사용하도록 생성된 사용자의 액세스 키 ID 및 보안 비밀 액세스 키를 복사합니다.
KMS 키 권한 구성
서버 측에서 암호화된 CloudTrail 로그를 복호화하려면 KMS 키가 필요합니다. AWS KMS는 Amazon S3에 저장된 민감한 정보에 향상된 암호화 및 보안을 제공합니다.
- AWS 콘솔에서 키 관리 서비스 (KMS)를 검색합니다.
- 키 만들기:다음을 클릭합니다.
- 키의 별칭을 추가합니다. 필요한 경우 설명과 태그를 추가합니다(선택사항). 다음: 검토를 클릭합니다.
- 구성을 검토한 후 다음을 클릭합니다.
- 이 키에 액세스할 수 있는 주요 사용자를 선택한 다음 완료를 클릭합니다.
피드 설정
Google SecOps 플랫폼에서 피드를 설정하는 방법은 두 가지입니다.
- SIEM 설정 > 피드 > 새로 추가
- 콘텐츠 허브 > 콘텐츠 팩 > 시작하기
AWS CloudTrail 피드를 설정하는 방법
- Amazon Cloud Platform 팩을 클릭합니다.
- AWS CloudTrail 로그 유형에서 다음 값을 지정합니다.
다음 필드의 값을 지정합니다.
- 소스 유형: Amazon SQS V2
- Queue Name: 읽어올 SQS 큐 이름
- S3 URI: 버킷 URI입니다.
s3://your-log-bucket-name/
your-log-bucket-name
을 실제 S3 버킷 이름으로 바꿉니다.
소스 삭제 옵션: 수집 환경설정에 따라 삭제 옵션을 선택합니다.
최대 파일 기간: 지난 일수 동안 수정된 파일을 포함합니다. 기본값은 180일입니다.
SQS 대기열 액세스 키 ID: 20자리 영숫자 문자열인 계정 액세스 키입니다.
SQS 대기열 보안 비밀 액세스 키: 40자로 된 영숫자 문자열인 계정 액세스 키입니다.
고급 옵션
- 피드 이름: 피드를 식별하는 미리 채워진 값입니다.
- 애셋 네임스페이스: 피드와 연결된 네임스페이스입니다.
- 수집 라벨: 이 피드의 모든 이벤트에 적용되는 라벨입니다.
피드 만들기를 클릭합니다.
이 제품군 내에서 다양한 로그 유형에 대해 여러 피드를 구성하는 방법에 관한 자세한 내용은 제품별 피드 구성을 참고하세요.
지원되는 AWS CloudTrail 로그 유형
AWS CloudTrail 파서는 다음 서비스를 지원합니다.
- apigateway.amazonaws.com
- appconfig.amazonaws.com
- autoscaling.amazonaws.com
- cloud9.amazonaws.com
- cloudsearch.amazonaws.com
- cloudshell.amazonaws.com
- cloudtrail.amazonaws.com
- config.amazonaws.com
- devicefarm.amazonaws.com
- ds.amazonaws.com
- dynamodb.amazonaws.com
- ec2-instance-connect.amazonaws.com
- ec2.amazonaws.com
- ecr-public.amazonaws.com
- ecr.amazonaws.com
- ecs.amazonaws.com
- eks.amazonaws.com
- elasticache.amazonaws.com
- elasticloadbalancing.amazonaws.com
- firehose.amazonaws.com
- guardduty.amazonaws.com
- health.amazonaws.com
- iam.amazonaws.com
- imagebuilder.amazonaws.com
- kinesis.amazonaws.com
- kinesisanalytics.amazonaws.com
- kinesisvideo.amazonaws.com
- kms.amazonaws.com
- lambda.amazonaws.com
- logs.amazonaws.com
- macie2.amazonaws.com
- monitoring.amazonaws.com
- network-firewall.amazonaws.com
- organizations.amazonaws.com
- quicksight.amazonaws.com
- ram.amazonaws.com
- rds.amazonaws.com
- resource-explorer-2.amazonaws.com
- resource-groups.amazonaws.com
- route53-recovery-readiness.amazonaws.com
- route53.amazonaws.com
- route53domains.amazonaws.com
- route53resolver.amazonaws.com
- s3-outposts.amazonaws.com
- s3.amazonaws.com
- s3express.amazonaws.com
- secretsmanager.amazonaws.com
- securityhub.amazonaws.com
- ses.amazonaws.com
- signin.amazonaws.com
- ssm.amazonaws.com
- sts.amazonaws.com
- waf-regional.amazonaws.com
- waf.amazonaws.com
- wafv2.amazonaws.com
필드 매핑 및 UDM 매핑에 대한 자세한 내용은 AWS Cloudtrail 필드 매핑을 참고하세요.
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.