DevOps29일차 - NACL

문한성·2023년 4월 17일
0

부트캠프

목록 보기
52/123
post-thumbnail

네트워크 ACL, NACL (Network Access Control List)

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

NACL 특징

  • 보안 그룹처럼 방화벽 역할을 담당

  • 서브넷 단위

    • 인스턴스 단위로 제어 불가능
    • 다양한 서브넷에 연동 가능 (1:N)
  • 포트 및 아이피를 직접 Deny 가능

    • 외부 공격을 받는 상황 등 특정 아이피를 블록하고 싶을 때 사용
  • Stateless

    • 들어오는 트래픽과 나가는 트래픽을 구분하지 않음
    • 즉 일반적으로 Outbound에 Ephemeral Port(임시 포트) 범위를 열어 주어야 정상적으로 통신 가능

NACL 규칙

  • 규칙 번호: 규칙에 부여되는 고유 숫자이며 규치깅 평가되는 순서 (낮은 번호부터)

    • AWS 추천은 100단위 증가
  • 유형: 트래픽 유형(예: ssh = 22, DNS = 53, UDP = 17 등)

  • 프로토콜: 통신 프로토콜 (예: TCP, UDP, SMP ...)

  • 포트 범위: 허용 혹은 거부할 포트 범위

  • 소스: IP 주소의 CIDR 블록

  • 허용/거부: 허용 혹은 거부 여부

NACL 규칙 순서

80번 포트로 들어오는 112.12.35.4/32 IP를 차단하기 위해서 규칙순서를 위와 같이 정의하면 규칙번호가 낮은 100번에서 모든 IP 접속을 허용하였기 때문에 해당 IP는 정상적으로 접속할 수 있게 됩니다. 즉 허용 범위가 낮은 순서부터 규칙번호를 먼저 부여하여야 합니다.

따라서 위와 같이 규칙 번호를 100번으로 부여하게 된다면 정상적으로 112.12.35.4/32 IP 유저를 차단하여 해당 유저는 접속할 수 없게 됩니다.

112.12.35.4/32 IP의 유저가 80번 포트는 차단하고 3306 포트로 들어오는 접속만 허용하고 싶다면 위와 같이 규칙 번호를 부여합니다. 규칙 번호를 부여할 때는 확장성을 고려하여 규칙 번호를 부여할 때는 다른 규칙 번호를 부여할 때를 생각하여 여유를 두어 부여해야 합니다.

NACL 고려할 점

  • Stateless 방화벽이기 때문에 원활한 통신을 위해서는 Outbound도 신경을 써야 한다.
    • 임시 포트 Allow
    • Linux: 32768 ~ 61000
    • Windows 1025 ~ 5000(XP), 49152 ~ 65535 (Vista 이상부터)
    • 서브넷에서 나가거나 들어오는 트래픽에만 적용
  • 즉 서브넷 내부의 트래픽에 대해서는 적용되지 않음
  • 다양한 서브넷으로 구성되어 있는 멀티 티어 아키텍처라면 더 많은 고민이 필요함
  • VPC 생성시, 혹은 AWS 계정 생성시 주어지는 VPC에 기본 하나 제공
    • 모든 트래픽 Allow
    • 단 직접 생성하는 NACL의 경우 모든 트래픽 Deny
  • 하나의 서브넷은 하나의 NACL만 연동 가능, 단 하나의 NACL은 여러 서브넷에 연동 가능

NACL과 Security Group(보안 그룹)

NACL 특징

  • 서브넷 단위로 적용

  • NACL이 설정된 서브넷 안의 모든 인스턴스에 적용

  • 1개의 VPC에 NACL 최대 200개 까지 생성 가능

  • 1개의 NACL에 인바운드 20개, 아웃바운드 20개 등록 가능

  • NACL은 여러개의 서브넷에 적용 가능

  • 서브넷은 하나의 NACL만 적용 가능

  • 규칙 번호가 낮은것부터 우선 적용

  • Stateless 성질 (요청 정보를 따로 저장하지 않기 때문에 응답하는 트래픽에 대한 필터링을 설정해야함)

Security Group 특징

Security Group

  • 인스턴스에 대한 인바운드/아웃바운드 트래픽을 제어하는 방화벽 역할을 한다.
  • NACL과 가장 큰 차이점을 본다면 NACL은 네트워크 방화벽이고, Security Group은 인스턴스 방화벽이다.

Security Group의 특징은 다음과같다.

  • 인스턴스 단위로 적용

  • 특정 그룹을 지정시에만 인스턴스에 적용

  • 1개의 VPC에 SG 최대 2500개 까지 생성 가능

  • 1개의 SG에 인바운드 60개, 아웃바운드 60개 등록 가능

  • Stateful 성질 (요청 정보를 저장하여 응답하는 트래픽 제어를 하지 않음)

profile
기록하고 공유하려고 노력하는 DevOps 엔지니어

0개의 댓글