본문 바로가기
홈 카탈로그 진단 항목 전체 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 모드)과 별도 계정 보관을 권장합니다.

📋 평가항목 정보

평가항목 IDPISM-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 공식 문서를 따르십시오.