brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 03. 2020

515. 보안- 가드 듀티

<1>  가드 듀티 

<2>  API  Gateway  보안

<3>  람다 보안

<4>  키관리  , KMS ?

<5> HSM

<6>  Secrets  Manager

<7> 보안을 고려한 설계 접근 방식

<8> CloudFormation

<9> 서비스 카탈로그




<1>  가드 듀티 


4가지 모니터링 가능하다!


1

Vpc Flow logs  - 자동 enable 

cloud trail  - 자동 Enable 

Dns logs

S3 Data Events



<2>  API  Gateway  보안


동시 1000명, 2000명 만 들어오게 제한 가능

WAF통합

권한 부여 및 액세스 제어 가능하다.



<3>  람다 보안


1

아키 ?

다이나모 DB가 변경 되면 --- 스트림에 저장 ----- 람다 호출


2

람다를 사용할때 보안 2가지 ?


API Gateway에서 사용자 인증을 한다.

API Gateway에서 리소스 기반의 정책을 부여하여 1차 보안을 한다.


람다 정책에 APIGW만 Principal로 설정해서 보안을 할수 있다.

APIGW에서 왔을때만 허용하도록 설정하자.




<4>  키관리  , KMS ?


1

KMS ?

데이터키 

암호화된 데이터키


2

데이터키   ?

aws kms generate-data-key --key-id xxxxxxxxxxxxxxxxxxxx --key-spec AES_256

plan key = 데이터키 


3

마스터키는 외부로 나가지 않는다.  

마스터키 = KMS이다.


4

리소스 기반 정책 부여 가능

권한을 부여 가능


5

키교체?

예전키를 백업




<5> HSM


1

엄격한 규정준수 요구시 , 금융서비스의 경우 요청오는경우.


2

하드웨어를 독립적으로 사용하는것이다.

멀티로 사용하지는 않는다.

하드웨어 모듈이다.

최대 32대의  HSM

28개까지 사용, AWS 예약 4개.

2개 이상 사용 필요

구조 그림 참고


3

키정보는 매일 자동 백업됨

시간당 과금.



<6>  Secrets  Manager


1

암호를 관리하자.

중앙화

정기적으로 암호를 교체


2

DB 암호를 변경 -> 어플리케이션 암호도 변경해야 한다.  

불편하다.

그래서 userid , passwd 를 별도 저장소에서 관리.


3

람다로 DB  userid , passwd변경한다.

자동화작업

 Secrets  Manager가 수행한다.


아키 확인



4

user id , passwd 를  중앙에서 관리하는 것이다.

교차 계정 가능

보안 암호 교체 자동화

비용 발생


5

기타

시스템 매니저의 파라미터 스토어 ?

자동 교체 안됨.

추가 비용 없음.

단일 계정만됨.



<7> 보안을 고려한 설계 접근 방식


1

요구사항을 이해

문서화 해야 한다.


2

안전한 환경 구축

암호화 요구사항, 권한, 로깅 정의

해결?

cloudformation 을 구현한다.


3

템플릿을 사용  강제적용

해결?

서비스 카탈로그를 사용한다.


4

검증해야 한다.

정규적으로 감사해야 한다.



<8> CloudFormation


1

모듈식으로 설계 사용하라.

1개에 모두사용하면 관리가 힘들어 진다.


2

다중 리전 배포를 위한 StackSet 을 사용할수 있다.


3

템플릿에 자격 증명  user 암호 , passwd 를 넣지 않도록 한다.

시크리트 매니저와 연동해서 하용하라.


4

드리프트 감지기능을 이용해 변경을 확인하라.




<9> 서비스 카탈로그


1

구성사례 ?


2

IAM역할을 통해  카탈로그에 액세사 할 수 있는 사용자 제어


3

카탈로그 관리자


4

최종 사용자  고려


5

강제화 하겠다는 것이다.



감사합니다.

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