본문 바로가기
IT 공부/AWS Solution Architect Associate(완)

S3 보안

by 랜턴K 2024. 2. 19.
반응형

1/2/3은 서버 측 암호화 
1. SSE-S3 ; 아마존 S3 관리하는 키를 이용한 서측 암호화 (버킷과 객체 활성화 디폴트 )

2. SSE KMS ; KMS 키를 이용, 암호화 키 관리 (DSSE-KMS ; KMS를 기반으로 하는 이중 암호화)

3. SSE-C ; 고객이 제공한 키를 사용 

4. 클라이언트 암호화 : 클라이언트 측의 모든 걸 암호화 후 S3 업로드 

 

1의 경우 

- AWS 처리/소유한 키 ; 절대 액세스 불가능 

- 암호화 보안 유형 AES - 256 -> 이거에 맞게 헤더 작성 필요 

- 기본값 ; 올바른 헤더를 써서 업로드하면, S3가 보유한 키와 객체를 짝지어줌 ; 두 개가 혼하보디어 암호화 된 채로 버킷에 저장 

 

2의 경우

- KMS 서비스 이용, 직접 키를 관리  ; 키 통제 가능 ; CLOUDTRAIL 이용 키 사용 검사도 가능 

- KMS에 맞는 헤더 작성 필요 

- 헤더를 포함 업로드, AWS KMS에서 키가 옴 ; 오브젝트와 키가 혼합, 암호화되어 버켓 저장

- 이 경우, 객체 자체에 엑세스 + KMS키에도 엑세스 

- 따라서, 버킷 처리량이 많고, KMS 키로 암호화 되어 있는 경우, 일종의 스로틀링 활용 사례가된다!!

 

3의 경우 

- 키가 외부에서 관리 

- S3는 키를 암호화에만 사용하고, 키를 폐기 

- 파일과 키를 업로드 ; S3 암호화, 버켓에 업로드 ; 재 사용시, 사용한 키를 제공해야 함 

 

4의경우

- 클리언트가 직접 데이터 암호화 후, S3에 전송만 하는 개념 

 

5 전송중 암호화 / SSL TLS 

- 아마존 버킷 기본적으로 2개의 엔드포인트 있음 (HTTP / HTTPS)

- SSE-C 를 사용하는 경우 HTTPS사용해야 함 

- 강제하는 법? ; 버킷 정에서 설정!!

 

* 암호화와 버킷정책

- 버킷 정책으로 암호화 헤더 강제 + 없는 경우 PUT API 호출 거절

- 버킷정책이 기본값 암호화 설정보다 먼저 적용됨

 

CORS!! ; CORSS ORIGIN RESOURCE SHARING ; 교차 오리진 리소스 공유 

- 메인 오리진을 방문하는 동안, 다른 오리진 요청을 허용 또는 거부 (CORS 헤더가 사용되어야, 다른 오리진의 요청 이행)

- 오리진이 같다 ? ; 체계, 호스트, 포트가 동일한경우 (EX, http://example.com/api & http://example.com/app2 )

- 클라이언트가 S3 버킷의 교차 오리진을 하려면, 정확한 CORS 헤더를 첨부해야 ; 특정 오리진 허용 또는 *를 이용 모든 오리진 허용

 

MFA DELETE!! 

- 객체 버전을 영구 삭제에 대한 보호 설정으로 MFA 설정 가능 

- 버저닝 중단시에도 사용하도록 설정 가능 

- 루트 계정만이 MFA DELETE 활성/비활성화 가능

 

액세스 로그 

- 감사 목적의 모든 엑세스 기록 / 승인-거부 상관 없음 / 다른 S3 버킷에 파일로 기록 

- AMAZON ANTHENA 등의 데이터 분석 도구로 분석 가능 

- 대상 로깅 버킷은 같은 리전!!

- 로깅 버킷과 모니터링 버킷 동일하면 절대 안됨!!

 

사전 서명된 URL ; 외부 사용자에게 특정 시간 동안 엑세스 권한을 부여 

- S3 콘솔 사용시 최대 12시간

- CLI 사용 시, 168시간 

- URL 사용자의 GET 또는 PUSH 권한 상속 

 

S3 글래이시어 볼트 잠금 

- WORM 모델 채용 ; 한 번 쓰고 여러 번 읽는다 

수정 또는 삭제 못하게 하는 것 ; 누구도 변경 또는 삭제 불가능 ; 규정 준수 및 데이터 보존에 유용!! 

- S3 객체 잠금 ; 버저닝 활성화 선행됨 ; 객체 각각 적용 가능 (보존기간 설정해야)

   1. 규정 준수 모드 ; 누구도 삭제 변경 불가능 

   2. 거버넌스 보존 모드 ; 일부 관리자는 IAM 특별 권한으로 기간변경 및 객체 삭제 가능 

   * 법적 보존 상태 설정 ; S3 버킷 내 모든 객체를 무기한 보호 > 이때 풋오브젝트리갈홀드 권한 사용자는 설정 제거 가능 

 

S3 액세스 포인트 ; 여러 사용자 그룹에 대한 개별적인 버킷 정책을 만들어 줄 수 있다. 

- 액세스 포인트 정책 ; 버킷 정책 처럼 설정 가능 

- 보안 관리 간소화

- 각 엑세스 포인트는 각자의 DNS 이름을 갖는다 ; 이걸로 액세스 포인트에 접속 

 

S3 오브젝트 람다 ; 엑세스 포인트 다른 활용 사례 

- S3 버킷의 객체를 호출 어플리케이션이 직전에 수정해서 받으려고 하는경우

- S3를 복제하는 대신, S3 객체 람다를 통해, 람다함수에서 변경 후 가져올 수 있다 

- S3 액세스 포인트 - 람다 - S3 오브젝트 람다 액세스포인트 - 어플리케이션 

반응형

'IT 공부 > AWS Solution Architect Associate(완)' 카테고리의 다른 글

AWS Snow 패밀리  (0) 2024.02.21
CLOUDFRONT / AWS GLOBAL ACCELERATOR  (1) 2024.02.20
AMAZON S3_2  (1) 2024.02.15
AMAZON S3  (1) 2024.02.14
Route 53  (0) 2024.02.08