AWS 네트워크 접근제어 - '보안그룹' vs '네트워크 ACL'

beginner_king·2023년 1월 29일
0

AWS에서 네트워크 접근제어를 적용하는 서비스는
'네트워크 ACL'과 '보안그룹' 으로 나눌 수 있음

적용 범위, 단위 및 규칙 등에 차이가 있어 그 차이를 정리해보고
이 2개를 어떻게 활용해서 AWS 네트워크 접근제어를 구성해야할까 고민해보자

  • 온프레미스 환경에서 일종의 방화벽 역할을 하는 AWS 서비스
  • 보안그룹과 NACL은 작동 방식 등에 차이가 있으므로 이걸 이해하고 어떻게 활용해서 네트워크를 구성하는게 적절할지 고민할 수 있어야겠다

1. 보안그룹

1.1 적용 Level

  • 인스턴스 단위로 적용
    -> 각 인스턴스에 적용하고자 하는 보안그룹 설정 가능
*보안그룹을 적용할 수 있는 인스턴스
- EC2 뿐만 아니라 RDS, ELB 등 VPC 내에서 Elastic Network Interface(ENI)를 갖는 모든 서비스 

1.2 적용 방식

  • 인스턴스에 대한 인바운드/아웃바운드 트래픽 제어
  • 프로토콜, 포트 범위, 대상(IP) 지정
  • 인바운드/아웃바운드 규칙으로 나뉨
  • 허용 규칙만 생성 가능
    -> 화이트리스트 방식, 블랙리스트 방식 설정 불가
  • 하나의 인스턴스에 여러개의 보안그룹 설정 가능, 최대 5개까지

1.3 동작 방식

  • Stateful(상태를 저장) 방식
    -> 한번 인바운드에서 허용된 트래픽은 아웃바운드 규칙에 영향받지 않음
    -> 한번 아웃바운드에서 허용된 트래픽은 인바운드 규칙에 영향받지 않음
  • Stateful 방식이기에 아웃바운드를 설정하지 않아도 인바운드에서 허용된 트래픽은 아웃바운드에 영향받지 않고 인/아웃바운드 트래픽 통신 가능, but 외부에서 오는 트래픽 뿐만 아니라 인스턴스 내에서 자체적으로 발생하는 트래픽 제어하기 위한 목적에서는 아웃바운드 설정 필요

2. 네트워크 ACL

2.1 적용 레벨

  • 서브넷 단위로 적용
    -> 서브넷 별로 적용하고자 하는 NACL 설정

2.2 적용 방식

  • 서브넷 간 트래픽 제어
    -> 일종의 서브넷 내 인스턴스에 접근 전 최전선에 있는 방화벽
  • 규칙#, 프로토콜, 포트 범위, 대상(IP), 허용/거부 지정
  • 인바운드/아웃바운드 규칙으로 나뉨 - 보안그룹과 동일
    -> 인바운드 정책은 출발지로 지정/ 아웃바운드 정책은 목적지로만 지정 가능
  • 하나의 서브넷에는 한개의 NACL만 설정 가능
  • 허용/거부 규칙 설정 가능
    -> 특정 대상 차단은 NACL
  • 규칙 값이 작을수록 우선 적용
  • 규칙 목록은 인바운드/아웃바운드 각각 최대 20개까지 지정 가능
  • 설정된 서브넷 하위의 모든 인스턴스에 자동 적용
즉 client 요청 허용 > response도 허용해야 하는데, 
response(아웃바운드)의 경우 특정 포트로 지정하기가 어려움
why? 서버는 정해진 well-know 포트를 사용하지만(443 등)
client OS에서 사용하는 포트범위는 다양하고 OS마다 상이하기 때문

허용하고자 하는 IP를 특정하기 어렵다면 서비스포트로 제어하는 것도 고려?

2.3 동작 방식

  • Stateless(상태를 저장x) 방식
    -> 인바운드를 통과한 트래픽도 아웃바운드 규칙의 영향을 받음
    -> 아웃바운드를 통과한 트래픽도 인바운드 규칙의 영향을 받음
  • 인바운드 규칙을 적용받아 외부에서 들어온 패킷이 다시 밖으로 나가기 위해서는 아웃바운드 규칙도 적용해주어야 함

[출처]
1) https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-VPC-%EA%B0%9C%EB%85%90-%EC%82%AC%EC%9A%A9-%EB%B3%B4%EC%95%88-%EC%84%A4%EC%A0%95-Security-Group-NACL
2)https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup
3) https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-network-acls.html

profile
보초왕

0개의 댓글