버킷 버전 관리 및 암호화 설정

ZER0·2022년 9월 21일
0

AWS 보안 설정 가이드

목록 보기
26/47
post-custom-banner

1. 관련 법령


2. 개요


3. 취약점 판단 기준

  • S3 버킷에 버전 관리 및 암호화 설정이 적용되지 않은 경우 취약
  • S3 버킷에 버전 관리 및 암호화 설정이 적용되어 있는 경우 취약하지 않음

4. 취약점 확인 방법 - (1) 관리 콘솔에서 확인

  • 관리 콘솔에서 [S3] 검색 → 확인하고자 하는 버킷 클릭 → [속성] 탭의 [버킷 버전 관리], [기본 암호화] 설정 여부 확인

4. 취약점 확인 방법 - (2) AWS CLI에서 확인

  • S3 권한을 보유한 계정의 Access key를 활용해 AWS CLI에서 Command(1) 실행

    • Command(1)
      aws s3 ls
      aws s3api get-bucket-versioning --bucket <bucket name>
      aws s3api get-bucket-encryption --bucket <bucket name>
  • 버킷 버저닝 설정 여부 확인

    버저닝 미설정 시 출력 결과

    버저닝 설정 시 출력 결과

  • 버킷 암호화 설정 여부 확인

    암호화 미설정 시 출력 결과

    암호화 설정 시 출력 결과


5. 취약점 조치 방법 - (1) 이미 생성된 버킷의 설정 변경

  • [버킷 버전 관리] 메뉴의 [편집] 클릭
  • [활성화] 체크 → [변경 사항 저장] 클릭
  • [버킷 버전 관리] 메뉴의 [편집] 클릭
  • [활성화] 체크 → [변경 사항 저장] 클릭

5. 취약점 조치 방법 - (2) 버킷 생성 시 설정 적용

  • 버킷 생성 시 [버킷 버전 관리], [기본 암호화] 활성화 체크

5. 취약점 조치 방법 - (3) AWS CLI에서 조치

  • AWS CLI에서 Command(2) 실행
    • Command(2)
      # 암호화 적용
      
      # SSE-KMS 적용 시
      aws s3api put-bucket-encryption --bucket <bucket name> --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'
      
      # SSE-S3 적용 시
      aws s3api put-bucket-encryption --bucket <bucket name> --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "aws:kms","KMSMasterKeyID": "aws/s3"}}]}'
      
      # 버저닝 적용
      aws s3api put-bucket-versioning --bucket <bucket name> --versioning-configuration Status=Enabled

6. 참고

profile
Security Compliance Engineer
post-custom-banner

0개의 댓글