DevOps/AWS

NACL(Network Access Control List)

prden 2022. 6. 18. 17:14

1. NACL

네트워크 액세스 제어목록은 1개 이상의 서브넷 내부와 외부의 트래픽을 제어하기 위한 방화벽 역할을 하는 VPC를 위한 선택적 보안 계층이다.

  • 보안 그룹처럼 방화벽 역할을 담당한다. 
  • 서브넷 단위로 인스턴스 단위로 제어 불가능하다. 
  • 다양한 서브넷에 연동가능하다.
  • 포트 및 아이피를 직접 Deny가능하다.
  • 실제에서는 보안그룹을 우선적으로 사용하고 보안그룹으로 해결하지 못하는 부분을 NACL로 해결한다. 
  • Stateless라서 들어오는 트래픽과 나가는 트래픽을 구분하지 않는다. 따라서 Outbound에 Ephemeral Port(임시포트) 범위를 열어 주어야 정상적으로 통신이 가능하다. 

2. NACL 규칙 순서

https://www.youtube.com/watch?v=mZf8eBE1bOk&list=PLfth0bK2MgIaceKn-kqXDOAzBzsXlbBb_&index=1

규칙번호는 작은 것부터 적용되어서 112.12.35.4/32를 막지 못한다. 따라서 막고싶은 ip를 가장위에 올려놔야 deny가능하다. 규칙번호는 100단위로 여유를 둬야한다. 추가 번호가 사이에 들어갈 수 있기 때문에

 

3. NACL 고려할 점 

  • Stateless 방화벽이기 때문에 원활한 통신을 위해서는 Outbound도 신경을 써야함.(임시포트 Allow)
  • Linux : 32768 ~ 61000, Windows 1025~5000(XP)
  • 서브넷에서 나가거나 들어오는 트래픽에만 적용하고 서브넷 내부의 트래픽에 대해서는 적용되지 않는다.
  • 하나의 서브넷은 하나의 NACL만 연동 가능하다. 단 하나의 NACL은 여러 서브넷에 연동 가능하다. 

https://www.youtube.com/watch?v=mZf8eBE1bOk&list=PLfth0bK2MgIaceKn-kqXDOAzBzsXlbBb_&index=1

 

참고 : https://www.youtube.com/watch?v=mZf8eBE1bOk&list=PLfth0bK2MgIaceKn-kqXDOAzBzsXlbBb_&index=1