보안그룹과 NACL - aws_introduction[16]

보안그룹과 NACL - aws_introduction[16]

생성일
Jul 23, 2024 05:35 AM
Description
보안그룹과 NACL에 대해 알아봅니다.
Tag
AWS

보안 그룹(Security Group)

📌
보안 그룹은 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다.
  • Network Access Control List(NACL)와 함께 방화벽의 역할을 하는 서비스
  • Port 허용
    • 기본적으로 모든 포트는 비활성화
    • 선택적으로 트래픽이 지나갈 수 있는 Port와 Source를 설정 가능
    • Deny는 불가능 → NACL로 가능함
  • 인스턴스 단위
    • 하나의 인스턴스에 하나 이상의 SG 설정 가능
    • NACL의 경우 서브넷 단위
    • 설정된 인스턴스는 설정한 모든 SG의 룰을 적용 받음
    • 기본 5개, 최대 16개
    •  
notion image
 

Stateful

  • 보안그룹은 Stateful
  • Inbound로 들어온 트래픽이 별 다른 Outbound 설정 없이 나갈 수 있음
  • NACL은 Stateless
 
보통의 통신 방식
보통의 통신 방식
 
Stateful한 방식 ( SG )
Stateful한 방식 ( SG )
Stateful한 방식의 경우, Outbound Allow가 none 이지만, 이미 56630 포트를 사용하여 80포트로 요청이 들어온 경우, 나갈때는 별다른 제지를 하지 않는다.
⇒ 방금 들어온 트래픽이기 때문
 
Stateless한 방식 ( NACL )
Stateless한 방식 ( NACL )
들어온 것과 나간 것은 별개로. 전혀 상관 없음
그렇기 때문에 Outbound Allow 포트를 더욱 신경써야 한다.
 

네트워크 ACL (NACL)

  • 보안그룹처럼 방화벽 역할을 담당
  • 서브넷 단위
  • 서브넷 단위포트 및 아이피를 직접 Deny 가능
    • 외부 공격을 받는 상황 등 특정 아이피를 블록하고 싶을 때 사용
  • 순서대로 규칙 평가 (낮은 숫자부터)
 

NACL 규칙

  • 규칙 번호: 규칙에 부여되는 고유 숫자이며 규칙이 평가되는 순서. (낮은 번호부터)
    • AWS 추천은 100단위 증가
  • 유형: 미리 지정된 프로토콜. 선택 시 AWS에서 잘 알려진 포트(Well Known Port)이 규칙에 지정됨
  • 프로토콜: 통신 프로토콜 (예: TCP, UDP, SMP, …)
  • 포트 범위: 허용 혹은 거부할 포트 범위
  • 소스: IP 주소의 CIDR 블록
  • 허용/거부: 허용 혹은 거부 여부
 

AWS NACL 규칙 순서

notion image
규칙 번호는 낮은 순서대로 적용되기 때문에, 위의 상황에서는 Allow가 되어버린다.
 
notion image
해당 이미지에서는 Deny가 된다.
 

Virtual Private Cloud(VPC) 구조

notion image
 

정리

  • 보안 그룹
    • 가상의 방화벽
    • 인스턴스 단위
    • Port의 허용만 가능 (Deny는 NACL에서 가능)
    • Stateful!
  • Network Access Control List(NACL)
    • 가상의 방화벽
    • 서브넷 단위
    • Port의 허용과 Deny 가능