aws 금융 클라우드 진단홈카탈로그진단 항목 전체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 를 등록하지 않은 사용자가 등록조차 못 하고 잠깁니다.
📋 평가항목 정보
평가항목 ID
PISM-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 공식 문서를 따르십시오.