Amazon AWS S3 REST API 프로토콜 구성 옵션

Amazon AWS S3 REST API 프로토콜은 Amazon S3 버킷에서 AWS CloudTrail 로그를 수집하는 활성 아웃바운드 프로토콜입니다.

참고: 사용자 정의 DSM 또는 기타 지원되지 않는 통합과 함께 사용하기 위해 Amazon S3 에서 로그를 수집할 때 데이터가 누락되지 않도록 하는 것이 중요합니다. S3 API가 데이터를 리턴하는 방법 때문에 전체 경로가 나열될 때 모든 파일은 알파벳순으로 증가하는 순서로 되어 있어야 합니다. 전체 경로 이름에 ISO9660 형식(모든 필드의 앞에 0(영)이 있는 YYYY-MM-DD 날짜 형식)의 전체 날짜 및 시간이 포함되어 있는지 확인하십시오.

다음 파일 경로를 생각해 보십시오.

<Name>test-bucket</Name><Prefix>MyLogs/</Prefix><Marker>MyLogs/2018-8-9/2018-08-09T23-5925.955097.log.g</Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated></ListBucketResult>

마커에 있는 파일의 전체 이름은 MyLogs/2018-8-9/2018-08-09T23-59-25.955097.log.gz이고 폴더 이름은 2018-08-09 대신 2018-8-9로 기록됩니다. 이 날짜 형식을 사용하면 2018년 9월 10일에 대한 데이터가 제공될 때 문제가 발생합니다. 정렬될 때 날짜는 2018-8-10으로 표시되고 파일은 시간순으로 정렬되지 않습니다.

2018-10-1

2018-11-1

2018-12-31

2018-8-10

2018-8-9

2018-9-1

2018년 8월 9일에 대한 데이터가 IBM QRadar에 입력된 후에는 날짜 형식에서 선행 0이 사용되지 않으므로 2018년 9월 1일까지 데이터가 다시 표시되지 않습니다. 9월 이후에는 2019년까지 데이터가 다시 표시되지 않습니다. 선행 0(영)이 날짜(ISO 9660)에 사용되므로 이 문제가 발생하지 않습니다.

선행 0(영)을 사용하면 파일 및 폴더가 시간순으로 정렬됩니다.

2018-08-09

2018-08-10

2018-09-01

2018-10-01

2018-11-01

2018-12-01

2018-12-31
제한사항:

로그 소스는 하나의 지역에서만 데이터를 검색할 수 있으므로 각 지역에 대해 다른 로그 소스를 사용하십시오. 디렉토리 접두부 이벤트 콜렉션 메소드를 사용하여 로그 소스를 구성할 때 Directory Prefix 값의 파일 경로에 리젼 폴더 이름을 포함하십시오.

다음 표에는 디렉토리 접두어 수집 방법 또는 SQS 이벤트 수집 방법을 사용하여 감사 이벤트를 수집하는 데 필요한 공통 매개변수 값이 설명되어 있습니다. 이 수집 방법에서는 Amazon AWS S3 REST API 프로토콜을 사용합니다.
표 1. Amazon AWS S3 디렉토리 접두부 메소드 또는 SQS 메소드가 있는 REST API 프로토콜 공통 로그 소스 매개변수
매개변수 설명
프로토콜 구성 Amazon AWS S3 REST API
로그 소스 ID

로그 소스의 고유 이름을 입력하십시오.

로그 소스 ID는 임의의 유효값일 수 있으며 특정 서버를 참조하지 않아도 됩니다. 로그 소스 ID로그 소스 이름과 동일한 값일 수 있습니다. DSM마다 둘 이상의 구성된 로그 소스가 있는 경우 각각에 고유한 이름을 제공해야 합니다.

인증 메소드
액세스 키 ID/비밀 키
어디서든 사용할 수 있는 표준 인증입니다.
보안 신임 정보 구성에 대한 자세한 정보는 AWS 사용자 계정에 대한 보안 신임 정보 구성을 참조하십시오.
EC2 인스턴스 IAM 역할
관리 호스트가 AWS EC2 인스턴스에서 실행 중인 경우 이 옵션을 선택하면 인증을 위해 인스턴스에 지정된 인스턴스 메타데이터의 IAM 역할을 사용합니다. 키가 필요하지 않습니다. 이 방법은 AWS EC2 컨테이너에서 실행 중인 관리 호스트의 경우에만 작동합니다.
액세스 키

AWS 사용자 계정에 대한 보안 신임 정보를 구성할 때 생성된 액세스 키 ID입니다.

액세스 키 ID/비밀키 또는 IAM 역할 가정을 선택한 경우 액세스 키 매개변수가 표시됩니다.

시크릿 키

AWS 사용자 계정에 대한 보안 신임 정보를 구성할 때 생성된 비밀 키입니다.

액세스 키 ID/비밀키 또는 IAM 역할 가정을 선택한 경우 비밀 키 매개변수가 표시됩니다.

IAM 역할 가정 액세스 키 또는 EC2 인스턴스 IAM 역할로 인증하여 이 옵션을 사용으로 설정하십시오. 그런 다음 액세스를 위해 IAM 역할을 임시로 가정할 수 있습니다.
가정 역할 ARN 가정할 역할의 전체 ARN입니다. arn: 로 시작해야 하며 ARN내에 선행 또는 후행 공백 또는 공백을 포함할 수 없습니다.

IAM 역할 가정을 사용으로 설정한 경우 역할 가정 ARN 매개변수가 표시됩니다.

역할 세션 이름 가정 가정할 역할의 세션 이름입니다. 기본값은 QRadarAWSSession입니다. 이를 변경할 필요가 없으면 기본값으로 두십시오. 이 매개변수에는 대소문자 영숫자 문자, 밑줄 또는 다음 문자만 사용할 수 있습니다. =,.@-

IAM 역할 가정을 사용으로 설정한 경우 역할 가정 세션 이름 매개변수가 표시됩니다.

역할 외부 ID 가정 다른 계정에서 역할을 가정해야 하는 ID입니다. 역할이 속한 계정의 관리자로부터 이 값을 얻습니다.

이 값은 비밀번호 문구, GUID 또는 계정 번호와 같은 문자열일 수 있습니다.

자세한 정보는 AWS 리소스에 대한 액세스 권한을 써드파티에 부여할 때 외부 ID를 사용하는 방법 (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) 을 참조하십시오.

IAM 역할 가정을 사용으로 설정한 경우 역할 외부 ID 가정 매개변수가 표시됩니다.

S3 수집 방법
SQS Event Notifications
선택한 S3 폴더에 구성된 ObjectCreated 알림을 포함하는 SQS 큐를 폴링합니다. 그런 다음 S3 버킷의 알림에서 참조되는 파일을 다운로드하고 처리하십시오. 단일 큐 또는 별도의 큐를 사용하여 여러 버킷 및 계정을 포함할 수 있습니다. 이 결정은 구성에 따라 다릅니다.

자세한 정보는 표 3을 참조하십시오.

특정 접두부 사용
지정된 폴더 내의 로그가 처리됩니다. CloudTrail 로그 소스의 경우 접두부는 단일 계정 또는 지역 전용이어야 합니다. 기타 로그 소스의 경우, 접두부는 각 파일 이름의 시작 부분에 ISO8601 시간소인이 있는 파일을 포함하는 단일 디렉토리를 가리켜야 합니다. 각 파일 이름의 시간소인은 프로토콜이 이 메소드를 사용하여 새 이벤트를 수집하는지 확인합니다.

자세한 정보는 표 2를 참조하십시오.

지역 이름 SQS 큐 또는 AWS S3 버킷이 있는 지역입니다.

예: us-east-1, eu-west-1, ap-northeast-3

이벤트 형식 파일에 포함된 이벤트의 형식을 선택하십시오.
AWS CloudTrail JSON
Amazon Cloud Trail에 대한 JSON 형식 이벤트를 포함하는 파일 (.json.gz 파일만 해당).
LINEBYLINE
라인당 하나의 레코드를 포함하는 원시 로그 파일. gzip (.gz 또는 .gzip) 및 zip (.zip) 을 사용한 압축이 지원됩니다.
AWS VPC 플로우 로그
AWS 원시/OCSF VPC 플로우 로그를 포함하는 파일 (.txt.gz 또는 gz.parquet 파일만 해당). 이 옵션은 플로우를 QRadar네트워크 보기 탭으로 보냅니다. 출력이 플로우 데이터이므로 구성된 로그 소스에 마지막 이벤트 표시 시간 이 표시되지 않습니다.
AWS 네트워크 방화벽 로그
AWS 네트워크 방화벽 경보 또는 플로우 로그를 포함하는 파일입니다. 이 옵션은 플로우 로그를 네트워크 보기 탭으로 보내고 경보 로그를 QRadar로그 보기 탭에 이벤트로 보냅니다. Amazon AWS Network Firewall DSM은 로그를 구문 분석합니다.
팁: 시스템에 플로우에 대한 라이센스가 없는 경우 DSM이 AWS 네트워크 방화벽 로그를 구문 분석할 수 있도록 LINEBYLINE 프로세서를 사용하십시오.
W3C
Cisco Cloud Web Services DSM과 함께 사용하기 위한 것입니다 (.gz 파일만 해당).
Cisco 보호 CSV
Cisco Umbrella DSM과 함께 사용됩니다 (.gz 파일만 해당).
Apache Parquet
Apache Parquet 파일을 JSON 이벤트로 변환하려면 이 옵션을 선택하십시오 (.gz.parquet.parquet 파일만 해당).
플로우 대상 호스트 이름 VPC 플로우 또는 AWS 네트워크 방화벽 플로우 로그가 전송되는 플로우 프로세서 호스트 이름입니다.

이벤트 형식 매개변수에서 AWS VPC 플로우 로그 또는 AWS 네트워크 방화벽 을 선택하는 경우 이 매개변수를 구성할 수 있습니다.

플로우 대상 포트 VPC 플로우 또는 AWS 네트워크 방화벽 플로우 로그가 전송되는 플로우 프로세서 포트입니다.

이벤트 형식 매개변수에서 AWS VPC 플로우 로그 또는 AWS 네트워크 방화벽 을 선택하는 경우 이 매개변수를 구성할 수 있습니다.

게이트웨이 로그 소스로 사용

수집된 이벤트가 QRadar 트래픽 분석 엔진을 통해 플로우되고 QRadar 가 하나 이상의 로그 소스를 자동으로 발견하도록 하려면 이 옵션을 선택하십시오.

이 옵션을 선택하면 로그 소스 ID 패턴 을 선택적으로 사용하여 처리 중인 이벤트에 대한 사용자 정의 로그 소스 ID 를 정의할 수 있습니다.

로그 소스 ID 패턴

게이트웨이 로그 소스로 사용을 선택한 경우, 처리 중인 이벤트에 대한 사용자 정의 로그 소스 ID를 정의하고 적용 가능한 경우 자동으로 발견되는 로그 소스에 대해 사용자 정의 로그 소스 ID를 정의할 수 있습니다. 로그 소스 ID 패턴을 구성하지 않으면 QRadar 는 알 수 없는 일반 로그 소스로 이벤트를 수신합니다.

키-값 쌍을 사용하여 사용자 정의 로그 소스 ID를 정의하십시오. 키는 ID 형식 문자열이며 이는 결과로 생성되는 소스 또는 오리진 값입니다. 값은 현재 페이로드를 평가하는 데 사용되는 연관된 정규식 패턴입니다. 이 값은 키를 추가로 사용자 정의하는 데 사용할 수 있는 캡처 그룹도 지원합니다.

새로운 행에 각각의 패턴을 입력하여 여러 키-값 쌍을 정의하십시오. 여러 패턴은 나열되는 순서대로 평가됩니다. 일치하는 내용을 발견하면 사용자 정의 로그 소스 ID가 표시됩니다.

다음 예제에서는 다중 키-값 쌍 함수를 보여줍니다.
패턴
VPC=\sREJECT\sFAILURE
$1=\s(REJECT)\sOK
VPC-$1-$2=\s(ACCEPT)\s(OK)
이벤트
{LogStreamName: LogStreamTest,Timestamp: 0,Message: ACCEPT OK,IngestionTime: 0,EventId: 0}
결과로 생성되는 사용자 정의 로그 소스 ID
VPC-ACCEPT-OK
예측 구문 분석 사용 이 매개변수를 사용으로 설정하면 알고리즘이 모든 이벤트에 대해 정규식을 실행하지 않고 이벤트에서 로그 소스 ID 패턴을 추출하여 구문 분석 속도를 높입니다.
팁: 드문 상황에서 알고리즘이 잘못된 예측을 할 수 있습니다. 높은 이벤트 비율을 수신할 것으로 예상되고 더 빠른 구문 분석이 필요한 로그 소스 유형에 대해서만 예측 구문 분석을 사용으로 설정하십시오.
고급 옵션 표시 이벤트 데이터를 사용자 정의하려면 이 옵션을 선택하십시오.
파일 패턴

이 옵션은 고급 옵션 표시가 예로 설정된 경우 사용 가능합니다.

가져오려는 파일과 일치하는 파일 패턴의 정규식을 입력하십시오 (예: .*?\.json\.gz).

로컬 디렉토리

이 옵션은 고급 옵션 표시가 예로 설정된 경우 사용 가능합니다.

대상 이벤트 콜렉터의 로컬 디렉토리입니다. 이 디렉토리는 AWS S3 REST API 프로토콜이 이벤트 검색을 시도하기 전에 존재해야 합니다.

S3 엔드포인트 URL

이 옵션은 고급 옵션 표시가 예로 설정된 경우 사용 가능합니다.

AWS S3 REST API를 조회하는 데 사용되는 엔드포인트 URL입니다.

엔드포인트 URL이 기본값과 다른 경우 엔드포인트 URL을 입력하십시오. 기본값은 https://s3.amazonaws.com입니다.

S3 경로 스타일 액세스 사용

S3 요청이 경로 스타일 액세스를 사용하도록 강제 실행합니다.

이 메소드는 AWS에서 더 이상 사용되지 않습니다. 그러나 기타 S3 호환 가능 API를 사용하는 경우에 필요할 수 있습니다. 예를 들어, 버킷 이름에 마침표 (.) 가 포함된 경우 https://s3.region.amazonaws.com/bucket-name/key-name 경로 스타일이 자동으로 사용됩니다. 따라서 이 옵션은 필수는 아니지만 사용할 수 있습니다.

프록시 사용

QRadar 가 프록시를 사용하여 Amazon Web Service에 액세스하는 경우 프록시 사용을 사용으로 설정하십시오.

프록시에 인증이 필요한 경우 프록시 서버, 프록시 포트, 프록시 사용자 이름프록시 비밀번호 필드를 구성하십시오.

프록시에 인증이 필요하지 않은 경우 프록시 IP 또는 호스트 이름 필드를 구성하십시오.

반복

새 데이터를 스캔하기 위해 수행되는 폴링 빈도입니다.

SQS 이벤트 수집 방법을 사용하는 경우 SQS 이벤트 알림의 최소값은 10(초)입니다. SQS 큐 폴링이 더 자주 발생할 수 있기 때문에 더 낮은 값을 사용할 수 있습니다.

디렉토리 접두어 이벤트 수집 방법을 사용하는 경우 특정 접두어 사용의 최소값은 60(초) 또는 1M입니다. AWS S3 버킷에 대한 모든 listBucket 요청은 버킷을 소유하는 계정에 비용을 발생시키므로 반복 값이 작을수록 비용이 증가합니다.

새 데이터에 대해 폴링이 수행되는 빈도를 판별할 시간 간격을 입력하십시오. 시간 간격에는 시간(H), 분(M) 또는 일(D) 단위의 값이 포함될 수 있습니다. 예를 들어, 2H = 2시간, 15M = 15분, 30 = 30초입니다.

EPS 제한

QRadar 가 수집하는 초당 최대 이벤트 수입니다.

데이터 소스가 EPS 제한을 초과하면 데이터 콜렉션이 지연됩니다. 데이터는 여전히 수집된 후 데이터 소스가 EPS 제한을 초과하는 것을 중지할 때 수집됩니다.

기본값은 5000입니다.

다음 표에는 디렉토리 접두어 이벤트 수집 방법을 사용하여 감사 이벤트를 수집하는 데 필요한 특정 매개변수 값이 설명되어 있습니다.

표 2. 디렉토리 접두부 메소드가 있는 Amazon AWS S3 REST API 프로토콜 로그 소스 특정 매개변수
매개변수 설명
S3 수집 방법 특정 접두부 사용을 선택하십시오.
버킷 이름

로그 파일이 저장되는 AWS S3 버킷의 이름입니다.

디렉토리 접두어

CloudTrail 로그가 검색되는 AWS S3 버킷의 루트 디렉토리 위치입니다 (예: AWSLogs/<AccountNumber>/CloudTrail/<RegionName>/).

버킷의 루트 디렉토리에서 파일을 가져오려면 디렉토리 접두부 파일 경로에서 슬래시 (/) 를 사용해야 합니다.

참고:
  • 디렉토리 접두어 값을 변경하면 지속된 파일 마커가 지워집니다. 다음에 가져올 때 새 접두어와 일치하는 모든 파일이 다운로드됩니다.
  • 디렉토리 접두어 파일 경로는 버킷의 루트에서 데이터를 수집하는 데 슬래시 (/) 만 사용하는 경우가 아니면 슬래시로 시작할 수 없습니다.
  • 디렉토리 접두어 파일 경로를 사용하여 폴더를 지정하는 경우에는 슬래시로 파일 경로를 시작해서는 안 됩니다(예: folder1/folder2를 대신 사용).

다음 표에는 SQS 이벤트 수집 방법을 사용하여 감사 이벤트를 수집하기 위해 특정 값이 필요한 매개변수가 설명되어 있습니다.

표 3. SQS 메소드를 사용하는 Amazon AWS S3 REST API 프로토콜 로그 소스 특정 매개변수
매개변수 설명
S3 수집 방법 SQS 이벤트 알림을 선택하십시오.
SQS 큐 URL S3에서 ObjectCreated 이벤트에 대한 알림을 수신하도록 설정되는 SQS 큐의 https://로 시작하는 전체 URL입니다.