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

PISM-023업무상 불필요한 가상자원 존재

위험도 3 기술적 보안 EC2 · S3 · RDS · Lambda 평가 구분: 관리체계, 스크립트
업무상 불필요하거나 장기간 사용되지 않은 가상자원이 남아있을 경우, 이를 통해 비인가자가 의도되지 않은 행위를 수행할 위협이 존재하므로 업무상 불필요한 가상자원이 존재하는지 여부를 점검합니다.
1. 점검 대상 확인
2. CLI 진단
3. 양호/취약 판정
4. 조치 · 재확인

방법 1AWS Management Console 경로

EC2 → 인스턴스 / 네트워크 인터페이스 / 스냅샷 / 볼륨 / AMI / 탄력적 IP / 보안 그룹 목록 확인  ·  S3 → 버킷 목록  ·  Lambda → 함수 목록  ·  RDS → 데이터베이스·스냅샷 목록
콘솔은 화면이 자주 바뀝니다. 실제 점검에서는 아래 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 resourcegroupstaggingapi get-resources \ --tag-filters Key=Owner --query "ResourceTagMappingList[*].ResourceARN" --output text > tagged.txt $ aws resourcegroupstaggingapi get-resources \ --query "ResourceTagMappingList[?length(Tags)==\`0\`].ResourceARN" --output text # 2) 미연결 자원 정리 $ aws ec2 delete-volume --volume-id vol-0c19e7f42d86b3a05 $ aws ec2 release-address --allocation-id eipalloc-0a37b9de52c14f068 $ aws ec2 delete-network-interface --network-interface-id eni-0f83cb7a21e4b $ aws ec2 delete-snapshot --snapshot-id snap-0a94c17f3b28de506 # 3) PoC 인스턴스 — 종료 전 스냅샷 후 삭제 $ aws ec2 create-snapshot --volume-id vol-0b7d29e13fa85c604 \ --description "final backup before poc teardown" $ aws ec2 terminate-instances --instance-ids i-0e5d8b23a97f1c460 # 4) 재발 방지 — 태그 없으면 생성 거부 (SCP) + 미사용 자원 주기 리포트 $ aws configservice put-config-rule --config-rule '{ "ConfigRuleName":"required-tags-owner", "Source":{"Owner":"AWS","SourceIdentifier":"REQUIRED_TAGS"}, "InputParameters":"{\"tag1Key\":\"Owner\",\"tag2Key\":\"CostCenter\"}" }' $ aws ec2 create-snapshot-schedule --help # DLM 으로 스냅샷 보존기간 자동화

📐 IaC 로 고정하기

콘솔에서 한 번 고쳐도 다음 배포에서 되돌아갑니다. 코드로 고정해야 재발하지 않습니다.
# 태그를 기본값으로 강제 — provider 수준에서 모든 자원에 자동 부착 provider "aws" { default_tags { tags = { Owner = "fin-platform" CostCenter = "FIN-CLOUD-01" Env = "prod" ManagedBy = "terraform" } } } resource "aws_config_config_rule" "required_tags" { name = "required-tags-owner" source { owner = "AWS" source_identifier = "REQUIRED_TAGS" } input_parameters = jsonencode({ tag1Key = "Owner", tag2Key = "CostCenter" }) }
주의 — 중지된 인스턴스는 "없는 자원"이 아닙니다. EBS 볼륨·보안그룹·IAM 역할이 그대로 살아 있어, 누군가 다시 켜면 옛 취약점을 가진 서버가 그대로 돌아옵니다(패치도 그동안 안 됐습니다). 또한 이 항목은 스크립트 결과만으로 취약 판정을 내리면 안 됩니다 — 재해복구용 대기 자원, 분기 배치용 인스턴스처럼 정당한 사유가 있을 수 있으므로 반드시 담당자 인터뷰로 확인하고 그 기록을 증적으로 남기세요.

📋 평가항목 정보

평가항목 IDPISM-023
구분기술적 보안
통제분야5. 운영 관리
통제구분(대)5.3 정보처리시스템 보호대책
평가항목업무상 불필요한 가상자원 존재
위험도3
평가 구분 (AWS)관리체계, 스크립트
상세설명업무상 불필요하거나 장기간 사용되지 않은 가상자원이 남아있을 경우, 이를 통해 비인가자가 의도되지 않은 행위를 수행할 위협이 존재하므로 업무상 불필요한 가상자원이 존재하는지 여부를 점검합니다.

📎 확인 자료 (증적)

  • 자원 유형별 전체 목록 (인스턴스·볼륨·ENI·EIP·스냅샷·AMI·SG·버킷·함수·DB)
  • 미연결/장기 미사용 후보 목록 및 담당자 인터뷰 결과
  • 정리 대상 판정 근거와 삭제 전 백업 내역
  • 태그 정책(Owner·CostCenter) 준수 현황
  • 주기적 미사용 자원 점검 프로세스 문서
평가에서는 화면 캡처보다 CLI 출력이 강한 증적입니다. 명령·실행시각·계정 ARN 이 함께 남기 때문입니다. 위 진단 탭의 출력을 그대로 보고서에 붙이면 됩니다.

🏦 금융 관점

방치된 자원은 패치되지 않는 공격 표면입니다. 아무도 보지 않으므로 침해되어도 탐지가 늦고, PoC 시절의 느슨한 보안그룹·구버전 OS 를 그대로 유지합니다. 금융권에서는 여기에 자산 식별·관리 의무 문제가 더해집니다 — 자산 목록에 없는 서버에 고객정보가 남아 있으면 그 자체로 중대한 지적 사항입니다.
「클라우드 관리체계 보안 취약점 평가기준(퍼블릭 클라우드)」의 평가항목을 교육용으로 재구성한 시뮬레이터입니다. 계정 ID·ARN·리소스 ID 는 형식만 실제와 같게 만든 가상 값이며, 어떤 AWS 환경에도 접속하지 않습니다. 실제 평가에서는 기관의 최신 평가기준 원문과 AWS 공식 문서를 따르십시오.