AWS(Amazon Web Services) 서비스 로그 커넥터는 CloudTrail 관리 및 데이터 로그용 레거시 커넥터와 S3 버킷에서 로그를 가져와서 다음 AWS 서비스에서 로그를 수집할 수 있는 새 버전(AWS 설명서에 대한 링크)의 두 가지 버전으로 제공됩니다.
- Amazon VPC(Virtual Private Cloud) - VPC 흐름 로그
- Amazon GuardDuty - 결과
- AWS CloudTrail - 관리 및 데이터 이벤트
- AWS CloudWatch - CloudWatch 로그
이 탭에서는 다음 두 가지 방법 중 하나를 사용하여 AWS S3 커넥터를 구성하는 방법을 설명합니다.
필수 조건
Microsoft Sentinel 작업 영역에 대한 쓰기 권한이 있어야 합니다.
Microsoft Sentinel의 콘텐츠 허브 에서 Amazon Web Services 솔루션을 설치합니다. 자세한 내용은 Microsoft Sentinel 기본 제공 콘텐츠 검색 및 관리를 참조하세요.
컴퓨터에 PowerShell 및 AWS CLI를 설치합니다(자동 설치 전용).
- PowerShell에 대한 설치 지침
- AWS CLI에 대한 설치 지침 (AWS 설명서)
선택한 AWS 서비스의 로그가 Microsoft Sentinel에서 허용하는 형식을 사용하는지 확인합니다.
- Amazon VPC: 헤더가 있는 GZIP 형식의 파일 .csv; 구분 기호: 공백.
- Amazon GuardDuty: json-line 및 GZIP 형식입니다.
- AWS CloudTrail: .json 파일은 GZIP 형식입니다.
- CloudWatch: .csv 파일을 헤더 없이 GZIP 형식으로. 로그를 이 형식으로 변환해야 하는 경우 이 CloudWatch 람다 함수를 사용할 수 있습니다.
자동 설정
온보딩 프로세스를 간소화하기 위해 Microsoft Sentinel은 필요한 AWS 리소스, 자격 증명 및 권한인 커넥터의 AWS 쪽 설정을 자동화하는 PowerShell 스크립트 를 제공했습니다.
스크립트:
AWS에 Microsoft Entra ID 사용자를 인증하기 위해 OIDC 웹 ID 공급자를 만듭니다. 웹 ID 공급자가 이미 있는 경우 스크립트는 Microsoft Sentinel을 기존 공급자에 대상 그룹으로 추가합니다.
필요한 최소한의 권한으로 IAM 맡은 역할을 만들어 지정된 S3 버킷 및 SQS 큐에서 OIDC 인증 사용자에게 로그에 대한 액세스 권한을 부여합니다.
지정된 AWS 서비스가 해당 S3 버킷에 로그를 보내고 해당 SQS 큐에 알림 메시지를 보낼 수 있도록 합니다.
필요한 경우 이 목적을 위해 해당 S3 버킷과 해당 SQS 큐를 만듭니다.
필요한 모든 IAM 권한 정책을 구성하고 위에서 만든 IAM 역할에 적용합니다.
Azure Government 클라우드의 경우, 특수 스크립트는 별도의 OIDC 웹 ID 공급자를 생성하며, 해당 공급자에 IAM이 맡은 역할을 할당합니다.
지시
스크립트를 실행하여 커넥터를 설정하려면 다음 단계를 사용합니다.
Microsoft Sentinel 탐색 메뉴에서 데이터 커넥터를 선택합니다.
데이터 커넥터 갤러리에서 Amazon Web Services S3 을 선택합니다.
커넥터가 표시되지 않으면 Microsoft Sentinel의 콘텐츠 허브 에서 Amazon Web Services 솔루션을 설치합니다.
커넥터의 세부 정보 창에서 커넥터 페이지 열기를 선택합니다.
구성 섹션의 1 아래에 있습니다. AWS 환경을 설정하고PowerShell 스크립트를 사용하여 설치 프로그램을 확장합니다(권장).
화면의 지침에 따라 커넥터 페이지에서 AWS S3 설치 스크립트 (링크에서 기본 설정 스크립트 및 도우미 스크립트가 포함된 zip 파일을 다운로드)를 다운로드하고 추출합니다.
비고
AWS 로그를 Azure Government 클라우드에 수집하려면 대신 이 특수 AWS S3 Gov 설정 스크립트를 다운로드하여 추출합니다.
스크립트를 실행하기 전에 PowerShell 명령줄에서 명령을 실행하고
aws configure
프롬프트에 따라 관련 정보를 입력합니다. AWS 명령줄 인터페이스 참조 | 자세한 내용은 AWS 설명서의 구성 기본 사항입니다.이제 스크립트를 실행합니다. 커넥터 페이지에서 명령을 복사하고("스크립트를 실행하여 환경 설정" 아래) 명령줄에 붙여넣습니다.
이 스크립트는 작업 영역 ID를 입력하라는 메시지를 표시합니다. 이 ID는 커넥터 페이지에 나타납니다. 복사하여 스크립트의 프롬프트에 붙여넣습니다.
스크립트 실행이 완료되면 스크립트의 출력에서 Role ARN 및 SQS URL을 복사하여(아래 첫 번째 스크린샷 예제 참조) 커넥터 페이지의 해당 필드에 연결 추가 아래에 붙여넣습니다(아래 두 번째 스크린샷 참조).
대상 테이블 드롭다운 목록에서 데이터 형식을 선택합니다. 이렇게 하면 수집하기 위해 이 연결을 설정하는 AWS 서비스의 로그와 수집된 데이터를 저장하는 Log Analytics 테이블을 커넥터에 알릴 수 있습니다. 연결 추가를 선택합니다.
비고
스크립트 실행을 완료하는 데 최대 30분이 걸릴 수 있습니다.
수동 설치
자동 설치 스크립트를 사용하여 이 커넥터를 배포하는 것이 좋습니다. 어떤 이유로든 이 편리성을 활용하지 않으려는 경우 아래 단계에 따라 커넥터를 수동으로 설정합니다.
Microsoft Sentinel에 AWS 로그를 수집하도록 Amazon Web Services 환경 설정에 설명된 대로 AWS 환경을 설정합니다.
AWS 콘솔에서 다음을 수행합니다.
IAM(ID 및 액세스 관리) 서비스를 입력하고 역할 목록으로 이동합니다. 위에서 만든 역할을 선택합니다.
클립보드에 ARN 을 복사합니다.
단순 큐 서비스를 입력하고, 만든 SQS 큐를 선택하고, 큐의 URL을 클립보드에 복사합니다.
Microsoft Sentinel의 탐색 메뉴에서 데이터 커넥터를 선택합니다.
데이터 커넥터 갤러리에서 Amazon Web Services S3 을 선택합니다.
커넥터가 표시되지 않으면 Microsoft Sentinel의 콘텐츠 허브 에서 Amazon Web Services 솔루션을 설치합니다. 자세한 내용은 Microsoft Sentinel 기본 제공 콘텐츠 검색 및 관리를 참조하세요.
커넥터의 세부 정보 창에서 커넥터 페이지 열기를 선택합니다.
2. 연결 추가:
- 두 단계 전에 복사한 IAM 역할 ARN을 추가할 역할 필드에 붙여넣습니다.
- 마지막 단계에서 복사한 SQS 큐의 URL을 SQS URL 필드에 붙여넣습니다.
- 대상 테이블 드롭다운 목록에서 데이터 형식을 선택합니다. 이렇게 하면 수집하기 위해 이 연결을 설정하는 AWS 서비스의 로그와 수집된 데이터를 저장하는 Log Analytics 테이블을 커넥터에 알릴 수 있습니다.
- 연결 추가를 선택합니다.
알려진 문제 및 문제 해결
알려진 문제
서로 다른 유형의 로그는 동일한 S3 버킷에 저장할 수 있지만 동일한 경로에 저장해서는 안 됩니다.
각 SQS 큐는 메시지의 한 유형을 가리킵니다. GuardDuty 결과 및 VPC 흐름 로그를 수집하려면 각 형식에 대해 별도의 큐를 설정합니다.
단일 SQS 큐는 S3 버킷에서 하나의 경로만 제공할 수 있습니다. 로그를 여러 경로에 저장하는 경우 각 경로에는 고유한 전용 SQS 큐가 필요합니다.
문제 해결
Amazon Web Services S3 커넥터 문제를 해결하는 방법을 알아봅니다.
람다 함수를 사용하여 형식이 지정된 CloudWatch 이벤트를 S3에 보내기(선택 사항)
CloudWatch 로그가 Microsoft Sentinel에서 수락하는 형식(헤더가 없는 GZIP 형식의 .csv 파일)이 아닌 경우 AWS 내에서 람다 함수 소스 코드 보기를 사용하여 CloudWatch 이벤트를 수락되는 형식으로 S3 버킷으로 전송합니다.
람다 함수는 Python 3.9 런타임 및 x86_64 아키텍처를 사용합니다.
람다 함수를 배포하려면 다음을 수행합니다.
AWS 관리 콘솔에서 람다 서비스를 선택합니다.
함수 만들기를 선택합니다.
함수의 이름을 입력하고 Python 3.9를 런타임으로 선택하고 아키텍처로 x86_64를 선택합니다.
함수 만들기를 선택합니다.
레이어 선택에서 레이어를 선택하고 추가를 선택합니다.
사용 권한을 선택하고 실행 역할에서 역할 이름을 선택합니다.
권한 정책에서 권한 추가>정책 연결을 선택합니다.
AmazonS3FullAccess 및 CloudWatchLogsReadOnlyAccess 정책을 검색하고 연결합니다.
함수로 돌아가서 코드를 선택하고 코드 소스 아래에 코드 링크를 붙여넣습니다.
매개 변수의 기본값은 환경 변수를 사용하여 설정됩니다. 필요한 경우 코드에서 직접 이러한 값을 수동으로 조정할 수 있습니다.
배포를 선택한 다음, 테스트를 선택합니다.
필수 필드를 입력하여 이벤트를 만듭니다.
테스트를 선택하여 이벤트가 S3 버킷에 표시되는 방식을 확인합니다.
다음 단계
이 문서에서는 AWS 리소스에 연결하여 Microsoft Sentinel에 로그를 수집하는 방법을 알아보았습니다. Microsoft Sentinel에 대해 자세히 알아보려면 다음 문서를 참조하세요.
- 데이터 및 잠재적 위협에 대한 가시성을 얻는 방법을 알아봅니다.
- Microsoft Sentinel을 사용하여 위협 탐지를 시작합니다.
- 통합 문서를 사용하여 데이터를 관리하고 분석합니다.