Google Security Operations에 AWS 로그 수집
이 문서에서는 AWS CloudTrail 로그 및 문맥 데이터를 Google Security Operations로 수집하는 구성 단계를 자세히 설명합니다. 이 단계는 AWS GuardDuty, AWS VPC Flow, AWS CloudWatch, AWS Security Hub와 같은 다른 AWS 서비스의 로그 수집에도 적용됩니다.
이벤트 로그를 수집하기 위해 이 구성은 CloudTrail 로그를 Amazon Simple Storage Service(Amazon S3) 버킷으로 전달하고, 선택적으로 Amazon Simple Queue Service(Amazon SQS) 큐를 사용하여 전달합니다. Amazon SQS 큐를 사용하는 경우 Google Security Operations는 Amazon SQS 큐로 전송된 Amazon S3 알림을 읽고 해당 파일을 Amazon S3 버킷에서 가져옵니다. 이는 사실상 Amazon S3 피드의 푸시 기반 버전이며 처리량을 늘리는 데 사용할 수 있습니다.
이 문서의 첫 번째 부분에서는 Amazon S3를 피드 소스 유형으로 사용하거나, 선택적으로 Amazon SQS와 함께 Amazon S3를 피드 소스 유형으로 사용하기 위한 간단한 단계를 제공합니다. 두 번째 부분에서는 Amazon S3를 피드 소스 유형으로 사용하기 위한 스크린샷이 포함된 보다 자세한 단계를 제공합니다. Amazon SQS 사용은 두 번째 부분에서 다루지 않습니다. 3부에서는 호스트, 서비스, VPC 네트워크, 사용자에 대한 AWS 문맥 데이터를 수집하는 방법에 대한 정보를 제공합니다.
SQS를 사용하여 S3 또는 S3에서 로그를 수집하는 기본 단계
이 섹션에서는 AWS CloudTrail 로그를 Google Security Operations 인스턴스로 수집하기 위한 기본 단계를 설명합니다. 이 단계에서는 Amazon S3를 피드 소스 유형으로 사용하거나 선택적으로 Amazon SQS와 함께 Amazon S3를 피드 소스 유형으로 사용하여 이를 수행하는 방법을 설명합니다.
AWS CloudTrail 및 S3 구성
이 절차에서는 AWS CloudTrail 로그가 S3 버킷에 기록되도록 구성합니다.
- AWS 콘솔에서 CloudTrail을 검색합니다.
- 추적 만들기를 클릭합니다.
- 추적 이름을 제공합니다.
- 새 S3 버킷 만들기를 선택합니다. 기존 S3 버킷을 사용하도록 선택할 수도 있습니다.
- AWS KMS 별칭 이름을 입력하거나 기존 AWS KMS 키를 선택합니다.
- 다른 설정은 기본값으로 두고 다음을 클릭합니다.
- 이벤트 유형을 선택하고 필요에 따라 데이터 이벤트를 추가한 후 다음을 클릭합니다.
- 검토 및 만들기의 설정을 검토하고 추적 만들기를 클릭합니다.
- AWS 콘솔에서 Amazon S3 버킷을 검색합니다.
- 새로 생성된 로그 버킷을 클릭하고 AWSLogs 폴더를 선택합니다. 그런 다음 S3 URI 복사를 클릭하고 다음 단계에서 사용할 수 있도록 저장합니다.
SQS 큐 만들기
원하는 경우 SQS 큐를 사용할 수 있습니다. SQS 큐를 사용하는 경우 FIFO 큐가 아닌 표준 큐여야 합니다.
SQS 큐 만들기에 대한 자세한 내용은 Amazon SQS 시작하기를 참조하세요.
SQS 큐에 대한 알림 설정
SQS 큐를 사용하는 경우 SQS 큐에 쓰도록 S3 버킷에 알림을 설정합니다. 액세스 정책을 연결해야 합니다.
AWS IAM 사용자 구성
SQS 큐(사용된 경우) 및 S3 버킷 모두에 액세스하기 위해 Google Security Operations에 사용될 AWS IAM 사용자를 구성합니다.
- AWS 콘솔에서 IAM을 검색합니다.
- 사용자를 클릭한 후 다음 화면에서 사용자 추가를 클릭합니다.
- 사용자 이름(예: chronicle-feed-user)을 입력하고 AWS 사용자 인증 정보 유형 선택을 액세스 키 - 프로그래매틱 액세스로 선택한 후 다음: 권한을 클릭합니다.
- 다음 단계에서 기존 정책 직접 연결을 선택하고 필요에 따라 AmazonS3ReadOnlyAccess 또는 AmazonS3FullAccess를 선택합니다. Google Security Operations가 AWS S3 스토리지 비용을 최적화하기 위해 로그를 읽은 후 S3 버킷을 지워야 하는 경우 AmazonS3FullAccess가 사용됩니다.
- 이전 단계에 대한 권장 대안으로 커스텀 정책을 생성하여 지정된 S3 버킷에 대한 액세스만 추가로 제한할 수 있습니다. 정책 만들기를 클릭하고 AWS 문서에 따라 커스텀 정책을 만듭니다.
- 정책을 적용할 때
sqs:DeleteMessage
가 포함되었는지 확인합니다.sqs:DeleteMessage
권한이 SQS 큐에 연결되지 않았으면 Google Security Operations가 메시지를 삭제할 수 없습니다. 모든 메시지가 AWS 측에 누적되어 Google Security Operations가 동일한 파일을 전송하려고 반복적으로 시도할 때 지연이 발생합니다. - 다음: 태그를 클릭합니다.
- 필요한 경우 태그를 추가하고 다음: 검토를 클릭합니다.
- 구성을 검토하고 사용자 만들기를 클릭합니다.
- 다음 단계에서 사용하도록 생성된 사용자의 액세스 키 ID 및 보안 비밀 액세스 키를 복사합니다.
피드 만들기
위 절차를 완료한 후 Amazon S3 버킷의 AWS 로그를 Google Security Operations 인스턴스로 수집하는 피드를 만듭니다. SQS 큐도 사용하는 경우 다음 절차에서 소스 유형에 Amazon S3 대신 Amazon SQS를 선택합니다.
피드를 만들려면 다음 안내를 따르세요.
- 탐색 메뉴에서 설정, SIEM 설정, 피드를 차례로 선택합니다.
- 피드 페이지에서 새로 추가를 클릭합니다.
- 피드 추가 대화상자에서 소스 유형 대화상자를 사용하여 Amazon S3 또는 Amazon SQS를 선택합니다.
- 로그 유형 메뉴에서 AWS CloudTrail(또는 다른 AWS 서비스)을 선택합니다.
- 다음을 클릭합니다.
- 필드에 피드의 입력 매개변수를 입력합니다.
소스 유형이 Amazon S3인 경우:- 리전을 선택하고 이전에 복사한 Amazon S3 버킷의 S3 URI를 제공합니다. 또한 다음을 사용하여 S3 URI를 추가할 수 있습니다.
다음 예시와 같이 Google Security Operations는 특정 날짜에 대해서만 로그를 매번 검색합니다.{{datetime("yyyy/MM/dd")}}
s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
- URI IS A에서 하위 디렉터리 포함 디렉터리를 선택합니다. 소스 삭제 옵션에서 적절한 옵션을 선택합니다. 이 권한은 이전에 만든 IAM 사용자 계정의 권한과 일치해야 합니다.
- 이전에 만든 IAM 사용자 계정의 액세스 키 ID 및 보안 비밀 액세스 키를 제공합니다.
- 리전을 선택하고 이전에 복사한 Amazon S3 버킷의 S3 URI를 제공합니다. 또한 다음을 사용하여 S3 URI를 추가할 수 있습니다.
- 다음, 마침을 차례로 클릭합니다.
S3에서 로그를 수집하는 세부 단계
AWS CloudTrail(또는 기타 서비스) 구성
다음 단계를 완료하여 AWS CloudTrail 로그를 구성하고 이전 절차에서 만든 AWS S3 버킷에 이러한 로그를 기록하도록 지시합니다.
- AWS 콘솔에서 CloudTrail을 검색합니다.
추적 만들기를 클릭합니다.
추적 이름을 제공합니다.
새 S3 버킷 만들기를 선택합니다. 기존 S3 버킷을 사용하도록 선택할 수도 있습니다.
AWS KMS 별칭 이름을 입력하거나 기존 AWS KMS 키를 선택합니다.
다른 설정은 기본값으로 두고 다음을 클릭합니다.
이벤트 유형을 선택하고 필요에 따라 데이터 이벤트를 추가한 후 다음을 클릭합니다.
검토 및 만들기의 설정을 검토하고 추적 만들기를 클릭합니다.
AWS 콘솔에서 Amazon S3 버킷을 검색합니다.
새로 생성된 로그 버킷을 클릭하고 AWSLogs 폴더를 선택합니다. 그런 다음 S3 URI 복사를 클릭하고 다음 단계에서 사용할 수 있도록 저장합니다.
AWS IAM 사용자 구성
이 단계에서는 Google Security Operations에서 AWS에서 로그 피드를 가져오는 데 사용할 AWS IAM 사용자를 구성합니다.
AWS 콘솔에서 IAM을 검색합니다.
사용자를 클릭한 후 다음 화면에서 사용자 추가를 클릭합니다.
사용자 이름(예: chronicle-feed-user)을 입력하고 AWS 사용자 인증 정보 유형 선택을 액세스 키 - 프로그래매틱 액세스로 선택한 후 다음: 권한을 클릭합니다.
다음 단계에서 기존 정책 직접 연결을 선택하고 필요에 따라 AmazonS3ReadOnlyAccess 또는 AmazonS3FullAccess를 선택합니다. Google Security Operations가 AWS S3 스토리지 비용을 최적화하기 위해 로그를 읽은 후 S3 버킷을 지워야 하는 경우 AmazonS3FullAccess가 사용됩니다. 다음: 태그를 클릭합니다.
이전 단계에 대한 권장 대안으로 커스텀 정책을 생성하여 지정된 S3 버킷에 대한 액세스만 추가로 제한할 수 있습니다. 정책 만들기를 클릭하고 AWS 문서에 따라 커스텀 정책을 만듭니다.
필요한 경우 태그를 추가하고 다음: 검토를 클릭합니다.
구성을 검토하고 사용자 만들기를 클릭합니다.
다음 단계에서 사용하도록 생성된 사용자의 액세스 키 ID 및 보안 비밀 액세스 키를 복사합니다.
Google Security Operations의 AWS 로그를 수집하도록 피드 구성
- Google Security Operations 설정으로 이동하고 피드를 클릭합니다.
- 새로 추가를 클릭합니다.
- 소스 유형에 Amazon S3를 선택합니다.
- 로그 유형에 AWS CloudTrail(또는 기타 AWS 서비스)을 선택합니다.
- 다음을 클릭합니다.
리전을 선택하고 이전에 복사한 Amazon S3 버킷의 S3 URI를 제공합니다. 또한 다음을 사용하여 S3 URI를 추가할 수 있습니다.
{{datetime("yyyy/MM/dd")}}
다음 예시와 같이 Google Security Operations는 특정 날짜에 대해서만 로그를 매번 검색합니다.
s3://aws-cloudtrail-logs-XXX-1234567/AWSLogs/1234567890/CloudTrail/us-east-1/{{datetime("yyyy/MM/dd")}}/
URI IS A 아래에서 하위 디렉터리 포함 디렉터리를 선택합니다. 소스 삭제 옵션에서 적절한 옵션을 선택합니다. 이는 이전에 만든 IAM 사용자 계정의 권한과 일치해야 합니다.
이전에 만든 IAM 사용자 계정의 액세스 키 ID 및 보안 비밀 액세스 키를 제공합니다.
다음, 마침을 차례로 클릭합니다.
AWS 문맥 데이터 수집 단계
AWS 항목(예: 호스트, 인스턴스, 사용자)에 대한 문맥 데이터를 수집하기 위해 설명 및 수집 라벨별로 나열된 다음 각 로그 유형에 대한 피드를 만듭니다.
- AWS EC2 호스트(
AWS_EC2_HOSTS
) - AWS EC2 인스턴스(
AWS_EC2_INSTANCES
) - AWS EC2 VPCS(
AWS_EC2_VPCS
) - AWS Identity and Access Management(IAM)(
AWS_IAM
)
위에 나열된 각 로그 유형에 대해 피드를 만들려면 다음을 수행합니다.
- 탐색 메뉴에서 설정, SIEM 설정, 피드를 차례로 선택합니다.
- 피드 페이지에서 새로 추가를 클릭합니다. 피드 추가 대화상자가 표시됩니다.
- 소스 유형 메뉴에서 타사 API를 선택합니다.
- 로그 유형 메뉴에서 AWS EC2 호스트를 선택합니다.
- 다음을 클릭합니다.
- 필드에 피드의 입력 매개변수를 입력합니다.
- 다음을 클릭한 후 마침을 클릭합니다.
각 로그 유형의 피드 설정에 대한 자세한 내용은 다음 피드 관리 문서를 참조하세요.
- AWS EC2 호스트(
AWS_EC2_HOSTS
) - AWS EC2 인스턴스(
AWS_EC2_INSTANCES
) - AWS EC2 VPCS(
AWS_EC2_VPCS
) - AWS Identity and Access Management(IAM)(
AWS_IAM
)
피드 만들기에 대한 일반적인 정보는 피드 관리 사용자 가이드 또는 피드 관리 API를 참조하세요.