다음을 통해 공유


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

Azure NSG(네트워크 보안 그룹)를 사용하여 Azure 가상 네트워크의 Azure 리소스에 대한 네트워크 트래픽을 필터링합니다. 네트워크 보안 그룹은 리소스 간에 흐를 수 있는 트래픽을 제어하여 클라우드 인프라를 보호하는 데 도움이 되는 필수 트래픽 필터링 기능을 제공합니다. 네트워크 보안 그룹에는 여러 종류의 Azure 리소스에서 오는 인바운드 트래픽 또는 이러한 리소스로 나가는 아웃바운드 네트워크 트래픽을 허용하거나 거부하는 보안 규칙이 포함됩니다. 각 규칙에 대해 원본 및 대상 세부 정보, 포트 및 프로토콜을 지정할 수 있습니다.

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

다음 다이어그램에서는 TCP 포트 80을 통해 인터넷 간 네트워크 트래픽을 허용하기 위해 네트워크 보안 그룹을 배포하는 방법에 대한 다양한 시나리오를 보여 줍니다.

Azure 가상 머신에 대한 인바운드 및 아웃바운드 규칙 처리를 보여 주는 네트워크 보안 그룹 트래픽 흐름 다이어그램의 스크린샷

Azure가 인바운드 및 아웃바운드 규칙을 처리하는 방법을 이해하려면 위의 다이어그램을 참조하세요. 이 다이어그램은 네트워크 보안 그룹이 트래픽 필터링을 처리하는 방법을 보여 줍니다.

Inbound traffic

인바운드 트래픽의 경우 Azure는 먼저 서브넷과 연결된 네트워크 보안 그룹의 규칙을 처리합니다(있는 경우). 그런 다음 Azure는 네트워크 인터페이스와 연결된 네트워크 보안 그룹의 규칙을 처리합니다(있는 경우). 이 동일한 평가 순서는 인트라 서브넷 트래픽에 적용됩니다.

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

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

  • VM3: Subnet2와 연결된 네트워크 보안 그룹이 없으므로 NSG2VM3에 연결된 네트워크 인터페이스 NIC1과 연결되어 있으므로 트래픽이 서브넷으로 허용되고 NSG2에서 처리됩니다.

  • VM4: 네트워크 보안 그룹이 서브넷3 또는 가상 머신의 네트워크 인터페이스와 연결되지 않으므로 트래픽이 VM4로 차단됩니다. 서브넷 및 네트워크 인터페이스에 네트워크 보안 그룹이 연결되지 않으면 서브넷 및 네트워크 인터페이스를 통과하는 모든 네트워크 트래픽이 차단됩니다. 표준 공용 IP 주소가 있는 가상 머신은 기본적으로 안전합니다. 트래픽이 인터넷에서 흐르려면 네트워크 보안 그룹을 가상 머신의 서브넷 또는 네트워크 인터페이스와 연결해야 합니다. 자세한 내용은 IP 주소 버전을 참조하세요.

Outbound traffic

아웃바운드 트래픽의 경우 Azure는 네트워크 보안 그룹 규칙을 특정 순서로 처리합니다. Azure는 네트워크 인터페이스와 연결된 모든 네트워크 보안 그룹의 규칙을 평가합니다. 그런 다음, Azure는 서브넷과 연결된 모든 네트워크 보안 그룹의 규칙을 처리합니다. 이 동일한 처리 순서는 인트라 서브넷 트래픽에 적용됩니다.

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

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

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

  • VM4: 가상 머신의 네트워크 인터페이스 또는 Subnet3과 연결된 네트워크 보안 그룹이 없기 때문에 트래픽은 VM4에서 자유롭게 흐릅니다.

Intra-subnet traffic

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

네트워크 인터페이스에 대한 효과적인 보안 규칙을 확인하여 네트워크 인터페이스에 적용되는 집계 규칙을 쉽게 볼 수 있습니다. Azure Network Watcher의 IP 흐름 확인 기능은 네트워크 인터페이스 간 통신이 허용되는지 여부를 결정하는 데 도움이 됩니다. IP 흐름 확인은 통신이 허용 또는 거부되는지 여부를 결정합니다. 또한 트래픽을 허용하거나 거부하는 네트워크 보안 규칙을 식별합니다.

또한 Azure Virtual Network Manager의 네트워크 검증 도구 는 가상 머신과 인터넷 또는 기타 Azure 리소스 간의 연결 가능성 문제를 해결하는 데 도움이 될 수 있습니다. 네트워크 검증 도구는 연결에 영향을 줄 수 있는 네트워크 보안 그룹 규칙 및 기타 Azure 규칙 및 정책에 대한 인사이트를 제공합니다.

Tip

최적의 보안 구성을 위해 네트워크 보안 그룹을 서브넷 및 네트워크 인터페이스와 동시에 연결하지 마세요. 네트워크 보안 그룹을 서브넷 또는 네트워크 인터페이스와 연결하도록 선택하지만 둘 다 연결하지는 않습니다. 여러 수준에서 네트워크 보안 그룹을 적용하면 규칙이 서로 충돌할 수 있습니다. 보안 규칙이 겹치면 종종 예기치 않은 트래픽 필터링 문제가 발생하여 문제를 해결하기가 어렵습니다.

Next steps