설명
광범위한 iam:UpdateLoginProfile 권한이 있으면 다른 IAM 사용자의 콘솔 비밀번호를 변경할 수 있습니다. 대상이 고권한 사용자이고 다른 로그인 통제가 허용하면, 그 계정에 접근해 더 강한 권한을 이용할 수 있습니다. 비밀번호 변경 권한 자체가 MFA를 해제하지는 않습니다.
잠재적 영향
- 계정 사용 방해: 비밀번호가 바뀌면 정상 사용자의 콘솔 접근에 지장이 생길 수 있습니다.
- 권한 악용: 로그인에 성공한 주체가 대상 사용자에게 허용된 작업을 수행할 수 있습니다.
해결 방법
비밀번호 관리가 필요 없는 사용자에게서 iam:UpdateLoginProfile 권한을 제거하세요. 필요한 관리 권한은 승인된 대상 사용자로 제한하고, 비밀번호 변경 이벤트와 MFA 등 로그인 통제를 점검하세요.
예시
변경 후 정책은 같은 사용자에게 EC2 조회 권한만 부여합니다. 다른 정책의 비밀번호 변경 권한도 제거하거나 제한하고, 이미 변경된 비밀번호와 계정 상태는 별도로 확인하세요.
변경 전
hcl
resource "aws_iam_user" "example" {
name = "cosmic"
}
resource "aws_iam_user_policy" "example" {
name = "test_inline_policy"
user = aws_iam_user.example.name
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = [
"iam:UpdateLoginProfile",
]
Effect = "Allow"
Resource = "*"
},
]
})
}
변경 후
hcl
resource "aws_iam_user" "example" {
name = "cosmic"
}
resource "aws_iam_user_policy" "example" {
name = "inline_policy_read_only"
user = aws_iam_user.example.name
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Action = [
"ec2:Describe*",
]
Effect = "Allow"
Resource = "*"
},
]
})
}