Taeyoung Kim

Cloud & Platform

Azure 네트워크 보안 그룹(NSG) 완전 정리

Azure 네트워크 보안 그룹(NSG) 완전 정리 학습 내용을 정리한 백필 노트입니다.

이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.


1. 개요(Overview)

  • 정의:

    Azure NSG(Network Security Group)는 가상 네트워크(VNet) 내의 트래픽을 제어하는 방화벽 역할을 하는 리소스입니다.

    즉, NSG는 인바운드(Inbound)와 아웃바운드(Outbound) 트래픽을 허용하거나 차단할 수 있습니다.

  • 목적:

    • VM, Subnet, NIC 등 리소스에 대한 접근 제어
    • 애플리케이션/서비스 보호
    • 네트워크 보안 정책 일관성 유지
  • 적용 위치:

    • 서브넷(Subnet) 단위

    • 개별 NIC(Network Interface Card) 단위

      → 서브넷 + NIC에 동시에 적용 가능하며, NIC가 우선순위를 가집니다.


2. 구성 요소(Components)

2-1. 보안 규칙(Security Rules)

  • 정의: 트래픽을 허용(Azure Allow) 또는 거부(Deny)하는 규칙

  • 주요 속성:

    | 속성 | 설명 | | --- | --- | | 이름(Name) | 규칙 식별 이름 | | 우선순위(Priority) | 100~4096 사이 숫자, 낮을수록 우선 | | 소스(Source) | 트래픽 출발지(IP, Tag, VirtualNetwork 등) | | 소스 포트(Source Port) | 출발지 포트 | | 목적지(Destination) | 트래픽 도착지(IP, Tag, VirtualNetwork 등) | | 목적지 포트(Destination Port) | 도착지 포트 또는 범위 | | 프로토콜(Protocol) | TCP, UDP, Any | | 액션(Action) | Allow / Deny | | 설명(Description) | 규칙 설명(optional) |

  • 우선순위 적용:

    • NSG 내 규칙은 숫자가 낮은 순서대로 평가
    • 트래픽이 첫 번째 일치 규칙을 만나면 평가 종료
  • 기본(Default) 규칙:

    Azure NSG는 기본 규칙을 제공합니다.

    | 규칙 유형 | 설명 | | --- | --- | | AllowVNetInBound | 같은 VNet 내부 트래픽 허용 | | AllowAzureLoadBalancerInBound | Azure LB에서 들어오는 트래픽 허용 | | DenyAllInbound | 나머지 인바운드 트래픽 차단 | | AllowVNetOutBound | 같은 VNet 내부 아웃바운드 허용 | | AllowInternetOutBound | 인터넷 접근 허용 | | DenyAllOutbound | 나머지 아웃바운드 트래픽 차단 |


2-2. 보안 태그(Security Tags)

  • 정의: Azure에서 미리 정의된 논리적 이름을 사용하여 IP 범위를 지정
  • 주요 태그:
    • VirtualNetwork : 같은 VNet 전체
    • Internet : 인터넷 전체
    • AzureLoadBalancer : Azure LB
    • AppGateway : Azure Application Gateway
    • Sql : Azure SQL
  • 태그를 사용하면 규칙 관리가 단순화됨

2-3. 애플리케이션 보안 그룹(Application Security Group, ASG)

  • 정의: VM 집합을 논리적 그룹으로 묶어 NSG 규칙에서 소스/목적지로 사용
  • 장점:
    • IP 주소 대신 그룹 단위 규칙 적용
    • VM 추가/제거 시 NSG 규칙 변경 불필요

3. 트래픽 흐름(Traffic Flow)

  1. 인바운드: 외부 → NSG → VM
  2. 아웃바운드: VM → NSG → 외부
  3. 적용 순서:
    • NIC 규칙 → Subnet 규칙 → 기본 규칙
  4. 결과: 첫 번째 일치 규칙(Action=Allow/Deny) 적용 후 평가 종료

4. 관리 및 모니터링(Management & Monitoring)

4-1. 관리

  • 방법:
    • Azure Portal, Azure CLI, PowerShell, ARM Template, Bicep
  • 권장 구조:
    • 서브넷 단위 NSG: 기본 보안 정책
    • NIC 단위 NSG: 개별 VM 예외 정책

4-2. 모니터링

  • NSG Flow Logs (Network Watcher):
    • 트래픽 흐름 기록, 분석 가능
    • Blob Storage에 로그 저장 가능
  • Azure Monitor / Log Analytics:
    • 이상 트래픽 탐지
    • 보안 규칙 준수 확인

5. 베스트 프랙티스(Best Practices)

  1. 규칙 우선순위 관리: 낮은 숫자가 먼저 적용됨
  2. 보안 태그 활용: IP 변경 없이 규칙 적용 가능
  3. 서브넷과 NIC 정책 분리: 계층별 보안 관리
  4. 필요 최소 권한 원칙: 최소한의 허용 규칙만 작성
  5. 모니터링 활성화: Flow Log로 트래픽 분석 및 문제 해결

6. 요약

| 항목 | 내용 | | --- | --- | | 정의 | Azure에서 트래픽 허용/차단을 제어하는 가상 방화벽 | | 적용 위치 | Subnet, NIC | | 구성 요소 | 보안 규칙, 보안 태그, 애플리케이션 보안 그룹 | | 기본 규칙 | AllowVNetInBound, DenyAllInbound 등 | | 관리 방법 | Portal, CLI, PowerShell, ARM/Bicep | | 모니터링 | NSG Flow Logs, Azure Monitor |