brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 13. 2020

492. IAM  둘러보기, 방화벽 마이그레이션


<1> IAM 중급 

<2> IAM 보안 모범사례

<3> 방화벽  마이그래이션 방법은?

<4>  IAM 무료 중급과정 실습




<1> IAM 중급 

1

iam 보안주체(principal) ?

요청 주체 (identity)이다.


root

user

assumed role  등이다.



2

ROOT 계정이 해야 하는것이 있다 ?

비지니스 서포트를 변경할때,  빌링 정보를 변경할때 이다.

root는 accesskey를 만들지 않도록 한다.

모든 것이 날아갈수 있다.


3.  AWS Account id 가 많은 경우,  오거나이제이션으로 묶어 관리하라.

회사의 경우 account가 많다 = ROOT가 많다 = 보안에 문제가 있을수 있다 = 오거나이제이션 으로 묶는다.

오거나이제이션은  파트너사로 오거나이제이션이 넘어가 있지 않는 경우에만 사용이 가능하다.


4

IAM 사용자?

IAM 서비스를 통해 개별적으로 생성하여 권한 할당.


Secrete / Access key 주기변경 ?

수동으로 변경하는 방법이 있다.

Aws 에서 자동화 방법은 없다.

솔루션인 vault  사용으로 관리 가능하는 방법이 있다.




5

IAM 사용자 권한  vs   IAM  역할 차이?


iam 사용자 권한 - 권한을 계속 가지고 있는것


role은 권한을 임시로 받는것이다.

assume role

신뢰 정책?  access-key , secret key


access key / secret key  / 토큰 

토큰은 유형에 따라 시간이 틀리다. 10분, 1시간 등



6

role을 메타 데이트를 통해 획득이 가능하다.

소스에 하드코딩해서 입력할수 있다.

해당 OS안에서 해당 EC2 안에서만 유효하다.


IMDS  참고

https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/environments-cfg-ec2-imds.html


7

IAM policy 종류?


SCP - 오가니게이션에서 일괄 통제

iam 

aws sts

specific aws sevice

endpoint policy



8

정책은 2가지 방식으로 준다.


Identity 기반 정책 ?

scp

iam


리소스 기반 정책 ?

버킷 policy

acl



9

EC2 생성 가능한 지역을 제한 가능한가?

컨디션으로 한다.

지역과 서버 타입도 지정할수 있다.


10

보안 허용 순서 ?

1) 퍼미션 범위  pemission boundary - 일반적으로 지정하지 않아 사용하지 않고 있다.

2) 퍼미션 권한 permission policy

3) 서비스 제한 권한

4) 세션 정책

- 권한은 교집합이다.

최소.


요청 허용법?

모두 허용 해야 한다.

사용자 ------> 명시적 deny ----> pemission boundary 허용 ---> permission policy 허용 - 허용됨  



11

보통 permission policy  사용한다.

s3에  permission policy 사용



12

api 요청

ID 기반 정책 ?


흐름도

사용자 -------> SCP ------>  Permission boundary ---> 세션 정책 ----> 허용 



13

리소스 기반 정책?


14

크로스어카운트 접근은?

접근 대상에서도 권한을 주어야 한다.



15

NotAction   이란 ?

iam빼고 제공하는 것.


iam allow 를 추가할떄  NotAction은 추가 가능하다.



16

iam role을 적극적으로 사용하라.


iam role -- ec2권한

ec2 admin을 줘야 하는경우 ?

role을 사용하라.


role ec2 admin ------- ec2 create



17

멀티 계정 환경에서의 자원 공유 ?



18

태그를 활용하라.?

abac 

속성값으로 관리한는것

테크값 기준을 접근 권한을 주는것


19

iam 생성 자동화 ?

s3----> 람다 -> 보안 어카운트에서 리뷰 -------- 개발자 계정에 생성한다.



20

남는  권한 부여 탐지?  

사용하지 않는 권한 확인?


iam에 access advisor 있다  ?

얼마동안 서비스를 안썼는지 볼수 있다.

api를 통해 조회도 가능하다.



21

access analyzer  ? 

서로 다른 aws계정간에 공유된 자원, 전체 공유된거 자동 탐지


resource-based 정책

s3버킷에도 access analyzer  가 있다.


aardvark 오픈 소스

iam access adivsor 정보를 조회해서 사용


repokid 불필요한 권한 삭제.



22

퍼미션 바운더리는 위임을 위해 있는것이다.

iam -  permission 메뉴


ec2와 s3만 넣는다.


iam권한을 주되 컨디션을 단다.

퍼미션 바운더리를 단다.


개발자가 

정책을 만들때  퍼미션 바운더리를 만들어야만 생성할수 있다.

max권한은  퍼미션 바운더리 를 제한된다.

퍼미션 바운더리 는 user와 롤에 할당 가능하다. 


any any 하고 

deny를 적용하면 동일한 효과가 난다.


운영을 위임하는 경우?

위임은 안하고 관리할 경우?



23

토큰 받도록  할수 있다.

ttl을 정할수 있다.



24

메타데이터 취약점 관리?

cli로  version 1, version2로 변경가능하다.


24

cloudwatch 매트릭으로 점검하라.

서비스 영향


25

메타데이터 취약점 관리?

put 169.254

get 169 254로  개발 코드를 변경해야 한다.

조치?

코드를 바꿔라.


26

Cloud Formation 에서도 변경하도록 된다 ?


27

ip로 제안 하는데 , 안되는 경우가 있다.

어떻게 하나?

via 서비스  =  aws 서비스에서  요청하는 경우  허용하도록 하는 방법이 있다.  = 컨디션에 있다.



28

태그는 2가지가 있다.

1) 리소스 태그

2) 리퀘스트 태그


태그가 없으면 안만들어지게 할수 있다.

오가니제이션에 태그 정책이 있다.



29

access key 변경?


ad 사용하라. 

페더레이션으로 하라.

sso 사용하라.



<2> IAM 보안 모범사례


https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/best-practices.html





<3> 방화벽  마이그래이션 방법은?


1

서디 파트를 쓰라.


2

IDC 방화벽은  5개  정보를 가지고 있다. 

소스 ip, 소스 포트를 지정한다.


AWS 는 3개 지정한다.

마이그레이션 안된다.

보안그룹 , NACL 은 3개를 지정한다.


3

관문형 방화벽으로 AWS 서비스하긴 힘들다.

멀티케스트가 안되서 failover가 쉽지않다.




<4>  IAM 무료 중급과정 실습


https://www.aws.training/Details/eLearning?id=53780



감사합니다.

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