brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Apr 05. 2020

217.S3버킷 보안

<1>  요청사항

<2>  조치법

<3>  확인

<4> 기타 참고 자료



<1>  요청사항

S3 사용 중이다.

데이터는 암호화 전송되어야 한다.

CloudTrail로 수집된 로그는 암호화되고  검색되어야 한다.



<2>  조치법

1. S3 버킷 정책에 보안 전송 설정을 한다. 

2. S3 암호화를 설정한다.  

3. 모든 S3 오브젝트의  데이터 이벤트에  대한  API logging을 활성하라.



<3>  확인

1. S3 버킷 정책에 보안 전송 설정을 한다. 

보안 전송 설정하기 : Secure transport

S3 >  해당 버킷 클릭 >  Permissions > Bucket Policy  > Policy Generator에서 설정한다.


SecureTransport 사용 예제 )

이 키가 true이면 요청이 HTTPS를 통해 전송됨을 의미합니다
https://aws.amazon.com/ko/premiumsupport/knowledge-center/s3-bucket-policy-for-config-rule/


* 아래 내용은 참고만 하기 바란다.



2. S3 암호화를 설정한다.  

S3 >  해당 S3 클릭 >  속성 > 기본 암호화 (Default encryption)

> AES-256  or  AWS-KMS 로 선택한다.


 

1) AES-256  사용

 : Server-Side Encryption이다. S3 관리키 (SSE-S3)


2) AWS-KMS 사용

AWS-KMS에는 2가지 사용할 수 있다.

aws/s3와 Custom KMS ARN



Custom KMS ARN으로 지정하면, 값을 넣으라고 빈란이 나온다.

Key Management Service (KMS)  에서 KMS 키 만들어 넣으면 된다.


# 테스트시 참고 사항

1) ROOT는  암호화된 데이터도 모두 보인다.

2) 암호화 설정을 하면 업로드한 문서가 암호화된다.  

암호화 설정이후 [암호화 없음]으로 변경해도 문서 자체는 암호화된 상태라  볼 수 없다.



3. 모든 S3 오브젝트의  데이터 이벤트에  대한  API logging을 활성하라.


1) 먼저 CloudTrail을  설정을 해야 한다.

CloudTrail  설정이 없으면 Object-level  logging 설정이 불가능하다.

참고로  CloudTrail 설정에서 Log AWS KMS events를 남길 수 있다. (디폴트 Yes)

CloudTrail  설정 완료 상태



2)   Object-level  logging   로깅 설정하기

S3 >  해당 S3  >   속성  >  Object-level  logging   >  CloudTrail tail 선택  > Read or Write 체크


<4> 기타 참고 자료

CloudTrail 설정  https://brunch.co.kr/@topasvga/632

S3관리 https://brunch.co.kr/@topasvga/682


감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari