aws 금융 클라우드 진단홈카탈로그진단 항목 전체ap-northeast-2 · 3820-1174-9265
클라우드 관리체계 보안 취약점 평가기준 (퍼블릭 클라우드) / 5. 운영 관리 / 5.3 정보처리시스템 보호대책
PISM-013접근 로그 수집 기능 활성화 여부
위험도 5기술적 보안CloudTrail평가 구분: 관리체계, 스크립트
시스템 또는 네트워크 경계에서 수집되는 접근 로그 기능이 활성화되어 있으며, 사용자 요청 이력 및 행동 추적이 가능한지 여부를 점검합니다.
1. 점검 대상 확인
2. CLI 진단
3. 양호/취약 판정
4. 조치 · 재확인
방법 1AWS Management Console 경로
CloudTrail → 추적 → 대상 트레일 선택 → 일반 세부 정보에서 추적 로깅 · 다중 리전 추적 · 로그 파일 검증 설정 확인
콘솔은 화면이 자주 바뀝니다. 실제 점검에서는 아래 CLI(방법 2) 로 증적을 남기는 편이 재현성이 높습니다.
방법 2AWS CLI 진단
아래 명령을 눌러 실행하거나, 직접 입력해 보세요. 응답은 실제 AWS CLI 출력 형식을 따릅니다.
$ aws sts get-caller-identity
{
"UserId": "AIDA4XQ7N2VZK3RJTPLWE",
"Account": "382011749265",
"Arn": "arn:aws:iam::382011749265:user/audit-readonly"
}
진단 계정으로 로그인되었습니다. 아래 명령을 실행해 점검을 시작하세요.
판정이 환경은 양호합니까, 취약합니까?
평가기준의 판단 근거는 명령 출력입니다. 먼저 위에서 명령을 실행해 출력을 확인하세요.
🛠️ 조치 방법
기존 트레일을 다중 리전 + 로그 파일 검증으로 갱신하고, 개인정보·거래정보가 담긴 버킷에 대해 데이터 이벤트를 추가합니다. 데이터 이벤트는 과금되므로 전체가 아니라 중요 버킷만 지정하는 것이 실무입니다.
# 1) 다중 리전 + 로그 파일 검증 활성화
$ aws cloudtrail update-trail --name fin-audit-trail \
--is-multi-region-trail \
--enable-log-file-validation
# 2) 중요 버킷에 대한 데이터 이벤트 추가 (관리 이벤트는 유지)
$ aws cloudtrail put-event-selectors --trail-name fin-audit-trail \
--advanced-event-selectors '[
{"Name":"Management","FieldSelectors":[
{"Field":"eventCategory","Equals":["Management"]}]},
{"Name":"S3-PII-Objects","FieldSelectors":[
{"Field":"eventCategory","Equals":["Data"]},
{"Field":"resources.type","Equals":["AWS::S3::Object"]},
{"Field":"resources.ARN","StartsWith":[
"arn:aws:s3:::fin-mydata-consent-logs/"]}]}
]'
# 3) 로그 버킷에 객체 잠금(무결성) — PISM-012 와 연계
$ aws s3api put-object-lock-configuration --bucket fin-cloudtrail-audit \
--object-lock-configuration '{"ObjectLockEnabled":"Enabled",
"Rule":{"DefaultRetention":{"Mode":"COMPLIANCE","Years":5}}}'
📐 IaC 로 고정하기
콘솔에서 한 번 고쳐도 다음 배포에서 되돌아갑니다. 코드로 고정해야 재발하지 않습니다.
resource "aws_cloudtrail" "fin_audit" {
name = "fin-audit-trail"
s3_bucket_name = aws_s3_bucket.audit.id
is_multi_region_trail = true # 전 리전
enable_log_file_validation = true # 다이제스트 파일 생성
include_global_service_events = true # IAM/STS 등 글로벌 서비스
advanced_event_selector {
name = "S3-PII-Objects"
field_selector { field = "eventCategory" equals = ["Data"] }
field_selector { field = "resources.type" equals = ["AWS::S3::Object"] }
field_selector {
field = "resources.ARN"
starts_with = ["${aws_s3_bucket.consent_logs.arn}/"]
}
}
}
주의 — put-event-selectors 는 기존 선택기를 덮어씁니다. 데이터 이벤트만 넣으면 관리 이벤트 수집이 사라집니다. 위 명령처럼 관리 이벤트 선택기를 반드시 함께 넣으세요. 그리고 로그를 담는 버킷 자체가 감시 대상이라는 점도 잊기 쉽습니다 — 공격자가 가장 먼저 지우려는 것이 그 버킷이므로 객체 잠금(COMPLIANCE 모드)과 별도 계정 보관을 권장합니다.
📋 평가항목 정보
평가항목 ID
PISM-013
구분
기술적 보안
통제분야
5. 운영 관리
통제구분(대)
5.3 정보처리시스템 보호대책
평가항목
접근 로그 수집 기능 활성화 여부
위험도
5
평가 구분 (AWS)
관리체계, 스크립트
상세설명
시스템 또는 네트워크 경계에서 수집되는 접근 로그 기능이 활성화되어 있으며, 사용자 요청 이력 및 행동 추적이 가능한지 여부를 점검합니다.
📎 확인 자료 (증적)
describe-trails 출력 (다중 리전·로그 파일 검증 설정)
get-trail-status 출력 (IsLogging, 최근 전송 시각)
get-event-selectors 출력 (관리·데이터 이벤트 범위)
validate-logs 결과 (로그 무결성 검증 성공 건수)
로그 보관 버킷의 객체 잠금·보존 기간 설정
평가에서는 화면 캡처보다 CLI 출력이 강한 증적입니다. 명령·실행시각·계정 ARN 이 함께 남기 때문입니다. 위 진단 탭의 출력을 그대로 보고서에 붙이면 됩니다.
🏦 금융 관점
전자금융감독규정은 접속기록을 1년 이상 보존하도록 하고, 개인정보 보호법상 안전성 확보조치 기준은 2년 이상(고유식별정보·5만명 이상 등)을 요구합니다. 클라우드에서는 CloudTrail 이 그 접속기록의 원천이므로, 데이터 이벤트가 빠져 있으면 "누가 개인정보 파일을 내려받았는가"에 답할 수 없습니다 — 유출 사고 조사에서 가장 먼저 막히는 지점입니다.
「클라우드 관리체계 보안 취약점 평가기준(퍼블릭 클라우드)」의 평가항목을 교육용으로 재구성한 시뮬레이터입니다.
계정 ID·ARN·리소스 ID 는 형식만 실제와 같게 만든 가상 값이며, 어떤 AWS 환경에도 접속하지 않습니다.
실제 평가에서는 기관의 최신 평가기준 원문과 AWS 공식 문서를 따르십시오.