개념 정리/IT 인프라

[IT 용어] 네트워크 보안 그룹 (NSG, Network Security Group) & 인바운드/아웃바운드 트래픽

PaperDrop 2025. 6. 16. 23:35

○ 개요

 클라우드 환경에서 보안을 유지하기 위한 핵심 도구 중 하나가 바로 네트워크 보안 그룹(NSG)입니다. 특히 Azure와 같은 퍼블릭 클라우드에서는 네트워크 계층에서의 접근 제어를 위해 필수적으로 사용됩니다.

 

 

 

○ 네트워크 보안 그룹(NSG)의 정의

 NSG(Network Security Group)는 가상 네트워크(VNet) 내의 자원들(가상 머신, 서브넷 등)에 대한 트래픽을 허용하거나 차단하는 규칙을 설정하는 방화벽 역할의 논리적 구성 요소입니다.


 즉, 인바운드(Inbound) 또는 아웃바운드(Outbound) 네트워크 트래픽이 특정 리소스에 도달하거나 나가는 것을 제어할 수 있습니다.

 

 

 

○ NSG의 주요 구성 요소

  • 보안 규칙(Security Rules)
    각각의 NSG에는 여러 개의 규칙이 존재하며, 각 규칙은 다음과 같은 요소를 포함합니다:
    • 이름(Name): 규칙의 식별자
    • 우선순위(Priority): 낮을수록 먼저 평가됨
    • 출발지(Source) / 목적지(Destination): IP 주소나 태그
    • 포트(Port): 대상 포트 번호 또는 범위
    • 프로토콜(Protocol): TCP, UDP, 또는 *
    • 작업(Action): 허용(Allow) 또는 거부(Deny)
  • 기본 규칙(Default Rules)
     NSG는 사용자가 만든 사용자 정의 규칙 외에도 기본적으로 내장된 규칙을 가지고 있어, 기본적인 Azure 서비스 간 통신이나 관리가 가능하도록 설정되어 있습니다.

 

 

 

○ NSG의 적용 대상
→ NSG는 다음 리소스에 적용할 수 있습니다:

  • 서브넷(Subnet): 서브넷 수준에서 트래픽을 제어
  • 네트워크 인터페이스 카드(NIC): 개별 VM 수준에서 제어

주의: 서브넷과 NIC 양쪽에 NSG를 적용할 수 있으며, 이 경우 두 NSG의 규칙이 모두 적용됩니다. 트래픽은 둘 다 통과해야 허용됩니다.

 

 

 

○ NSG와 방화벽의 차이점

항목 NSG Azure Firewall
용도 네트워크 계층의 기본 제어 중앙 집중식 고급 보안 정책
L3/L4 제어 가능 가능
L7 제어 불가능 가능 (애플리케이션 기반 필터링)
NAT 기능 불가능 가능
로깅/모니터링 기본 로그만 제공 고급 로깅/분석 제공

 

 

 

○ NSG 활용 예시

  • Web 서버를 위한 인바운드 규칙 : 허용 | TCP | 포트 80 | 출발지: Internet | 목적지: VM IP
  • 내부 데이터베이스 접근 제한 : 허용 | TCP | 포트 1433 | 출발지: 내부 서브넷 | 목적지: DB VM
  • 모든 아웃바운드 차단 : 거부 | * | 포트 * | 출발지: VM | 목적지: Internet

 

 

○ NSG 모니터링 및 로깅

 NSG는 Azure Monitor, Network Watcher와 연계하여 진단 로그, 흐름 로그(flow logs), 트래픽 분석 기능을 제공합니다. 이를 통해 NSG 규칙이 실제로 어떻게 작동하는지 시각화하고 추적할 수 있습니다.

 

 

 

○ 베스트 프랙티스

  • 최소 권한 원칙(Least Privilege Principle)을 따르기
  • 불필요한 포트 허용 금지
  • 규칙 이름과 설명을 명확히 작성
  • 규칙 변경 시 우선순위 충돌에 주의
  • NSG 로그를 활용한 정기적인 보안 감사

 

 

 

※ 인바운드와 아웃바운드 트래픽 제어 - 추가 설명

 

○ 개요

 네트워크 보안 그룹(NSG)이 트래픽을 제어한다는 것은, 어떤 통신(데이터 흐름)이 허용될지 또는 차단될지를 결정한다는 뜻입니다. 이 통신은 네트워크 방향에 따라 두 가지로 나뉩니다

 

 

 

○ 인바운드 트래픽 (Inbound Traffic)

외부 → 내부로 들어오는 트래픽

  • 예: 인터넷에서 가상 머신(VM)으로 접속 시도
  • 예시 상황: 웹 서버를 운영 중일 때, 사용자가 웹 브라우저로 VM의 IP(예: http://yourvmip)에 접속하면 인바운드 트래픽이 발생합니다.

- NSG는 다음을 판단합니다:
“외부에서 들어오는 이 요청(트래픽)을 받아들여도 되는가?”

📌 활용 예시
포트 80 (HTTP)으로 오는 요청은 허용,
포트 22 (SSH)는 특정 IP에서만 허용,
기타 모든 요청은 차단.

 

 

 

 

○ 아웃바운드 트래픽 (Outbound Traffic)

내부 → 외부로 나가는 트래픽

  • 예: 가상 머신에서 인터넷으로 업데이트 요청
  • 예시 상황: VM이 윈도우 업데이트 서버나 외부 API에 연결하려고 할 때, 아웃바운드 트래픽이 발생합니다.

- NSG는 다음을 판단합니다:
“이 가상 머신이 외부와 통신해도 되는가?”

📌 활용 예시

  • 모든 아웃바운드 인터넷 트래픽 허용
  • 특정 포트(예: 443 HTTPS)만 허용하고 나머지는 차단
  • 내부 DB서버는 인터넷 아웃바운드 완전 차단

 

 

○ 핵심 포인트

  • NSG는 트래픽이 특정 리소스(예: VM, 서브넷)에 도달하거나 나가는 경로에서 검사를 수행합니다.
  • 규칙은 우선순위에 따라 적용되며, 가장 먼저 일치하는 규칙이 트래픽의 허용 또는 차단을 결정합니다.
  • 규칙이 명시되어 있지 않은 트래픽은 기본적으로 차단(deny) 됩니다.

 

 

○ 이해를 돕기 위한 비유

마치 건물의 **출입문에 경비(NSG)**가 서서
“누가 들어오고 나갈 수 있는지, 언제, 어디로 가는지를 규칙에 따라 결정하는 것”과 같습니다.