Share via


네트워크 보안 그룹이 네트워크 트래픽을 필터링하는 방법

Azure 네트워크 보안 그룹을 사용하면 Azure 가상 네트워크의 Azure 리소스와 주고받는 네트워크 트래픽을 필터링할 수 있습니다. 네트워크 보안 그룹에는 여러 유형의 Azure 리소스에 대한 인바운드 네트워크 트래픽 또는 아웃바운드 네트워크 트래픽을 허용하거나 거부하는 보안 규칙이 포함되어 있습니다. 규칙마다 원본 및 대상, 포트, 프로토콜을 지정할 수 있습니다.

여러 Azure 서비스의 리소스를 한 Azure 가상 네트워크에 배포할 수 있습니다. 전체 목록은 가상 네트워크에 배포할 수 있는 서비스를 참조하세요. 0개 또는 1개의 네트워크 보안 그룹을 가상 머신의 각 가상 네트워크 서브넷네트워크 인터페이스 에 연결할 수 있습니다. 동일한 네트워크 보안 그룹을 원하는 수의 서브넷 및 네트워크 인터페이스에 연결할 수 있습니다.

다음 그림은 TCP 포트 80을 통해 인터넷과의 상호 트래픽을 허용하도록 네트워크 보안 그룹을 배포하는 방법에 대한 다양한 시나리오를 보여줍니다.

Diagram of NSG processing.

Azure가 네트워크 보안 그룹에 대한 인바운드 및 아웃바운드 규칙을 처리하는 방법을 이해하려면 다음 텍스트와 함께 이전 그림을 참조하세요.

인바운드 트래픽

인바운드 트래픽의 경우 Azure는 서브넷에 연결된 네트워크 보안 그룹이 있으면 이 그룹의 규칙을 먼저 처리한 후 네트워크 인터페이스에 연결된 네트워크 보안 그룹이 있으면 이 그룹의 규칙을 처리합니다. 이 프로세스에는 서브넷 내 트래픽도 포함됩니다.

  • VM1: NSG1의 보안 규칙은 Subnet1에 연결되고 VM1Subnet1에 있으므로 처리됩니다. 포트 80 인바운드를 허용하는 규칙을 만들지 않은 경우 DenyAllInbound 기본 보안 규칙은 트래픽을 거부합니다. 이 차단된 트래픽은 네트워크 인터페이스와 연결되어 있으므로 NSG2에서 평가되지 않습니다. 그러나 NSG1이 보안 규칙에서 포트 80을 허용하는 경우 NSG2가 트래픽을 처리합니다. 가상 머신에 포트 80을 허용하려면 NSG1NSG2 모두 인터넷에서 포트 80을 허용하는 규칙이 있어야 합니다.

  • VM2: VM2도 Subnet1있으므로 NSG1규칙이 처리됩니다. VM2은 네트워크 인터페이스에 연결된 네트워크 보안 그룹이 없으므로 NSG1을 통해 허용된 트래픽 또는 NSG1에 의해 거부된 트래픽을 모두 수신합니다. 네트워크 보안 그룹이 서브넷에 연결된 경우 동일한 서브넷의 모든 리소스에 대한 트래픽이 허용되거나 거부됩니다.

  • VM3: Subnet2에 연결된 네트워크 보안 그룹이 없으므로 서브넷으로 가는 트래픽이 허용되고 NSG2에 의해 처리됩니다. NSG2VM3에 연결된 네트워크 인터페이스에 연결되었기 때문입니다.

  • VM4: 네트워크 보안 그룹이 Subnet3 또는 가상 머신의 네트워크 인터페이스에 연결되어 있지 않으므로 트래픽이 VM4로 차단됩니다. 연결된 네트워크 보안 그룹이 없는 경우 모든 네트워크 트래픽은 서브넷 및 네트워크 인터페이스를 통해 차단됩니다.

아웃바운드 트래픽

인바운드 트래픽의 경우 Azure는 네트워크 인터페이스에 연결된 네트워크 보안 그룹이 있으면 이 그룹의 규칙을 먼저 처리한 후 서브넷에 연결된 네트워크 보안 그룹이 있으면 이 그룹의 규칙을 처리합니다. 이 프로세스에는 서브넷 내 트래픽도 포함됩니다.

  • VM1: NSG2의 보안 규칙이 처리됩니다. NSG1NSG2AllowInternetOutbound 기본 보안 규칙은 인터넷에 대한 포트 80 아웃바운드를 거부하는 보안 규칙을 만들지 않는 한 트래픽을 허용합니다. NSG2가 보안 규칙에서 포트 80을 거부하는 경우 트래픽을 거부하고 NSG1은 이를 평가하지 않습니다. 두 네트워크 보안 그룹 중 어느 하나 또는 둘 모두의 가상 머신에서 포트 80을 거부하려면 규칙이 네트워크 보안 그룹에 인터넷으로 나가는 포트 80을 거부하는 있어야 합니다.

  • VM2: VM2에 연결된 네트워크 인터페이스에 네트워크 보안 그룹이 연결되지 않았기 때문에 모든 트래픽이 네트워크 인터페이스를 통해 서브넷으로 전송됩니다. NSG1의 규칙이 처리됩니다.

  • VM3: NSG2가 보안 규칙에서 포트 80을 거부하는 경우 트래픽을 거부합니다. NSG2가 포트 80을 거부하지 않는 경우 NSG2AllowInternetOutbound 기본 보안 규칙은 Subnet2와 연결된 네트워크 보안 그룹이 없으므로 트래픽을 허용합니다.

  • VM4: 네트워크 보안 그룹이 가상 머신 또는 Subnet3에 연결된 네트워크 인터페이스에 연결되지 않으므로 VM4에서 모든 네트워크 트래픽이 허용됩니다.

서브넷 내 트래픽

서브넷에 연결된 NSG의 보안 규칙은 서브넷 내 VM 간의 연결에 영향을 줄 수 있다는 점에 유의해야 합니다. 기본적으로 동일한 서브넷의 가상 머신은 서브넷 내 트래픽을 허용하는 기본 NSG 규칙에 따라 통신할 수 있습니다. 모든 인바운드 및 아웃바운드 트래픽을 거부하는 규칙을 NSG1에 추가하면 VM1VM2는 서로 통신할 수 없습니다.

네트워크 인터페이스의 유효 보안 규칙을 확인하여 네트워크 인터페이스에 적용되는 집계 규칙을 쉽게 볼 수 있습니다. Azure Network Watcher에서 IP 흐름 확인 기능을 사용하여 통신이 네트워크 인터페이스 간에 허용되는지 여부를 결정할 수도 있습니다. IP 흐름 확인을 사용하여 통신이 허용되는지 아니면 거부되는지 파악할 수 있습니다. 또한 IP 흐름 확인을 사용하여 트래픽 허용 또는 거부를 담당하는 네트워크 보안 규칙의 ID를 표시합니다.

참고

네트워크 보안 그룹은 서브넷 또는 클래식 배포 모델에 배포된 가상 머신 및 클라우드 서비스 및 Resource Manager 배포 모델의 서브넷 또는 네트워크 인터페이스에 연결됩니다. Azure 배포 모델에 대해 자세히 알아보려면 Azure 배포 모델 이해를 참조하세요.

특별한 이유가 없다면 네트워크 보안 그룹을 서브넷 또는 네트워크 인터페이스 중 한 쪽에만 연결하는 것이 좋습니다. 서브넷에 연결된 네트워크 보안 그룹의 규칙이 네트워크 인터페이스에 연결된 네트워크 보안 그룹의 규칙과 충돌할 수 있으므로 예기치 않은 통신 문제가 발생할 수 있습니다.

다음 단계

  • 가상 네트워크에 배포하고 네트워크 보안 그룹을 연결할 수 있는 Azure 리소스에 대한 자세한 내용은 Azure 서비스용 가상 네트워크 통합을 참조하세요.

  • 네트워크 보안 그룹을 만들어 본 경험이 전혀 없는 경우 빠른 자습서를 완료하여 직접 경험해 볼 수 있습니다.

  • 네트워크 보안 그룹에 익숙하고 관리해야 하는 경우 네트워크 보안 그룹 관리를 참조하세요.

  • 통신 문제가 있고 네트워크 보안 그룹을 해결해야 하는 경우 가상 머신 네트워크 트래픽 필터 문제 진단을 참조하세요.

  • 네트워크 보안 그룹 흐름 로그를 사용하여 연결된 네트워크 보안 그룹이 있는 리소스와 주고 받는 네트워크 트래픽을 분석하는 방법을 알아보세요.