본문 바로가기
홈 카탈로그 진단 항목 전체 ap-northeast-2 · 3820-1174-9265
클라우드 관리체계 보안 취약점 평가기준 (퍼블릭 클라우드) / 6. 접근통제 / 6.1 계정 및 권한 관리

PISM-039클라우드 자원에 접근 가능한 계정에 추가인증수단 적용 여부

위험도 5 기술적 보안 IAM 평가 구분: 관리체계, 스크립트
클라우드 자원에 접근 가능한 계정(관리자 계정 포함)에 대한 추가 인증 수단이 적용되지 않으면 계정이 탈취될 경우 공격자가 클라우드 자원에 접근할 수 있는 위협이 존재하므로, OTP·이메일·바이오 인증 등의 이중 인증이 설정되어 있는지 여부를 점검합니다.
1. 점검 대상 확인
2. CLI 진단
3. 양호/취약 판정
4. 조치 · 재확인

방법 1AWS Management Console 경로

IAM → 사용자 → 사용자 목록의 MFA 컬럼 확인 (안 보이면 우측 상단 설정에서 컬럼 활성화)
콘솔은 화면이 자주 바뀝니다. 실제 점검에서는 아래 CLI(방법 2) 로 증적을 남기는 편이 재현성이 높습니다.

방법 2AWS CLI 진단

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

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

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

🛠️ 조치 방법

root 는 하드웨어 또는 가상 MFA 를 즉시 등록하고 이후 일상 업무에서 사용하지 않습니다. IAM 사용자는 MFA 없이는 아무것도 못 하게 하는 정책을 붙이는 것이 개별 등록보다 확실합니다.
# 1) IAM 사용자 MFA 등록 (가상 MFA 예시) $ aws iam create-virtual-mfa-device --virtual-mfa-device-name fin-admin-kim \ --outfile /tmp/qr.png --bootstrap-method QRCodePNG $ aws iam enable-mfa-device --user-name fin-admin-kim \ --serial-number arn:aws:iam::382011749265:mfa/fin-admin-kim \ --authentication-code1 492013 --authentication-code2 771648 # 2) MFA 없으면 아무 작업도 못 하게 하는 정책 (핵심) $ aws iam create-policy --policy-name DenyAllExceptSelfMFA --policy-document '{ "Version": "2012-10-17", "Statement": [{ "Sid": "DenyUnlessMFA", "Effect": "Deny", "NotAction": [ "iam:CreateVirtualMFADevice", "iam:EnableMFADevice", "iam:ListMFADevices", "iam:ListVirtualMFADevices", "iam:ResyncMFADevice", "iam:ChangePassword", "iam:GetUser", "sts:GetSessionToken" ], "Resource": "*", "Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": "false"}} }] }' # 3) root 는 콘솔에서 직접 등록 (CLI 로 등록 불가) # IAM → 보안 자격 증명 → 멀티 팩터 인증(MFA) → 디바이스 할당 # 등록 후 root 자격증명은 봉인하고 비상 절차(PISM-071)로만 사용

📐 IaC 로 고정하기

콘솔에서 한 번 고쳐도 다음 배포에서 되돌아갑니다. 코드로 고정해야 재발하지 않습니다.
# 조직 전체에 강제 — SCP 로 MFA 없는 호출을 차단 data "aws_iam_policy_document" "require_mfa" { statement { effect = "Deny" not_actions = ["iam:*", "sts:GetSessionToken"] resources = ["*"] condition { test = "BoolIfExists" variable = "aws:MultiFactorAuthPresent" values = ["false"] } } } # root 사용 자체를 감시 — 로그인하면 즉시 알림 resource "aws_cloudwatch_event_rule" "root_login" { event_pattern = jsonencode({ "detail-type" = ["AWS Console Sign In via CloudTrail"], "detail" = { "userIdentity" = { "type" = ["Root"] } } }) }
주의 — aws:MultiFactorAuthPresent 는 액세스 키로 호출할 때 아예 존재하지 않는 키입니다. 그래서 Bool 이 아니라 BoolIfExists 를 써야 합니다. Bool 로 쓰면 액세스 키 호출이 전부 통과해 정책이 무력화됩니다. 또한 이 정책을 붙이기 전에 MFA 등록 경로(NotAction 목록)를 반드시 열어 두세요 — 안 그러면 아직 MFA 를 등록하지 않은 사용자가 등록조차 못 하고 잠깁니다.

📋 평가항목 정보

평가항목 IDPISM-039
구분기술적 보안
통제분야6. 접근통제
통제구분(대)6.1 계정 및 권한 관리
평가항목클라우드 자원에 접근 가능한 계정에 추가인증수단 적용 여부
위험도5
평가 구분 (AWS)관리체계, 스크립트
상세설명클라우드 자원에 접근 가능한 계정(관리자 계정 포함)에 대한 추가 인증 수단이 적용되지 않으면 계정이 탈취될 경우 공격자가 클라우드 자원에 접근할 수 있는 위협이 존재하므로, OTP·이메일·바이오 인증 등의 이중 인증이 설정되어 있는지 여부를 점검합니다.

📎 확인 자료 (증적)

  • 자격증명 보고서 (mfa_active, password_enabled 컬럼)
  • SummaryMap.AccountMFAEnabled (root MFA 등록 여부)
  • MFA 강제 정책 또는 SCP 문서
  • MFA 미대상 계정(서비스 계정)의 소명 및 액세스 키 관리 현황
  • root 로그인 알림 체계 설정
평가에서는 화면 캡처보다 CLI 출력이 강한 증적입니다. 명령·실행시각·계정 ARN 이 함께 남기 때문입니다. 위 진단 탭의 출력을 그대로 보고서에 붙이면 됩니다.

🏦 금융 관점

클라우드 관리 콘솔은 인터넷에서 접근 가능한 최고 권한 평면입니다. 계정 하나가 탈취되면 망분리·방화벽이 의미를 잃습니다. 그래서 금융권 평가에서 MFA 는 위험도 5 이며, 특히 root 계정 MFA 미적용은 단일 항목으로 즉시 지적됩니다. root 는 MFA 등록 후 비상 접근용으로만 봉인하는 것이 원칙입니다(PISM-040·071).
「클라우드 관리체계 보안 취약점 평가기준(퍼블릭 클라우드)」의 평가항목을 교육용으로 재구성한 시뮬레이터입니다. 계정 ID·ARN·리소스 ID 는 형식만 실제와 같게 만든 가상 값이며, 어떤 AWS 환경에도 접속하지 않습니다. 실제 평가에서는 기관의 최신 평가기준 원문과 AWS 공식 문서를 따르십시오.