AWS S3 정적 웹 호스팅 보안 체크 리스트

이춘길·2021년 11월 15일
0
post-thumbnail

들어가면서

  • 해당 포스팅은 배민 기술 블로그를 참고했습니다.
  • 문제가 될 시, 즉각적으로 삭제하겠습니다.

목표

  • S3 정적 웹 호스팅 보안 체크 리스트 확인

1. S3 정적 웹 호스팅 문제점

  • https가 아닌 http 통신
  • 버킷이 퍼블릭으로 공개
  • S3 엔드포인트 주소를 그대로 사용
  1. 프로토콜 자체적으로 보안이 취약
  2. 모든 사용자가 버킷에 접근 가능

2. 해결 방안

2-1) CloudFront 연결

  1. 액세스 차단을 수행한 정적 웹 호스팅 S3CloudFront 서비스를 연결한다.
  2. OAI(Origin Access Identity)를 통해 사용자는 CloudFront로만 접근할 수 있다.
  3. Redirect HTTP to HTTPS 속성을 통해 HTTPS 프로토콜만 사용할 수 있게 강제한다.

2-2) Route53 연결

  • CDN 엔드포인트 주소는 서비스에 적절하지 않아, Route53을 통해 도메인 연결 필요
  • ACM(AWS Certificate Manager)을 통하여 SSL 인증서 적용

2-3) Resolved Check List

1. https가 아닌 http 통신
=> CloudFront ACM을 적용하여 해결

2. 버킷이 퍼블릭으로 공개
=> CloudFront 연결, OAI을 통해 접근 제어

3. S3 엔드포인트 주소를 그대로 사용
=> CloudFront, Route53을 통해 도메인 주소 값 할당


2-4) (추가) S3 정적 웹 호스팅 IP 제어

1) S3 속성을 통한 제어

  • S3 > Condition > NotIpAddress
  • S3 수정 권한이 있는 타 사용자에 의해 변경될 수 있다.

2-1) AWS WAF 사용

  • WAF : AWS 웹 방화벽 서비스
  • CloudFront에 WAF를 연결하여 IP 접근제어

2-2) 최종 아키텍처


출처

우아한형제들 개발 블로그_S3 보안 가이드

profile
일지를 꾸준히 작성하자.

0개의 댓글