네트워크 보안 그룹

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

이 문서에서는 네트워크 보안 그룹 규칙의 속성, 적용되는 기본 보안 규칙강화된 보안 규칙을 만들기 위해 수정할 수 있는 규칙 속성을 설명합니다.

보안 규칙

네트워크 보안 그룹은 Azure 구독 제한 내에서 필요한 개수 만큼 규칙을 포함합니다. 각 규칙은 다음 속성을 지정합니다.

속성 설명
이름 네트워크 보안 그룹 내에서 고유한 이름입니다. 이름은 최대 80자까지 지정할 수 있습니다. 단어 문자로 시작해야 하며 단어 문자 또는 '_'로 끝나야 합니다. 이름에 단어 문자 또는 '.', '-', '_'가 포함될 수 있습니다.
우선 순위 100~4096 사이의 숫자입니다. 낮은 번호의 우선 순위가 더 높기 때문에 규칙은 낮은 번호가 높은 번호보다 먼저 처리되는 우선 순위 순서로 처리됩니다. 트래픽이 규칙과 일치하면 처리가 중지됩니다. 따라서 우선 순위가 높은 규칙과 동일한 특성을 가진 우선 순위가 낮은 규칙(높은 번호)은 처리되지 않습니다.
Azure 기본 보안 규칙은 사용자 지정 규칙이 항상 먼저 처리되도록 우선 순위가 가장 높은 가장 높은 수를 부여합니다.
원본 또는 대상 임의 또는 개별 IP 주소, CIDR(Classless Inter-Domain Routing) 블록(예: 10.0.0.0/24), 서비스 태그 또는 애플리케이션 보안 그룹입니다. Azure 리소스의 주소를 지정하는 경우 리소스에 할당된 개인 IP 주소를 지정하세요. 네트워크 보안 그룹은 Azure가 공용 IP 주소를 인바운드 트래픽용 개인 IP 주소로 변환한 후에, 그리고 Azure가 개인 IP 주소를 아웃바운드 트래픽용 공용 IP 주소로 변환하기 전에 처리됩니다. 범위, 서비스 태그 또는 애플리케이션 보안 그룹을 지정할 때 더 적은 수의 보안 규칙이 필요합니다. 규칙에서 여러 개별 IP 주소와 범위를 지정하는 기능(여러 서비스 태그 또는 애플리케이션 그룹을 지정할 수 없음)은 보강된 보안 규칙이라고 합니다. 보강된 보안 규칙은 Resource Manager 배포 모델을 통해 만들어진 네트워크 보안 그룹에서만 만들 수 있습니다. 클래식 배포 모델을 통해 만든 네트워크 보안 그룹에서는 여러 개의 IP 주소 및 IP 주소 범위를 지정할 수 없습니다.
프로토콜 TCP, UDP, ICMP, ESP, AH 또는 Any. ESP 및 AH 프로토콜은 현재 Azure Portal을 통해 사용할 수 없지만 ARM 템플릿을 통해 사용할 수 있습니다.
방향 규칙이 인바운드 또는 아웃바운드 트래픽에 적용되는지 여부입니다.
포트 범위 개별 포트나 포트의 범위를 지정할 수 있습니다. 예를 들어 80 또는 10000-10005과 같이 지정할 수 있습니다. 범위를 지정하면 더 적은 보안 규칙을 만들어도 됩니다. 보강된 보안 규칙은 Resource Manager 배포 모델을 통해 만들어진 네트워크 보안 그룹에서만 만들 수 있습니다. 클래식 배포 모델을 통해 만든 네트워크 보안 그룹에서는 동일한 보안 규칙에 여러 개의 포트 또는 포트 범위를 지정할 수 없습니다.
작업 허용 또는 거부

보안 규칙은 5-튜플(원본, 원본 포트, 대상, 대상 포트, 프로토콜) 정보를 기반으로 평가 및 적용됩니다. 우선 순위와 방향이 같은 두 개의 보안 규칙을 만들 수 없습니다. 기존 연결에 대한 흐름 레코드가 만들어집니다. 통신은 흐름 레코드의 연결 상태에 따라 허용 또는 거부됩니다. 흐름 레코드는 네트워크 보안 그룹의 상태 저장을 허용합니다. 예를 들어 포트 80을 통해 모든 주소에 대한 아웃바운드 보안 규칙을 지정하는 경우 아웃바운드 트래픽에 대한 응답에 인바운드 보안 규칙을 지정하지 않아도 됩니다. 통신이 외부에서 시작된 경우 인바운드 보안 규칙을 지정하기만 하면 됩니다. 반대의 경우도 마찬가지입니다. 포트를 통해 인바운드 트래픽이 허용되는 경우 포트를 통해 트래픽에 응답하도록 아웃바운드 보안 규칙을 지정하지 않아도 됩니다.

연결을 허용한 보안 규칙을 제거해도 기존 연결이 중단되지 않을 수 있습니다. 네트워크 보안 그룹 규칙을 수정하면 새 연결에만 영향을 줍니다. 네트워크 보안 그룹에서 새 규칙을 만들거나 기존 규칙을 업데이트하는 경우 새 연결에만 적용됩니다. 기존 연결은 새 규칙으로 재평가되지 않습니다.

한 네트워크 보안 그룹에 만들 수 있는 보안 규칙 수에는 제한이 있습니다. 자세한 내용은 Azure 제한을 참조하세요.

기본 보안 규칙

Azure는 사용자가 만드는 각 네트워크 보안 그룹에 다음과 같은 기본 규칙을 만듭니다.

인바운드

AllowVNetInBound
우선 순위 원본 원본 포트 대상 대상 포트 프로토콜 Access
65000 VirtualNetwork 0-65535 VirtualNetwork 0-65535 모두 허용
AllowAzureLoadBalancerInBound
우선 순위 원본 원본 포트 대상 대상 포트 프로토콜 Access
65001 AzureLoadBalancer 0-65535 0.0.0.0/0 0-65535 모두 허용
DenyAllInbound
우선 순위 원본 원본 포트 대상 대상 포트 프로토콜 Access
65500 0.0.0.0/0 0-65535 0.0.0.0/0 0-65535 모두 거부

아웃바운드

AllowVnetOutBound
우선 순위 원본 원본 포트 대상 대상 포트 프로토콜 Access
65000 VirtualNetwork 0-65535 VirtualNetwork 0-65535 모두 허용
AllowInternetOutBound
우선 순위 원본 원본 포트 대상 대상 포트 프로토콜 Access
65001 0.0.0.0/0 0-65535 인터넷 0-65535 모두 허용
DenyAllOutBound
우선 순위 원본 원본 포트 대상 대상 포트 프로토콜 Access
65500 0.0.0.0/0 0-65535 0.0.0.0/0 0-65535 모두 거부

원본대상 열에서 VirtualNetwork, AzureLoadBalancer인터넷은 IP 주소가 아닌 서비스 태그입니다. 프로토콜 열에서 모두는 TCP, UDP 및 ICMP를 포함합니다. 규칙을 만들 때 TCP, UDP, ICMP 또는 모두를 지정할 수 있습니다. 소스대상 열에서 0.0.0.0/0은 모든 주소를 나타냅니다. Azure Portal, Azure CLI 또는 PowerShell과 같은 클라이언트는 * 또는 이 식에 사용할 수 있습니다.

기본 규칙을 제거할 수 없지만 더 높은 우선 순위의 규칙을 만들어서 재정의할 수 있습니다.

보강된 보안 규칙

강화된 보안 규칙은 가상 네트워크에 대한 보안 정의를 간소화하므로 더 적은 규칙으로 더 크고 복잡한 네트워크 보안 정책을 정의할 수 있습니다. 여러 포트와 여러 명시적 IP 주소 및 범위를 쉽게 이해할 수 있는 단일 보안 규칙으로 결합할 수 있습니다. 규칙의 원본, 대상 및 포트 필드에서 보강된 규칙을 사용합니다. 보안 규칙 정의의 기본 강화된 보안 규칙을 서비스 태그 또는 애플리케이션 보안 그룹과 결합합니다. 규칙에서 지정할 수 있는 주소, 범위 및 포트 수에는 제한이 있습니다. 자세한 내용은 Azure 제한을 참조하세요.

서비스 태그

서비스 태그는 지정된 Azure 서비스의 IP 주소 접두사 그룹을 나타냅니다. 네트워크 보안 규칙에 대한 빈번한 업데이트의 복잡성을 최소화하는 데 도움이 됩니다.

자세한 내용은 Azure 서비스 태그를 참조 하세요. Storage 서비스 태그를 사용하여 네트워크 액세스를 제한하는 방법에 대한 예제는 PaaS 리소스에 대한 네트워크 액세스 제한을 참조 하세요.

애플리케이션 보안 그룹

애플리케이션 보안 그룹을 사용하면 네트워크 보안을 애플리케이션 구조의 자연 확장으로 구성하여 가상 머신을 그룹화하고 해당 그룹에 따라 네트워크 보안 정책을 정의할 수 있습니다. 명시적 IP 주소를 수동으로 유지 관리하지 않고 대규모 보안 정책을 재사용할 수 있습니다. 자세한 내용은 애플리케이션 보안 그룹을 참조하세요.

Azure 플랫폼 고려 사항

  • 호스트 노드의 가상 IP: DHCP, DNS, IMDS 및 상태 모니터링과 같은 기본 인프라 서비스는 가상화된 호스트 IP 주소 168.63.129.16 및 169.254.169.254를 통해 제공됩니다. 이러한 IP 주소는 Microsoft에 속하며 이 목적을 위해 모든 지역에서 사용되는 유일한 가상화된 IP 주소입니다. 기본적으로 이러한 서비스는 각 서비스에 특정한 서비스 태그로 대상이 지정되지 않는 한 구성된 네트워크 보안 그룹의 적용을 받지 않습니다. 이 기본 인프라 통신을 재정의하려면 네트워크 보안 그룹 규칙에서 AzurePlatformDNS, AzurePlatformIMDS, AzurePlatformLKM의 서비스 태그를 사용하여 트래픽을 거부하는 보안 규칙을 만들 수 있습니다. 네트워크 트래픽 필터링을 진단하고 네트워크 라우팅을 진단하는 방법을 알아봅니다.

  • 라이선스(키 관리 서비스): 가상 머신에서 실행되는 Windows 이미지에는 라이선스가 있어야 합니다. 사용 허가를 위해 라이선스 요청이 이러한 쿼리를 처리하는 키 관리 서비스 호스트 서버로 전송됩니다. 요청은 포트 1688을 통해 아웃바운드됩니다. 기본 경로 0.0.0.0/0 구성을 사용하는 배포의 경우 이 플랫폼 규칙은 사용하지 않도록 설정됩니다.

  • 부하 분산 풀의 가상 머신: 적용된 원본 포트 및 주소 범위는 부하 분산 장치가 아닌 원래 컴퓨터에서 가져온 것입니다. 대상 포트 및 주소 범위는 부하 분산 장치가 아닌 대상 컴퓨터에 대한 것입니다.

  • Azure 서비스 인스턴스: HDInsight, Application Service Environment 및 Virtual Machine Scale Sets와 같은 여러 Azure 서비스의 인스턴스가 가상 네트워크 서브넷에 배포됩니다. 가상 네트워크에 배포할 수 있는 서비스의 전체 목록은 Azure 서비스용 Virtual Network를 참조 하세요. 서브넷에 네트워크 보안 그룹을 적용하기 전에 각 서비스의 포트 요구 사항을 숙지합니다. 서비스에 필요한 포트를 거부하면 서비스가 제대로 작동하지 않습니다.

  • 아웃바운드 이메일 보내기: 인증된 SMTP 릴레이 서비스(일반적으로 TCP 포트 587을 통해 연결되지만 종종 다른 서비스)를 활용하여 Azure Virtual Machines에서 전자 메일을 보내는 것이 좋습니다. SMTP 릴레이 서비스는 타사 전자 메일 공급자가 메시지를 거부할 가능성을 최소화하기 위해 보낸 사람의 평판을 전문으로 합니다. 이러한 SMTP 릴레이 서비스는 Exchange Online Protection 및 SendGrid를 포함하지만 여기에 제한되지 않습니다. SMTP 릴레이 서비스는 구독 유형에 관계 없이 Azure에서 제한되지 않고 사용할 수 있습니다.

    SMTP 릴레이 서비스를 사용할 수 있을 뿐만 아니라 2017년 11월 15일 이전에 Azure 구독을 만든 경우 TCP 포트 25를 통해 직접 이메일을 보낼 수 있습니다. 2017년 11월 15일 이후에 구독을 만든 경우 포트 25를 통해 직접 전자 메일을 보낼 수 없습니다. 포트 25를 통한 아웃바운드 통신 동작은 다음과 같이 구독 유형에 따라 달라집니다.

    • 기업계약: 표준 기업계약 구독에 배포된 VM의 경우 TCP 포트 25의 아웃바운드 SMTP 연결이 차단되지 않습니다. 그러나 외부 도메인은 VM에서 들어오는 이메일을 수락한다는 보장이 없습니다. 전자 메일이 외부 do기본 의해 거부되거나 필터링되는 경우 외부 do기본의 전자 메일 서비스 공급자에게 문의하여 문제를 해결해야 합니다. 이러한 문제는 Azure 지원에서 다루지 않습니다.

      Enterprise 개발/테스트 구독의 경우 기본적으로 포트 25가 차단됩니다. 이 차단을 제거하는 것이 가능합니다. 차단을 제거하도록 요청하려면 Azure Portal의 Azure Virtual Network 리소스에 대한 진단 및 해결 설정 페이지의 이메일을 보낼 수 없음(SMTP-포트 25) 섹션으로 이동하여 진단을 실행합니다. 그러면 정규화된 엔터프라이즈 개발/테스트 구독이 자동으로 제외됩니다.

      이 블록에서 구독이 제외되고 VM이 중지되고 다시 시작되면 해당 구독의 모든 VM은 앞으로 제외됩니다. 예외는 요청된 구독에만 적용되며 인터넷에 직접 라우팅되는 VM 트래픽에만 적용됩니다.

    • 종량제: 모든 리소스에서 아웃바운드 포트 25 통신이 차단되었습니다. 요청이 승인되지 않았기 때문에 제한 제거를 요청할 수 없습니다. 가상 머신에서 이메일을 보내야 하는 경우 SMTP 릴레이 서비스를 사용해야 합니다.

    • MSDN, Azure Pass, Azure in Open, Education 및 평가판: 모든 리소스에서 아웃바운드 포트 25 통신이 차단되었습니다. 요청이 승인되지 않았기 때문에 제한 제거를 요청할 수 없습니다. 가상 머신에서 이메일을 보내야 하는 경우 SMTP 릴레이 서비스를 사용해야 합니다.

    • 클라우드 서비스 공급자: 모든 리소스에서 아웃바운드 포트 25 통신이 차단되었습니다. 요청이 승인되지 않았기 때문에 제한 제거를 요청할 수 없습니다. 가상 머신에서 이메일을 보내야 하는 경우 SMTP 릴레이 서비스를 사용해야 합니다.

다음 단계

  • 가상 네트워크에 배포하고 네트워크 보안 그룹을 연결할 수 있는 Azure 리소스에 대해 알아보려면 Azure 서비스에 대한 가상 네트워크 통합을 참조 하세요.
  • 네트워크 보안 그룹을 사용하여 트래픽을 평가하는 방법에 대한 자세한 내용은 네트워크 보안 그룹의 작동 방법을 참조하세요.
  • 네트워크 보안 그룹을 만든 적이 없는 경우 빠른 자습서 를 완료하여 몇 가지 환경을 만들 수 있습니다.
  • 네트워크 보안 그룹에 익숙하고 관리해야 하는 경우 네트워크 보안 그룹 관리를 참조하세요.
  • 통신 문제가 있고 네트워크 보안 그룹을 해결해야 하는 경우 가상 머신 네트워크 트래픽 필터 문제 진단을 참조하세요.
  • 네트워크 보안 그룹 흐름 로그를 사용하여 연결된 네트워크 보안 그룹이 있는 리소스와 주고 받는 네트워크 트래픽을 분석하는 방법을 알아보세요.