S3 MFA Delete

은채의 성장통·2025년 2월 10일
0

AWS

목록 보기
59/79

MFA (Multi-Factor Authentication, 다중 요소 인증)

1. MFA란?

MFA는 계정 보안을 강화하기 위해 2개 이상의 인증 요소를 요구하는 인증 방식이다.

기본적인 ID(사용자 이름)와 비밀번호만 사용하는 단일 요소 인증(SFA, Single-Factor Authentication)보다 보안성이 뛰어나다.


2. MFA가 필요한 이유

기본적인 비밀번호 기반 로그인 방식에는 보안 취약점이 존재한다.

  • 비밀번호 유출: 피싱 공격, 데이터 유출 사고
  • 사전 대입 공격(Brute Force Attack): 자동화된 로그인 시도
  • 비밀번호 재사용 공격: 여러 사이트에서 동일한 비밀번호 사용

MFA를 적용하면 비밀번호가 유출되어도 추가 인증이 필요하여 계정 보호가 가능


3. MFA의 인증 요소

MFA는 일반적으로 3가지 인증 요소 중 2개 이상을 조합하여 인증을 수행한다.

인증 요소설명예시
1. 지식 기반 (Something You Know)사용자가 알고 있는 정보비밀번호, PIN, 보안 질문
2. 소유 기반 (Something You Have)사용자가 물리적으로 소유한 것OTP(일회용 인증 코드), 보안 토큰, 스마트 카드
3. 생체 기반 (Something You Are)사용자의 고유한 신체 특징지문, 얼굴 인식, 홍채 인식

예제:

  • 일반적인 로그인 (SFA)
    ID + 비밀번호 (단일 요소)
  • MFA 적용 로그인
    ID + 비밀번호 + SMS OTP(문자 인증) (이중 요소)
    ID + 비밀번호 + 지문 인증 (이중 요소)

4. MFA의 작동 방식

1️⃣ 사용자가 ID비밀번호를 입력

2️⃣ 서버가 1차 인증(비밀번호)이 맞는지 확인

3️⃣ 추가적인 2차 인증 요청 (OTP, 보안 토큰, 생체 인증 등)

4️⃣ 2차 인증이 성공하면 로그인 승인

일반적인 MFA 로그인 흐름 예시 (OTP 방식)

사용자: ID + 비밀번호 입력  ➜  서버: 1차 인증 성공
서버: OTP 요청  ➜  사용자: 스마트폰 앱에서 OTP 입력
서버: 2차 인증 성공  ➜  로그인 완료

5. AWS에서의 MFA 활용

AWS에서는 MFA를 필수 보안 조치로 권장하며, 특히 다음과 같은 경우 적용 가능하다.

(1) AWS 계정 보호 (루트 사용자 MFA 활성화)

  • AWS 루트 계정은 모든 권한을 가지므로, 반드시 MFA를 활성화하는 것이 보안상 필수적이다.
  • AWS Management Console, CLI, SDK 사용 시 MFA 인증 필요

(2) AWS S3 객체 버전 영구 삭제 시 MFA 요구

  • AWS S3에서는 객체 버전 관리(Versioning)를 활성화하면 이전 버전의 데이터를 보관할 수 있다.
  • 그러나 객체의 특정 버전을 영구 삭제(Permanent Deletion)하려면 MFA가 필요할 수 있다.
    • 설정 시 MFA Delete 기능을 활성화하여 루트 사용자 + MFA 인증이 있어야 삭제 가능

예제: AWS CLI를 이용한 MFA 기반 S3 객체 삭제

aws s3api delete-object --bucket my-bucket --key my-object.txt --version-id exampleVersionID \
--mfa "arn:aws:iam::123456789012:mfa/root-account-mfa-device 123456"

MFA 코드가 없으면 영구 삭제 불가!

(3) AWS IAM 사용자에 MFA 적용

  • IAM 사용자의 로그인 보호
  • AWS CLI 및 API 호출 시 추가 보안 계층 제공

6. MFA 유형

AWS에서는 다양한 MFA 방식을 지원한다.

MFA 유형설명예시
가상 MFA 디바이스스마트폰 앱에서 생성된 6자리 코드 입력Google Authenticator, Authy
하드웨어 MFA 디바이스물리적인 보안 키 사용YubiKey, Gemalto
U2F 보안 키WebAuthn/FIDO2 기반 보안 키 사용YubiKey, Feitian
생체 인증AWS에 등록된 생체 정보 사용Windows Hello, Face ID

AWS에서는 가상 MFA 디바이스를 가장 많이 사용 (비용이 들지 않고 설정이 쉬움)


7. MFA 설정 시 고려할 점

1️⃣ 백업 코드나 보조 인증 수단을 준비

  • 스마트폰 MFA 앱을 분실하면 로그인 불가능 → 복구 코드 저장 필요
    2️⃣ MFA 강제 정책 적용
  • IAM 정책에서 특정 사용자에게 MFA 사용을 필수로 설정 가능
    3️⃣ API 사용 시 MFA 요구 여부 확인
  • AWS에서 특정 API 호출 시 MFA가 필요할 수 있음 (aws:MultiFactorAuthPresent 조건 활용)
    4️⃣ 보안성을 위해 MFA Delete 활성화
  • S3 객체 버전 삭제 시 MFA를 강제하여 실수나 악의적인 삭제 방지

정리

개념설명
MFA (다중 요소 인증)두 개 이상의 인증 요소를 사용하여 계정 보안을 강화
필요한 이유비밀번호 유출, 공격 방지, 보안 강화
인증 요소(1) 지식 기반 (비밀번호), (2) 소유 기반 (OTP, 보안 키), (3) 생체 기반 (지문, 얼굴)
작동 방식1차 인증(ID + 비밀번호) 후, 2차 인증(OTP, 보안 키 등) 수행
AWS에서의 활용AWS 계정 보호, S3 객체 버전 삭제 보호, IAM 사용자 보안 강화
MFA 유형가상 MFA 앱, 하드웨어 보안 키, 생체 인증 등
설정 시 고려 사항백업 코드 저장, 강제 정책 설정, S3 MFA Delete 활성화
profile
인생 별거 없어

0개의 댓글