Azure 네트워크 보안 그룹 설명

완료됨

NSG(네트워크 보안 그룹)를 사용하면 Azure 가상 네트워크의 Azure 리소스(예: 가상 머신)와 주고받는 네트워크 트래픽을 필터링할 수 있습니다. NSG는 트래픽을 필터링하는 방법을 정의하는 규칙으로 구성됩니다. 가상 머신의 각 가상 네트워크 서브넷 및 네트워크 인터페이스에 네트워크 보안 그룹을 하나만 연결할 수 있습니다. 그러나 하나의 네트워크 보안 그룹을 원하는 개수만큼의 서브넷 및 네트워크 인터페이스에 연결할 수 있습니다.

다음 간소화된 다이어그램에서는 인터넷에 연결된 두 개의 서브넷이 있는 Azure 가상 네트워크를 볼 수 있으며 서브넷마다 가상 머신이 하나씩 있습니다. 서브넷 1에는 VM1에 대한 인바운드 및 아웃바운드 액세스를 필터링하는 NSG가 할당되어 있으므로 더 높은 수준의 액세스 권한이 필요합니다. 반면에 VM2는 NSG가 필요하지 않은 퍼블릭 쪽 머신을 나타낼 수 있습니다.

Diagram showing a simplified virtual network with two subnets each with a dedicated virtual machine resource, the first subnet has a network security group and the second subnet doesn't.

인바운드 및 아웃바운드 보안 규칙

NSG는 인바운드 및 아웃바운드 보안 규칙으로 구성됩니다. NSG 보안 규칙은 트래픽을 허용하거나 거부하기 위해 원본, 원본 포트, 대상, 대상 포트, 프로토콜인 5개 정보 지점을 사용하여 우선 순위에 따라 평가됩니다. 기본적으로 Azure는 일련의 규칙(인바운드 규칙 3개, 아웃바운드 규칙 3개)을 만들어 기준 수준의 보안을 제공합니다. 기본 규칙은 제거할 수 없지만 더 높은 우선 순위의 새 규칙을 만들어 재정의할 수 있습니다.

각 규칙은 다음 속성 중 하나 이상을 지정합니다.

  • 이름: 모든 NSG 규칙에는 목적을 설명하는 고유 이름이 있어야 합니다. 예를 들어 AdminAccessOnlyFilter 같은 이름을 지정합니다.
  • 우선 순위: 규칙은 우선 순위에 따라 처리되며 낮은 숫자가 높은 숫자보다 먼저 처리됩니다. 트래픽이 규칙과 일치하면 처리가 중지됩니다. 즉, 낮은 우선 순위(높은 숫자)의 다른 규칙은 처리되지 않습니다.
  • 원본 또는 대상: 개별 IP 주소 또는 IP 주소 범위, 서비스 태그(지정된 Azure 서비스의 IP 주소 접두사 그룹) 또는 애플리케이션 보안 그룹을 지정합니다. 범위, 서비스 태그 또는 애플리케이션 보안 그룹을 지정하면 더 적은 보안 규칙을 만들어도 됩니다.
  • 프로토콜: 규칙에서 확인할 네트워크 프로토콜입니다. 프로토콜은 TCP, UDP, ICMP 또는 모두일 수 있습니다.
  • 방향: 규칙을 인바운드 또는 아웃바운드 트래픽에 적용할지 여부입니다.
  • 포트 범위: 개별 포트 또는 포트 범위를 지정할 수 있습니다. 범위를 지정하면 보안 규칙을 만들 때 더 효율적으로 작업할 수 있습니다.
  • 작업: 마지막으로, 이 규칙이 트리거될 때 수행할 작업을 결정해야 합니다.

다음 스크린샷은 모든 NSG에 포함된 기본 인바운드 규칙 및 아웃바운드를 보여줍니다.

Screenshot showing the default inbound and outbound rules for an Azure network security group.

기본 인바운드 규칙에 대한 설명은 다음과 같습니다.

  • AllowVnetInbound - AllowVNetInBound 규칙은 우선 순위 값이 가장 낮기 때문에 먼저 처리됩니다. 우선 순위 값이 가장 낮은 규칙이 먼저 처리된다는 점을 기억하세요. 이 규칙은 모든 프로토콜을 사용하여 VirtualNetwork 서비스 태그가 있는 원본에서 모든 포트에서 VirtualNetwork 서비스 태그가 있는 대상으로의 트래픽을 허용합니다. 이 규칙에 대한 일치 항목이 발견되면 다른 규칙이 처리되지 않습니다. 일치하는 항목이 없다면 다음 규칙이 처리됩니다.

  • AllowAzureLoadBalancerInBound - AllowAzureLoadBalancerInBound 규칙은 우선 순위 값이 AllowVNetInBound 규칙보다 높기 때문에 두 번째로 처리됩니다. 이 규칙은 모든 프로토콜을 사용하여 AzureLoadBalancer 서비스 태그가 있는 원본에서 모든 포트의 AzureLoadBalancer 서비스 태그가 있는 대상으로의 트래픽을 모든 포트의 IP 주소로 허용합니다. 이 규칙에 대한 일치 항목이 발견되면 다른 규칙이 처리되지 않습니다. 일치하는 항목이 없다면 다음 규칙이 처리됩니다.

  • DenyAllInBound - 이 NSG의 마지막 규칙은 DenyAllInBound 규칙입니다. 이 규칙은 모든 프로토콜을 사용하여 모든 포트의 모든 원본 IP 주소에서 모든 포트의 다른 IP 주소로 전달되는 모든 트래픽을 거부합니다.

요약하자면 이 NSG가 할당된 가상 네트워크 서브넷 또는 네트워크 인터페이스 카드는 Azure Virtual Network 또는 Azure 부하 분산 장치의 인바운드 트래픽만 허용합니다(해당 서비스 태그에 정의된 대로). 그 외 모든 인바운드 트래픽은 거부됩니다. 기본 규칙은 제거할 수 없지만 높은 우선 순위의 새 규칙을 만들어 기본 규칙을 재정의할 수 있습니다(낮은 우선 순위 값).

NSG(네트워크 보안 그룹)와 Azure Firewall의 차이점은 무엇입니까?

지금까지 NSG(네트워크 보안 그룹)와 Azure Firewall에 대해 모두 알아보았는데 이 둘은 모두 Virtual Network 리소스를 보호하므로 서로 어떤 차이가 있는지 궁금할 것입니다. Azure Firewall 서비스는 네트워크 보안 그룹 기능을 보완합니다. 그뿐 아니라 더 나은 "심층 방어" 네트워크 보안을 제공합니다. 네트워크 보안 그룹은 각 구독의 가상 네트워크 내에서 리소스에 대한 트래픽을 제한하는 분산 네트워크 계층 트래픽 필터링을 제공합니다. Azure Firewall은 다양한 구독 및 가상 네트워크에 걸쳐 네트워크 및 애플리케이션 수준 보호 기능을 제공하는 완전한 상태 저장, 중앙 집중식 네트워크 방화벽으로서 서비스 형태로 제공됩니다.