IT

AWS 클라우드 계정 보안 가이드 (Root 계정부터 MFA까지 완벽 정리)

habinfafa 2025. 1. 3. 13:16

안녕하세요

 

오늘은 AWS 클라우드 계정의 보안 설정과 관리 방법을 상세히 알아봅니다.

Root 계정 분리, 패스워드 정책, MFA 설정, Access Key 관리 등 필수 보안 설정을 모두 담았습니다.

 

목차

  1. AWS Root 계정 관리
  2. 패스워드 정책 설정
  3. 접근 통제 및 MFA 설정
  4. Access Key 관리

 

1. AWS Root 계정 관리

운영용과 개발용 계정 분리

운영 환경과 개발 환경의 AWS Root 계정은 반드시 분리해야 합니다. 이는 보안상 매우 중요한 요소인데, 특히 개발자들이 운영 환경에 직접 접근하는 것을 방지할 수 있습니다.

개발망과 운영망 사이에 소스코드 이관 등이 필요한 경우에는 다음과 같은 원칙을 지켜야 합니다:

  • 연동 범위를 최소한으로 제한하기
  • 작업 완료 후 즉시 분리하기
  • 모든 작업 내역을 기록하고 관리하기

CloudTrail에서 Root 계정 사용 이력을 확인하는 방법은 다음과 같습니다:

  1. AWS 콘솔에 접속합니다
  2. CloudTrail 서비스로 이동합니다
  3. '이벤트 기록' 메뉴에서 필터를 설정합니다
  4. 사용자 이름에 'root'를 입력하고 최근 90일간의 기록을 확인합니다

CloudTrail 이벤트 검색

Root 계정 프로그래밍 방식 사용 제한

Root 계정의 보안을 강화하기 위해서는 프로그래밍 방식의 접근을 완전히 차단해야 합니다. 이를 위해 다음 사항들을 확인하세요:

  1. Root 계정의 Access Key가 발급되어 있지 않은지 확인

    「AWS 관리콘솔 접속」 접속(루트계정 로그인) → 우측 상단 Services 메뉴 내 계정 선택 → 보안 자격 증명 클릭 → Access Keys 선택 후 미사용 여부 확인

Root계정 확인 방법

   2. 기존에 발급된 Access Key가 있다면 즉시 삭제

   3. 정기적으로 Access Key 발급 여부를 모니터링

 

2. 패스워드 정책 설정

패스워드 복잡도 설정

안전한 패스워드 사용을 위해 다음 두 가지 옵션 중 하나를 선택하여 적용해야 합니다

「AWS 관리콘솔 접속」접속 → IAM → Account Settings → 계정 설정에서 수정

계정 설정

암호정책

  • 암호최소 길이 : 8자리 이상
  • 영문자, 숫자, 특수문자 중 3종류 이상 조합
  • 대소문자 구분 필요

 

패스워드 관리 정책

효과적인 패스워드 관리를 위해 다음과 같은 정책을 실행해야 합니다

 

패스워드 유효기간

  • 최대 90일을 초과하지 않도록 설정
  • 만료 전 사전 알림 설정

패스워드 이력 관리

  • 최근 사용한 2개 이상의 패스워드는 재사용 금지
  • 패스워드 변경 시 시스템에서 자동으로 체크

 

3. 접근 통제 및 MFA 설정

IP 기반 접근 통제

보안 강화를 위해 IP 기반의 접근 통제는 필수적입니다. 구체적인 설정 방법은 다음과 같습니다

 

  1. 허용된  IP에서만 접속이 가능하도록 설정 합니다.
    • IAM 정책을 통해 IP 제한 설정
      • IAM 대시보드에서 'Users' 선택
      • 설정할 사용자 이름 클릭
      • 'Permissions Policies' 탭으로 이동
      • IP 접근제어 정책 확인 또는 생성

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "[IP입력]/32"
                },
                "Bool": {
                    "aws:ViaAWSService": "false"
                }
            }
        }
    ]
}

 

  • 예외가 필요한 경우 별도 승인 절차 마련  

MFA(다중 인증) 설정

모든 사용자 계정에 대해 MFA를 의무적으로 적용해야 합니다:

  1. MFA 설정 절차
    MFA를 위한 디바이스 등록 - AWS IAM Identity Center  
    • Virtual MFA Device 등록
    • Google Authenticator 등 인증 앱 연동
  2. MFA 미설정 계정 관리:
    • 서비스 사용 제한 정책 적용

      AWS 관리콘솔 접속
      • AWS 관리콘솔에 로그인
      • 좌측 상단 Services 메뉴에서 IAM 선택
      • 왼쪽 메뉴에서 'Policies' 클릭
      MFA 필수 정책 생성
      • 'Create policy' 버튼 클릭
      • JSON 탭 선택
      • 아래의 정책 문서 입력
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountPasswordPolicy",
                "iam:GetAccountSummary",       
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },       
        {
            "Sid": "AllowManageOwnPasswords",
            "Effect": "Allow",
            "Action": [
                "iam:ChangePassword",
                "iam:GetUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnVirtualMFADevice",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice",
                "iam:DeleteVirtualMFADevice"
            ],
            "Resource": "arn:aws:iam::*:mfa/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice",
                "sts:GetSessionToken"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
  • 정기적인 MFA 설정 현황 점검

 

4. Access Key 관리

Access Key 수명주기 관리

Access Key는 정기적인 관리가 필요합니다:

  • 주기적 변경 원칙:
    • 일반 계정: 90일마다 변경
    • 서비스 계정: 최소 연 1회 변경
  • Key 교체 프로세스:
    • 신규 키 발급 후 15일 이내 전환 완료
    • 이전 키는 전환 완료 후 즉시 폐기

 

Access Key 보안 관리

Access Key의 안전한 관리를 위해 다음 사항들을 준수해야 합니다:

  • Access Key 발급 원칙:
    • 계정당 1개의 Active Key 유지
    • 불필요한 Key 즉시 삭제
  • 보안 저장 방법:
    • 암호화된 저장소 사용
    • 접근 권한 최소화
    • 정기적인 접근 권한 검토

 

마무리

AWS 클라우드 환경에서의 보안은 지속적인 관리와 모니터링이 필요한 중요한 요소입니다. 이 가이드를 통해 기본적인 보안 설정을 완료하고, 정기적인 점검을 통해 보안 수준을 유지하시기 바랍니다.