AWS Session Manager 로그 수집
이 문서에서는 AWS Session Manager 로그를 Google Security Operations로 수집하는 방법을 설명합니다. AWS Session Manager는 Amazon EC2 인스턴스 및 온프레미스 서버에 대한 안전하고 감사 가능한 액세스를 제공합니다. 로그를 Google SecOps에 통합하면 보안 상태를 개선하고 원격 액세스 이벤트를 추적할 수 있습니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- AWS에 대한 액세스 권한
AWS IAM 및 S3 구성
- 이 사용자 가이드(버킷 만들기)에 따라 Amazon S3 버킷을 만듭니다.
- 나중에 사용할 수 있도록 버킷 이름 과 리전 을 저장합니다.
- 이 사용자 가이드(IAM 사용자 만들기)에 따라 사용자를 만듭니다.
- 만든 사용자 를 선택합니다.
- 보안용 사용자 인증 정보 탭을 선택합니다.
- 액세스 키 섹션에서 액세스 키 만들기 를 클릭합니다.
- 사용 사례 로 서드 파티 서비스 를 선택합니다.
- 다음 을 클릭합니다.
- 선택사항: 설명 태그를 추가합니다.
- 액세스 키 만들기 를 클릭합니다.
- CSV 파일 다운로드를 클릭하여 나중에 사용할 수 있도록 액세스 키와 보안 비밀 액세스 키를 저장합니다.
- 완료 를 클릭합니다.
- 권한 탭을 선택합니다.
- 권한 정책 섹션에서 권한 추가 를 클릭합니다.
- 권한 추가 를 선택합니다.
- 정책 직접 연결 을 선택합니다.
- AmazonS3FullAccess 정책을 검색하고 선택합니다.
- 다음 을 클릭합니다.
- 권한 추가 를 클릭합니다.
AWS Session Manager를 구성하여 S3에 로그를 저장하는 방법
- AWS Systems Manager 콘솔로 이동합니다.
- 탐색창에서 Session Manager 를 선택합니다.
- 환경설정 탭을 클릭합니다.
- 수정 을 클릭합니다.
- S3 로깅에서 사용 설정 체크박스를 선택합니다.
- 암호화된 S3 버킷만 허용 체크박스를 선택 해제합니다.
- 세션 로그 데이터를 저장하기 위해 계정에서 이미 생성된 Amazon S3 버킷을 선택합니다.
- 세션 로그 데이터를 저장하기 위해 계정에서 이미 생성된 Amazon S3 버킷의 이름을 입력합니다.
- 저장 을 클릭합니다.
피드 설정
Google SecOps 플랫폼에서 피드를 설정하는 진입점은 두 가지입니다.
- SIEM 설정 > 피드 > 새 피드 추가
- 콘텐츠 허브 > 콘텐츠 팩 > 시작하기
AWS Session Manager 피드를 설정하는 방법
- Amazon Cloud Platform 팩을 클릭합니다.
- AWS Session Manager 로그 유형을 찾습니다.
다음 필드에 값을 지정합니다.
- 소스 유형: Amazon SQS V2
- 큐 이름: 읽을 SQS 큐 이름
- S3 URI: 버킷 URI.
s3://your-log-bucket-name/your-log-bucket-name을 실제 S3 버킷 이름으로 바꿉니다.
소스 삭제 옵션: 수집 환경설정에 따라 삭제 옵션을 선택합니다.
최대 파일 기간: 지난 며칠 동안 수정된 파일을 포함합니다. 기본값은 180일입니다.
SQS 큐 액세스 키 ID: 20자의 영숫자 문자열인 계정 액세스 키입니다.
SQS 큐 보안 비밀 액세스 키: 40자의 영숫자 문자열인 계정 액세스 키입니다.
고급 옵션
- 피드 이름: 피드를 식별하는 미리 채워진 값입니다.
- 애셋 네임스페이스: 피드와 연결된 네임스페이스입니다.
- 수집 라벨: 이 피드의 모든 이벤트에 적용되는 라벨입니다.
피드 만들기 를 클릭합니다.
이 제품군 내에서 여러 로그 유형에 대해 여러 피드를 구성하는 방법에 대한 자세한 내용은 제품별 피드 구성을 참고하세요.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 논리 |
|---|---|---|
--cid |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
--collector.filesystem.ignored-mount-points |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
--collector.vmstat.fields |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
--message-log |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
--name |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
--net |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
--path.procfs |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
--path.rootfs |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
--path.sysfs |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
-v /:/rootfs:ro |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
-v /proc:/host/proc |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
-v /sys:/host/sys |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
CID |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
ERROR |
security_result.severity | grok 패턴 일치를 사용하여 로그 메시지에서 추출됩니다. |
falconctl |
metadata.description | 로그에 있는 경우 설명 필드의 일부 |
ip-1-2-4-2 |
principal.ip | grok 패턴 일치를 사용하여 로그 메시지에서 추출되고 표준 IP 주소 형식으로 변환됩니다. |
ip-1-2-8-6 |
principal.ip | grok 패턴 일치를 사용하여 로그 메시지에서 추출되고 표준 IP 주소 형식으로 변환됩니다. |
java |
target.process.command_line | grok 패턴 일치를 사용하여 로그 메시지에서 추출됩니다. |
Jun13 |
metadata.event_timestamp.seconds | 로그에 있는 경우 타임스탬프 필드의 일부로 month_date 및 time_stamp 필드와 결합됩니다. |
[kworker/u16:8-kverityd] |
target.process.command_line | grok 패턴 일치를 사용하여 로그 메시지에서 추출됩니다. |
root |
principal.user.userid | grok 패턴 일치를 사용하여 로그 메시지에서 추출됩니다. |
| metadata.event_type | 다른 필드의 존재 및 값을 기반으로 결정됩니다. - src_ip가 있는 경우 "STATUS_UPDATE" - src_ip와 dest_ip가 모두 있는 경우 'NETWORK_CONNECTION' - user_id가 있는 경우 'USER_UNCATEGORIZED' - 그렇지 않은 경우 'GENERIC_EVENT' |
|
| metadata.log_type | 'AWS_SESSION_MANAGER'로 설정됩니다. | |
| metadata.product_name | 'AWS Session Manager'로 설정됩니다. | |
| metadata.vendor_name | 'Amazon'으로 설정됩니다. | |
| target.process.pid | grok 패턴 일치를 사용하여 로그 메시지에서 추출됩니다. |
변경 로그
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.