DevOps/AWS

AWS의 자격 증명 및 보안그룹 VS. NACL(네트워크 액세스 제어 목록)

prden 2022. 5. 31. 23:08

1. AWS의 자격 증명

 1) 콘솔 액세스 자격 증명 = 콘솔 로그인을 위해 필요

  • Root Email / Password : 루트 로그인을 위해 사용
  • IAM 유저 이름 / Password : IAM 유저가 로그인 하기 위해 사용
  • Multi-Factor authentication(MFA): 다른 자격 증명(위 2가지)에 보안을 강화하기 위한 임시 비밀번호

 2) 프로그램 방식 엑세스 자격 증명

  • AWS의 CLI 혹은 SDK를 사용할 때 필요한 자격 증명
  • 장기 자격 증명과 임시 자격 증명으로 구성된다. 
  • 구성 : Access Key ID : 유저 이름에 해당하는 키로 공개되어도 무방하다 / Secret Access Key : 패스워드에 해당하는 키 / Tocken : 임시 자격 증명에만 사용. 임시 자격 증명이 유효한지 검증하기 위해 사용한다. 

3) 장기 자격 증명

  • IAM 유저로 부터 생성된다. (유저 하나당 2개의 자격 증명 발급 가능)
  • 반 영구적이며, 삭제하지 않으면 유효기간 없이 계속 사용가능하다. (주로 어플리케이션에 하드코딩 되어 사용된다. )
  • Secret Access Key의 경우 유실시 복구 불가능

4) 임시 자격 증명 

  • 역할(Role)을 identity가 Assume해서 생성
  • 임시적 : 몇 분에서 몇 시간가지 지속기간이 정해져 있음, 만료 된 후에는 더 이상 사용 불가능
  • 동적으로 생성되서 사용 : 하드 코딩이 아니라 필요한 시점에 생성해서 활용, 이후 필요에 따라 재 발급
  • 보안이 뛰어남 : 지속기간이 정해져 있고 IAM 유저 외에 다양한 Identity에게 자격 증명 부여 가능하다. 예를 들어 Facebook, Google, Open ID, 회사 조직 같이 다양한 Identity에게 권한 부여 가능.
  • AWS STS 를 사용해 생성하고, IAM User, Web Identity(ex, Facebook 유저)가 특정 Role을 Assume하여 자격 증명을 생성한다. 
  • Tocken은 임시 자격증명의 유효성을 검증한다. (시간 제한)

2. 보안그룹 (Security Group)

인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 한다. 또한, Network Access Control List(NACL)와 함께 방화벽의 역할을 하는 서비스

  • Port 허용 : 기본적으로 모든 포트는 비활성화, 선택적으로 트래픽이 지나갈 수 있는 Port와 Source를 설정가능하다.
  • Deny(특정 아이피 차단)은 불가능하다. NACL로 Deny가능하다.
  • 인스턴스 단위로 보안그룹을 설정한다, 정확히는 ENI(Elastic Network Interface)단위이고, 하나의 인스턴스에 하나 이상의 보안그룹설정 가능하다.
  • NACL의 경우 서브넷 단위이고 설정된 인스턴스는 설정한 모든 보안그룹의 룰을 적용 받음

보안 그룹의 Stateful

  • 보안그룹은 Stateful하다. 이말은 Inbound로 들어온 트래픽이 별 다른 Outbound설정 없이 나갈 수 있다는 말이다. 
  • 반면, NACL은 Stateless하다.

3. 네트워크 ACL(NACL)

  • 보안그룹처럼 방화벽 역할을 담당
  • 서브넷 단위로 NACL을 설정하고 
  • 포트 및 아이피를 직접 Deny 가능하다. - 외부 공격을 받는 상황같이 특정 아이피를 블록하고 싶을 때 사용한다. 

4. 정리 ( 보안그룹 vs. Network Access Control List(NACL))

https://www.youtube.com/watch?v=0hXYfi55_Ww&list=PLfth0bK2MgIaceKn-kqXDOAzBzsXlbBb_&index=3

보안 그룹 : 

  • 가상의 방화벽 역할
  • 인스턴스 단위
  • Port의 허용만 가능(Deny는 NACL에서 가능)
  • Stateful

Network Access Control List(NACL)

  • 가상의 방화벽
  • 서브넷 단위
  • Port의 허용과 Deny 가능
  • Stateless하다.

5. 보안 그룹의 Source (3가지)

  • IP Range(CIDR) 
  • 접두사 목록 : 하나 이상의 CIDR 블록의 집합, 보안그룹 혹은 Route Table에서 많은 대상을 참조하기 위해 사용한다. 생성 시점에 최대 엔트리 숫자를 지정한다.(이후 변경 가능)

https://www.youtube.com/watch?v=0hXYfi55_Ww&list=PLfth0bK2MgIaceKn-kqXDOAzBzsXlbBb_&index=3

테이블을 이렇게 미리 빼두고 보안그룹에서 참조할 수 있도록 설정하는 것이 접두사 목록이다.

  • 다른 보안그룹(보안 그룹 참조)

https://www.youtube.com/watch?v=0hXYfi55_Ww&list=PLfth0bK2MgIaceKn-kqXDOAzBzsXlbBb_&index=3

-> ELB에서 outbound 보안그룹 설정할 때 사용하기도 한다. 

 

※ 참고 : https://www.youtube.com/watch?v=pLlX-uxhsXg 

 

https://www.youtube.com/watch?v=0hXYfi55_Ww&list=PLfth0bK2MgIaceKn-kqXDOAzBzsXlbBb_&index=2 

 

'DevOps > AWS' 카테고리의 다른 글

AccessKey 대신 IAM 역할을 활용한 EC2권한 부여  (0) 2022.06.18
NACL(Network Access Control List)  (0) 2022.06.18
구조화된 데이터 분석  (0) 2022.05.07
CloudFront  (0) 2022.04.11
Part 2. Storage System  (0) 2022.04.10