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 LBAppGateway: Azure Application GatewaySql: Azure SQL
- 태그를 사용하면 규칙 관리가 단순화됨
2-3. 애플리케이션 보안 그룹(Application Security Group, ASG)
- 정의: VM 집합을 논리적 그룹으로 묶어 NSG 규칙에서 소스/목적지로 사용
- 장점:
- IP 주소 대신 그룹 단위 규칙 적용
- VM 추가/제거 시 NSG 규칙 변경 불필요
3. 트래픽 흐름(Traffic Flow)
- 인바운드: 외부 → NSG → VM
- 아웃바운드: VM → NSG → 외부
- 적용 순서:
- NIC 규칙 → Subnet 규칙 → 기본 규칙
- 결과: 첫 번째 일치 규칙(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)
- 규칙 우선순위 관리: 낮은 숫자가 먼저 적용됨
- 보안 태그 활용: IP 변경 없이 규칙 적용 가능
- 서브넷과 NIC 정책 분리: 계층별 보안 관리
- 필요 최소 권한 원칙: 최소한의 허용 규칙만 작성
- 모니터링 활성화: Flow Log로 트래픽 분석 및 문제 해결
6. 요약
| 항목 | 내용 | | --- | --- | | 정의 | Azure에서 트래픽 허용/차단을 제어하는 가상 방화벽 | | 적용 위치 | Subnet, NIC | | 구성 요소 | 보안 규칙, 보안 태그, 애플리케이션 보안 그룹 | | 기본 규칙 | AllowVNetInBound, DenyAllInbound 등 | | 관리 방법 | Portal, CLI, PowerShell, ARM/Bicep | | 모니터링 | NSG Flow Logs, Azure Monitor |