네트워크 보안 그룹 및 애플리케이션 보안 그룹

이 문서에서는 트래픽 필터링에 NSG(네트워크 보안 그룹)를 사용하여 Azure 가상 네트워크의 네트워크 트래픽을 제어하는 방법을 설명합니다. 또한 네트워크 인터페이스의 논리적 그룹화에 대한 ASG(애플리케이션 보안 그룹)도 다룹니다.

이 문서에서 다루는 내용

네트워크 보안 그룹을 사용하면 Azure 가상 네트워크의 리소스에 대한 인바운드 및 아웃바운드 트래픽을 필터링할 수 있습니다. 애플리케이션 보안 그룹을 사용하면 역할별로 네트워크 인터페이스를 그룹화할 수 있습니다. 개별 IP 주소 대신 논리 그룹을 참조하는 NSG 규칙을 작성합니다.

이 문서가 필요한 사람

다음과 같은 경우 이 문서를 읽어보세요.

  • Azure 가상 네트워크에 연결하는 모든 리소스를 배포합니다.
  • 서브넷, 가상 머신 또는 Azure 서비스 간에 흐르는 트래픽을 제어해야 합니다.
  • VM의 크기가 자주 조정되거나 IP 주소가 변경되는 환경에 대한 규칙 관리를 간소화하려고 합니다.
  • 새 Azure 워크로드에 대한 보안 기준을 빌드하고 있습니다.

리프트 앤 시프트 포커스: 온-프레미스 방화벽 및 세분화 규칙을 서브넷 간에 NSG로 다시 만들고 애플리케이션에서 이미 사용하는 계층 간 흐름을 미러링합니다.

포커스 현대화: 애플리케이션 보안 그룹을 사용하여 IP 주소 대신 워크로드 역할별로 규칙을 표현하고, 서브넷 NSG를 허브 방화벽 및 검사된 송신을 강제로 적용하는 사용자 정의 경로와 페어링합니다.

클라우드 간 포커스: AWS 및 Google Cloud의 보안 그룹 규칙을 Azure NSG로 미러링하여 워크로드가 클라우드 간에 이동함에 따라 트래픽 정책이 일관성을 유지합니다.

Azure 서비스 및 기능

다음 표에서는 Azure 가상 네트워크의 네트워크 트래픽 필터링에 사용되는 서비스 및 기능에 대해 설명합니다.

서비스 또는 기능 제공하는 내용 사용 시기
NSG(네트워크 보안 그룹) 서브넷 또는 네트워크 인터페이스에 적용되는 인바운드 및 아웃바운드 보안 규칙 집합입니다. 규칙은 우선순위에 따라 평가되며, 숫자가 가장 낮은 항목이 우선합니다. 서브넷 또는 개별 VM 수준에서 트래픽을 제어합니다. 가상 네트워크를 사용하는 모든 워크로드에 적용합니다.
ASG(애플리케이션 보안 그룹) 네트워크 인터페이스의 논리적 그룹화입니다. IP 주소 대신 NSG 규칙에서 원본 또는 대상으로 ASG를 사용합니다. 동일한 역할(웹 서버, 앱 서버)을 제공하는 여러 VM이 있으며 크기 조정을 통해 해당 IP 주소가 변경됩니다. 그룹화된 모든 NIC는 동일한 가상 네트워크에 있어야 합니다.
서비스 태그 Microsoft 자동으로 관리 및 업데이트되는 Azure 서비스에 대한 명명된 IP 주소 접두사 그룹입니다. 예: AzureCloud, Storage, AzureLoadBalancer, Sql. IP 범위를 하드 코딩하지 않고 NSG 규칙에서 Azure 서비스를 참조합니다. Microsoft 기본 IP 범위를 자동으로 업데이트합니다. 사용자 지정 서비스 태그를 만들 수 없습니다.

일반 서비스 태그

다음 표에서는 NSG 규칙에서 가장 자주 사용되는 서비스 태그를 나열합니다.

서비스 태그 설명
Internet 가상 네트워크 외부의 모든 공용 IP 주소 공간입니다. 공용 인터넷에서 발생하거나 공용 인터넷으로 향하는 트래픽과 일치합니다.
VirtualNetwork 사용자의 가상 네트워크 주소 공간, 연결된 모든 주소 공간(피어링된 VNet), VPN/ExpressRoute를 통해 연결된 온-프레미스 네트워크 및 모든 서비스 엔드포인트. 기본 경로를 포함합니다.
AzureLoadBalancer Azure 인프라 부하 분산 장치 Azure 상태 프로브가 시작되는 호스트의 가상 IP로 변환됩니다. 인바운드 규칙에서 상태 프로브 트래픽을 허용하는 데 사용됩니다.
Storage Azure Storage 서비스 IP 주소 공간 와 같은 Storage.WestUS2지역 변형을 지원합니다. VNet 내에서 Azure Storage 대한 액세스를 허용하거나 제한하는 데 사용합니다.
AzureCloud 모든 Azure 데이터 센터 공용 IP 주소. 와 같은 AzureCloud.EastUS지역 변형을 지원합니다. 일반적으로 Azure 서비스에 대한 아웃바운드 트래픽을 허용하는 데 유용합니다.
Sql Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL, Azure Database for MariaDB 및 Azure Synapse Analytics IP 주소 접두사입니다. 지역 변형을 지원합니다.
강화된 보안 규칙 단일 규칙에서 여러 IP 주소, IP 범위 및 포트를 허용하는 확장 NSG 규칙입니다. 많은 IP 또는 포트 범위에 대한 트래픽을 허용하거나 거부해야 하는 경우 규칙 수를 줄입니다. 규칙당 여러 IP 및 포트 범위와 최대 10개의 애플리케이션 보안 그룹을 지원하지만 규칙당 하나의 서비스 태그만 지원합니다.

선택 방법

다음 지침을 사용하여 시나리오에 적합한 보안 구문을 선택합니다.

NSG 제한 및 할당량

Azure NSG 리소스에 대해 다음과 같은 기본 제한을 적용합니다. 대부분의 제한을 늘리려면 Azure 지원 통해 증가를 요청합니다.

Resource 기본 제한 최대 한도
NSG별 규칙 2,000 2,000
구독당 NSG 5,000 5,000
서브넷당 NSG 1 1
NIC당 NSG 1 1
구독별 ASG 3,000 3,000
ASG당 NIC 구독에 따라 다름 고객 지원팀에 문의
각 규칙에서 소스 또는 대상으로 참조되는 ASG 10 10

메모

각 NSG에 대한 2,000개의 규칙 제한에는 사용자 지정 규칙과 기본 규칙이 모두 포함됩니다. 이 제한에 접근하는 경우 강화된 보안 규칙을 사용하여 여러 IP 또는 포트 범위를 더 적은 규칙으로 결합합니다.

NSG 및 ASG: 사용 시기

다음 표를 사용하여 시나리오에 맞는 보안 구문을 확인합니다.

Scenario 사용하세요 이유
서브넷의 모든 VM에 대한 트래픽 제어 서브넷 수준의 NSG 하나의 NSG는 서브넷의 모든 리소스에 적용됩니다. 균일한 정책에 대한 관리가 가장 간단합니다.
서브넷과 독립적으로 특정 VM에 대한 트래픽 제어 NIC 수준의 NSG 다른 VM에 영향을 주지 않고 예외를 허용합니다. 점프 박스 또는 배스천 호스트에 유용합니다.
많은 VM이 동일한 역할을 수행하고 IP 주소가 자주 변경됩니다. ASG 역할(웹, 앱, 데이터)으로 그룹에 VM을 추가합니다. 그룹 이름에 대한 규칙을 작성합니다. VM의 크기를 조정하거나 새 IP를 가져올 때 업데이트가 필요하지 않습니다.
원본 또는 대상으로 Azure 서비스(Storage, SQL, Key Vault) 참조 서비스 태그가 있는 NSG Microsoft 업데이트할 수 있는 IP 범위를 하드 코딩하지 않습니다. 서비스 태그는 자동으로 최신 상태로 유지됩니다.

다음 다이어그램에서는 ASG를 사용하여 역할별로 VM을 그룹화하고 개별 IP 주소 대신 논리 그룹 간에 NSG 규칙을 작성하는 방법을 보여 줍니다.

역할별로 세 개의 애플리케이션 보안 그룹으로 그룹화된 VM을 보여 주는 다이어그램으로, NSG 규칙을 통해 웹에서 앱으로 포트 443을 허용하고 앱에서 데이터 서버로 1433 포트를 허용합니다.

보안 상태 검사 목록

프로덕션에 배포하기 전에 이 검사 목록에 대해 NSG 구성의 유효성을 검사합니다.

요구 사항 조치 Reference
기본 거부 상태 기본 DenyAllInbound 규칙(우선 순위 65500)을 사용하는지 확인합니다. 기본 거부를 우회하는 광범위한 허용 규칙을 만들지 마세요. 보안 고려 사항
관리 포트에서 인터넷에 액세스할 수 없음 SSH(22) 및 RDP(3389)에서 0.0.0.0/0 인바운드 트래픽을 차단합니다. 관리 액세스를 위해 Azure Bastion 또는 VPN을 사용합니다. 보안 고려 사항
심층 검사를 위해 Azure Firewall 결합 NSG는 계층 3/4에서만 필터링합니다. 애플리케이션 계층(계층 7) 필터링, TLS 검사 및 위협 인텔리전스에 대한 Azure Firewall 추가합니다. Azure Firewall 및 네트워크 구분
진단에 흐름 로그 사용 VNet 흐름 로그를 사용하여 보안 조사 및 규정 준수를 위해 트래픽 데이터를 캡처합니다. 네트워크 모니터링 및 진단

규칙 평가 순서

NSG 규칙은 첫 경기 승리 의미 체계를 사용합니다.

  1. Azure는 우선 순위에 따라 규칙을 평가합니다. 숫자가 가장 낮은 규칙(가장 높은 우선 순위)부터 먼저 평가합니다.
  2. Azure 원본, 원본 포트, 대상, 대상 포트 및 프로토콜의 5개 튜플에 대해 각 규칙을 평가합니다.
  3. 트래픽이 규칙과 일치하면 처리가 중지됩니다. Azure 추가 규칙을 평가하지 않습니다.
  4. 일치하는 사용자 지정 규칙이 없으면 기본 규칙이 적용됩니다. 기본 규칙은 삭제할 수 없지만 우선 순위가 100에서 4096 사이인 사용자 지정 규칙을 만들어 재정의할 수 있습니다.

기본 규칙(총 6개):

Direction 규칙 이름 우선순위 조치
Inbound AllowVNetInBound 65000 Allow
Inbound Azure 로드 밸런서 인바운드 허용 65001 Allow
Inbound DenyAllInbound 65500 Deny
아웃바운드 AllowVnetOutBound 65000 Allow
아웃바운드 AllowInternetOutBound 65001 Allow
아웃바운드 DenyAllOutBound 65500 Deny

ASG 제약 조건

애플리케이션 보안 그룹을 사용하는 경우 다음 제약 조건에 유의하세요.

  • ASG의 모든 네트워크 인터페이스는 ASG에 할당된 첫 번째 네트워크 인터페이스와 동일한 가상 네트워크에 있어야 합니다.
  • 규칙의 원본 및 대상 모두에서 ASG를 참조하는 경우 두 그룹의 네트워크 인터페이스는 동일한 가상 네트워크에 있어야 합니다.
  • 규칙의 원본 또는 대상에서 최대 10개 ASG를 참조할 수 있습니다.

서브넷 수준 및 네트워크 인터페이스 수준 NSG 함께 사용

NSG를 해당 서브넷 내의 VM에 있는 서브넷 및 네트워크 인터페이스와 연결할 수 있습니다. 그렇게 하면 Azure는 두 NSG를 모두 평가하며, 트래픽은 두 NSG를 모두 통과해야 합니다. 가장 제한적인 조합이 우선합니다.

Direction 최초 평가 두 번째로 평가됨
Inbound 서브넷 NSG NIC NSG
아웃바운드 NIC NSG 서브넷 NSG

팁 (조언)

더 간단한 문제 해결을 위해 NSG를 서브넷 또는 네트워크 인터페이스와 연결하지만 둘 다 연결하지는 않습니다. 둘 다 필요한 경우 의도한 규칙 상호 작용을 명확하게 문서화합니다.

실용적인 예: 점프 상자가 있는 웹 계층

인터넷에서 인바운드 HTTPS(포트 443)를 허용하고 다른 모든 것을 거부하는 서브넷 수준 NSG가 있는 서브넷을 고려합니다. 해당 서브넷의 점프 박스 VM에는 특정 관리 IP 범위에서 인바운드 SSH(포트 22)도 허용하는 네트워크 인터페이스 수준 NSG가 있습니다.

  • 웹 트래픽(포트 443): 서브넷 NSG에서 허용합니다. 웹 VM의 네트워크 인터페이스 NSG에는 443에 대한 거부 규칙이 없습니다(기본 AllowVNetInBound 허용). 트래픽 흐름.
  • 점프 상자로 SSH(관리 IP의 포트 22): 서브넷 NSG는 인터넷에서 포트 22의 트래픽을 거부합니다. 네트워크 인터페이스 NSG는 관리 범위에서 SSH를 허용하지만 서브넷 NSG는 먼저 차단합니다. 해결 방법: 관리 IP 범위에서 포트 22를 허용하는 규칙을 서브넷 NSG에 추가하거나, Azure Bastion을 사용하여 공용 인터넷 경로를 완전히 우회합니다.

이 예제에서는 이중 NSG가 복잡성을 추가하는 이유를 보여 줍니다. 둘 다 트래픽을 독립적으로 허용해야 합니다.

다음 다이어그램에서는 서브넷 NSG와 NIC NSG를 모두 연결할 때의 인바운드 트래픽 평가 경로를 보여 줍니다. 트래픽은 두 NSG를 모두 통과해야 합니다. 가장 제한적인 조합이 우선합니다.

허용 또는 거부할 서브넷 및 NIC 수준을 통한 인바운드 트래픽에 대한 NSG 규칙 평가 순서도를 보여 주는 다이어그램

Azure Virtual Network Manager 상호 작용

조직에서 AVNM(Azure Virtual Network Manager) 보안 관리자 규칙을 사용하는 경우 Azure NSG 규칙 전에 해당 규칙을 평가합니다. 보안 관리자 규칙은 허용(NSG 평가 계속), Always Allow(NSG 무시) 또는 거부(NSG 평가 전에 차단)를 수행할 수 있습니다. 중앙 집중식 네트워크 보안 관리는 Azure Virtual Network Manager 및 중앙 집중식 관리를 참조하세요.

디자인 고려 사항

리프트 앤 시프트 NSG 및 ASG 디자인 포커스

  • 온-프레미스 분할을 서브넷 수준 NSG로 변환: 애플리케이션에서 이미 사용하는 계층 간 흐름(예: 웹-앱 및 앱-데이터베이스)만 허용하고 다른 모든 것을 거부합니다.
  • 현재 방화벽 규칙 집합을 기준으로 시작하고, 마이그레이션 후에는 NSG 흐름 로그를 사용해 실제로 필요한 트래픽 흐름만 확인한 뒤 규칙을 더 엄격하게 조정합니다.
  • 단순성을 위해 먼저 서브넷 수준에서 NSG를 적용합니다. 개별 VM에 예외가 필요한 경우에만 NIC 수준 규칙을 추가합니다.
  • 마이그레이션 중 재주소 지정이 발생해도 규칙이 계속 유효하도록 하드코딩된 IP 주소 대신 서비스 태그(예: VirtualNetworkAzureLoadBalancer)를 사용합니다.

NSG 및 ASG 디자인 포커스 현대화

  • 애플리케이션 보안 그룹을 사용하여 역할(웹, 앱, 데이터)을 기준으로 네트워크 인터페이스를 그룹화하므로 규칙은 의도를 설명하고 인스턴스 크기 조정으로 자동으로 조정됩니다.
  • 서브넷 NSG를 허브 Azure Firewall과 결합하세요. NSG는 계층 간 마이크로 세분화를 처리하고, 방화벽은 신뢰 경계를 넘나드는 트래픽을 검사합니다.
  • 프라이빗 엔드포인트 서브넷만 PaaS 서비스에 도달하도록 허용하고 사용자 정의 경로를 사용하여 허브 방화벽을 통해 아웃바운드 트래픽을 강제 적용합니다.
  • Azure Virtual Network Manager 보안 관리자 규칙을 사용하는 경우 플랫폼 전체의 가드레일이 워크로드 NSG와 충돌하지 않도록 우선 순위(NSG보다 먼저 평가)를 계획합니다.

클라우드 간 NSG 및 ASG 설계 중점

  • AWS 및 Google Cloud의 보안 그룹 규칙을 Azure NSG로 미러링하여 동일한 계층이 마이그레이션 후 동일한 정책을 적용합니다.
  • 클라우드 간 애플리케이션 종속성에 필요한 특정 포트 및 원본만 허용하고, 검사된 IPsec 터널을 통해 해당 트래픽을 라우팅합니다.
  • 운영 팀이 문제를 해결할 때 동일한 워크로드의 상관 관계를 지정할 수 있도록 클라우드에서 애플리케이션 보안 그룹 이름을 표준화합니다.
  • NSG를 보안 Virtual WAN 허브 방화벽과 페어링하여 클라우드 간 트래픽과 분기 트래픽이 모두 NSG로 필터링되고 방화벽에서 검사됩니다.

사전 요구 사항

NSG 및 ASG를 구현하기 전에 다음이 있는지 확인합니다.

  • 서브넷이 있는 가상 네트워크: NSG는 가상 네트워크 내의 서브넷 또는 NIC에 연결됩니다. 계획 지침 은 가상 네트워크 및 서브넷 을 참조하세요.
  • IP 주소 지정 계획: NSG 규칙은 IP 주소 및 범위를 참조합니다. IP 계획을 사용하면 정확한 규칙을 작성할 수 있습니다. 지침은 IP 주소 계획을 참조하세요.
  • 필요한 트래픽 흐름 목록: 통신해야 하는 리소스, 포트 및 규칙을 작성하기 전의 방향을 문서화합니다.

보안 고려 사항

Important

기본 거부는 올바른 자세입니다. Azure 기본 인바운드 규칙은 명시적으로 허용되지 않는 모든 인터넷 트래픽을 거부합니다. 광범위한 허용 규칙을 만들어 이 자세를 약화시키지 마세요.

관리 포트에서 0.0.0.0/0을 허용하지 않습니다.

Caution

SSH(포트 22) 또는 RDP(포트 3389)와 같은 관리 포트에서 인바운드 트래픽 0.0.0.0/0 (인터넷의 모든 원본)을 허용하는 NSG 규칙을 만들지 마세요. 공격자는 인터넷에서 열린 관리 포트를 지속적으로 검색합니다. 대신 Azure Bastion, VPN 또는 Azure Private Link 사용하여 가상 머신에 안전하게 액세스합니다.

NSG와 Azure Firewall 결합

NSG는 계층 3 및 계층 4(네트워크 및 전송)에서 작동합니다. IP 주소, 포트 및 프로토콜을 기준으로 필터링하지만 패킷 콘텐츠를 검사하지는 않습니다. 애플리케이션 계층 필터링, 위협 인텔리전스 또는 TLS 검사가 필요한 워크로드의 경우 NSG와 함께 Azure Firewall 배포합니다. Azure Firewall 및 네트워크 구분을 참조하세요.

트래픽 표시를 위해 VNet 흐름 로그 사용

메모

NSG 흐름 로그는 2027년 9월 30일에 사용 중지될 예정입니다. 2025년 6월 30일 이후에는 새 NSG 흐름 로그를 만들 수 없습니다. 가상 네트워크 수준에서 동일한 기능과 트래픽 분석을 제공하는 VNet 흐름 로그로 마이그레이션합니다.

VNet 흐름 로그는 가상 네트워크의 모든 워크로드에 대한 흐름별 상태 및 처리량 데이터를 캡처합니다. 다음 용도로 사용합니다.

  • 보안 조사: 예기치 않은 트래픽 패턴을 식별합니다.
  • 준수 감사: 트래픽 흐름이 문서화된 정책과 일치하는지 증명합니다.
  • 용량 계획: 서브넷 간의 대역폭 사용량을 이해합니다.

모니터링 및 진단 구성은 네트워크 모니터링 및 진단을 참조하세요.

피해야 할 일반적인 실수

실수 문제가 되는 이유 더 나은 접근 방식
모든 허용 인바운드 규칙 만들기(우선 순위 100, 원본 *, 대상 *) 기본 거부 상태를 우회하고 모든 리소스를 인터넷 트래픽에 노출합니다. 특정 원본/대상/포트 조합만 허용합니다. 허용 규칙에 사용할 수 있는 가장 높은 우선 순위 번호를 사용합니다.
기본 거부가 있음을 잊어버리기 Teams는 알려진 트래픽에 대한 허용 규칙을 만들지만 다른 모든 것이 차단되었음을 테스트하지는 않습니다. 의도하지 않은 열린 포트는 눈에 띄지 않을 수 있습니다. NSG를 배포한 후 VNet 흐름 로그 또는 NSG 진단을 사용하여 예상된 트래픽만 흐르는지 확인하세요. 거부된 경로를 명시적으로 테스트합니다.
동적 워크로드에 ASG를 사용하지 않음 VM이 확장되거나 새 IP를 가져올 때 IP 기반 규칙이 중단됩니다. 팀은 지속적으로 규칙을 업데이트합니다. ASG를 사용하여 역할별로 VM을 그룹화합니다. ASG를 참조하는 규칙은 VM이 그룹에서 추가되거나 제거될 때 유효합니다.
보안 인시던트가 발생할 때까지 흐름 로그 무시 흐름 로그를 사용하도록 설정하지 않으면 조사 또는 규정 준수 감사에 대한 기록 트래픽 데이터가 없습니다. 첫날부터 VNet 흐름 로그를 사용하도록 설정합니다. 변칙에 대한 시각화 및 경고를 위해 Traffic Analytics를 구성합니다.
설명서 없이 서브넷 및 NIC NSG 모두 적용 이중 NSG는 트래픽이 예기치 않게 거부되는 혼란스러운 상호 작용을 만듭니다. 문제 해결은 시간이 많이 걸립니다. 서브넷 수준 또는 NIC 수준 NSG를 표준으로 선택합니다. 둘 다 필요한 경우 각 서브넷에 대해 의도한 상호 작용을 문서화합니다.

자세히 알아보기

다음 단계

팁 (조언)

직접 탐색하시겠습니까? 개요 탐색기로 돌아가서 기능별로 다음 문서를 찾습니다.

리프트 앤 시프트 과정의 다음 단계:

허브 및 스포크 토폴로지 디자인: 마이그레이션된 워크로드에서 DNS, 방화벽 및 VPN Gateway 같은 공유 서비스를 중앙 집중화합니다.

현대화 과정의 다음 단계:

허브 및 스포크 토폴로지 디자인: PaaS 워크로드에 대한 IT 소유 허브 및 앱 팀 소유 스포크로 이중 허브 토폴로지 설정

멀티클라우드 여정의 다음 단계:

다른 클라우드에 암호화된 터널 설정: 클라우드 간 전송을 위해 AWS(Amazon Web Services) Virtual Private Gateway 및 Google Cloud VPN에 대한 VPN Gateway 연결을 구성합니다.