본문 바로가기
홈 카탈로그 진단 항목 전체 ap-northeast-2 · 3820-1174-9265
클라우드 관리체계 보안 취약점 평가기준 (퍼블릭 클라우드) / 5. 운영 관리 / 5.3 정보처리시스템 보호대책

PISM-017삭제된 저장소 내 데이터 복원 기능 활성화 여부

위험도 5 기술적 보안 S3 평가 구분: 스크립트
중요 정보가 저장된 저장소가 의도치 않게 삭제된 경우 데이터를 복원할 수 있도록 복원 기능의 활성화 여부를 점검합니다.
1. 점검 대상 확인
2. CLI 진단
3. 양호/취약 판정
4. 조치 · 재확인

방법 1AWS Management Console 경로

S3 → 버킷 → 목록에서 대상 버킷 선택 → 속성 클릭 → 버킷 버전 관리 설정 확인
콘솔은 화면이 자주 바뀝니다. 실제 점검에서는 아래 CLI(방법 2) 로 증적을 남기는 편이 재현성이 높습니다.

방법 2AWS CLI 진단

아래 명령을 눌러 실행하거나, 직접 입력해 보세요. 응답은 실제 AWS CLI 출력 형식을 따릅니다.
$ aws sts get-caller-identity { "UserId": "AIDA4XQ7N2VZK3RJTPLWE", "Account": "382011749265", "Arn": "arn:aws:iam::382011749265:user/audit-readonly" } 진단 계정으로 로그인되었습니다. 아래 명령을 실행해 점검을 시작하세요.

판정이 환경은 양호합니까, 취약합니까?

평가기준의 판단 근거는 명령 출력입니다. 먼저 위에서 명령을 실행해 출력을 확인하세요.

🛠️ 조치 방법

버전 관리를 활성화하고, 비용 관리를 위해 수명주기 규칙으로 오래된 버전을 정리합니다. 실수 삭제 방지의 마지막 단계는 MFA Delete 이지만, 이는 루트 계정 자격증명이 필요해 운영 부담이 큽니다.
# 1) 버전 관리 활성화 $ aws s3api put-bucket-versioning --bucket fin-core-txn-archive \ --versioning-configuration Status=Enabled # 2) 오래된 버전 정리 규칙 (비용 통제) $ aws s3api put-bucket-lifecycle-configuration --bucket fin-core-txn-archive \ --lifecycle-configuration '{ "Rules": [{ "ID": "expire-noncurrent", "Status": "Enabled", "Filter": {"Prefix": ""}, "NoncurrentVersionExpiration": {"NoncurrentDays": 365}, "AbortIncompleteMultipartUpload": {"DaysAfterInitiation": 7} }] }' # 3) 거래원장처럼 보존 의무가 있는 데이터는 객체 잠금까지 $ aws s3api put-object-lock-configuration --bucket fin-core-txn-archive \ --object-lock-configuration '{"ObjectLockEnabled":"Enabled", "Rule":{"DefaultRetention":{"Mode":"GOVERNANCE","Years":5}}}'

📐 IaC 로 고정하기

콘솔에서 한 번 고쳐도 다음 배포에서 되돌아갑니다. 코드로 고정해야 재발하지 않습니다.
resource "aws_s3_bucket_versioning" "txn_archive" { bucket = aws_s3_bucket.txn_archive.id versioning_configuration { status = "Enabled" } } resource "aws_s3_bucket_lifecycle_configuration" "txn_archive" { bucket = aws_s3_bucket.txn_archive.id rule { id = "expire-noncurrent" status = "Enabled" noncurrent_version_expiration { noncurrent_days = 365 } abort_incomplete_multipart_upload { days_after_initiation = 7 } } }
주의 — 버전 관리는 랜섬웨어 대비책이 아닙니다. 권한을 탈취한 공격자는 s3:DeleteObjectVersion 으로 이전 버전까지 지울 수 있습니다. 진짜 방어선은 객체 잠금(COMPLIANCE 모드) 또는 다른 계정으로의 복제입니다. 또한 버전 관리를 켜면 삭제한 객체도 계속 과금되므로 수명주기 규칙을 함께 넣지 않으면 비용이 조용히 늘어납니다.

📋 평가항목 정보

평가항목 IDPISM-017
구분기술적 보안
통제분야5. 운영 관리
통제구분(대)5.3 정보처리시스템 보호대책
평가항목삭제된 저장소 내 데이터 복원 기능 활성화 여부
위험도5
평가 구분 (AWS)스크립트
상세설명중요 정보가 저장된 저장소가 의도치 않게 삭제된 경우 데이터를 복원할 수 있도록 복원 기능의 활성화 여부를 점검합니다.

📎 확인 자료 (증적)

  • 버킷별 get-bucket-versioning 출력 (Status 값)
  • 수명주기 규칙 설정 (get-bucket-lifecycle-configuration)
  • 보존 의무 데이터의 객체 잠금·보존 기간 설정
  • 복원 테스트 수행 기록 (삭제 → 복원 절차 및 결과)
평가에서는 화면 캡처보다 CLI 출력이 강한 증적입니다. 명령·실행시각·계정 ARN 이 함께 남기 때문입니다. 위 진단 탭의 출력을 그대로 보고서에 붙이면 됩니다.

🏦 금융 관점

전자금융거래법상 거래기록은 5년 보존 의무가 있습니다. 클라우드 스토리지에서 이 의무는 "지우지 않는다"는 운영 약속이 아니라 지울 수 없게 만든 설정으로 증명해야 합니다. 버전 관리는 그 최소선이고, 보존 의무 대상은 객체 잠금까지 가는 것이 안전합니다.
「클라우드 관리체계 보안 취약점 평가기준(퍼블릭 클라우드)」의 평가항목을 교육용으로 재구성한 시뮬레이터입니다. 계정 ID·ARN·리소스 ID 는 형식만 실제와 같게 만든 가상 값이며, 어떤 AWS 환경에도 접속하지 않습니다. 실제 평가에서는 기관의 최신 평가기준 원문과 AWS 공식 문서를 따르십시오.