엔드포인트 액세스 제어 목록이란?

중요

Azure에는 리소스를 만들고 작업하기 위한 두 가지 배포 모델인 Resource Manager 및 클래식이 있습니다. 이 문서에서는 클래식 배포 모델 사용에 대해 설명합니다. 새로운 배포는 대부분 Resource Manager 배포 모델을 사용하는 것이 좋습니다.

엔드포인트 ACL(액세스 제어 목록)은 Azure 배포에 사용할 수 있는 보안 향상 기능입니다. ACL은 가상 컴퓨터 엔드포인트의 트래픽을 선택적으로 허용하거나 거부하는 기능을 제공합니다. 이 패킷 필터링 기능을 통해 보안을 강화할 수 있습니다. 엔드포인트에 대해서만 네트워크 ACL을 지정할 수 있습니다. 가상 네트워크 또는 가상 네트워크에 포함된 특정 서브넷에 대해서는 ACL을 지정할 수 없습니다. 가능하면 ACL 대신 NSG(네트워크 보안 그룹)를 사용하는 것이 좋습니다. NSG를 사용하면 엔드포인트 액세스 제어 목록이 대체되고 더 이상 적용되지 않습니다. NSG에 대해 자세히 알아보려면 네트워크 보안 그룹 개요를 참조하세요.

ACL은 PowerShell 또는 Azure Portal을 사용하여 구성할 수 있습니다. PowerShell을 사용하여 네트워크 ACL을 구성하려면 PowerShell을 사용하여 엔드포인트에 대한 액세스 제어 목록 관리를 참조하세요. Azure Portal을 사용하여 네트워크 ACL을 구성하려면 가상 머신에 엔드포인트를 설정하는 방법을 참조하세요.

네트워크 ACL을 사용하여 다음을 수행할 수 있습니다.

  • 가상 머신 입력 엔드포인트에 대한 원격 서브넷 IPv4 주소 범위에 따라 들어오는 트래픽을 선택적으로 허용하거나 거부합니다.
  • 차단 목록 IP 주소
  • 가상 컴퓨터 엔드포인트별로 여러 규칙을 생성합니다.
  • 올바른 규칙 집합이 지정된 가상 컴퓨터 엔드포인트에 적용될 수 있도록 규칙 순서를 사용합니다(가장 낮은 값에서 가장 높은 값의 순서로).
  • 특정 원격 서브넷 IPv4 주소에 대해 ACL을 지정합니다.

ACL 제한은 Azure 제한 문서를 참조하세요.

ACL의 작동 방식

ACL은 규칙 목록이 포함된 개체입니다. ACL을 만들어 가상 머신 엔드포인트에 적용하는 경우 VM의 호스트 노드에서 패킷 필터링이 발생합니다. 즉, VM 대신 ACL 규칙이 일치하는 호스트 노드에서 원격 IP 주소의 트래픽을 필터링합니다. 그러면 VM에서 패킷 필터링에 귀중한 CPU 주기를 사용하는 것을 방지할 수 있습니다.

가상 머신을 만들 경우 기본 ACL이 작동하여 들어오는 모든 트래픽을 차단합니다. 그러나 엔드포인트를 만들면(포트 3389) 해당 엔드포인트에 대한 모든 인바운드 트래픽을 허용하도록 기본 ACL이 수정됩니다. 그러면 모든 원격 서브넷의 인바운드 트래픽이 해당 엔드포인트에 대해 허용되며, 방화벽 프로비저닝이 필요하지 않습니다. 해당 포트에 대해 엔드포인트를 만들지 않으면 다른 모든 포트가 인바운드 트래픽에 대해 차단됩니다. 기본적으로 아웃바운드 트래픽은 허용됩니다.

기본 ACL 테이블의 예

규칙 번호 원격 서브넷 엔드포인트 허용/거부
100 0.0.0.0/0 3389 허용

허용 및 거부

"허용" 또는 "거부"를 지정하는 규칙을 만들어 가상 머신 입력 엔드포인트에 대한 네트워크 트래픽을 선택적으로 허용하거나 거부할 수 있습니다. 기본적으로 엔드포인트를 만들 때 엔드포인트에 대한 모든 트래픽이 허용된다는 것이 중요합니다. 이러한 이유로 가상 머신 엔드포인트에 연결할 수 있도록 선택하는 네트워크 트래픽을 세부적으로 제어하려는 경우 허용/거부 규칙을 만들어 적절한 우선 순위로 사용하는 방법을 이해하는 것이 중요합니다.

고려할 항목:

  1. ACL 없음 - 기본적으로 엔드포인트를 만들 때 엔드포인트에 대한 모든 트래픽을 허용합니다.
  2. 허용 - "허용" 범위를 하나 이상 추가할 경우 기본적으로 다른 모든 범위를 거부하는 것입니다. 허용된 IP 범위의 패킷만 가상 머신 엔드포인트와 통신할 수 있습니다.
  3. 거부 - "거부" 범위를 하나 이상 추가할 경우 기본적으로 다른 모든 트래픽 범위를 허용하는 것입니다.
  4. 허용 및 거부의 조합 - 특정 IP 범위를 지정하여 트래픽을 허용 또는 거부하려는 경우 "허용" 및 "거부" 조합을 사용할 수 있습니다.

규칙 및 규칙 우선 순위

특정 가상 머신 엔드포인트에 대해 네트워크 ACL을 설정할 수 있습니다. 예를 들어 특정 IP 주소에 대한 액세스를 제한하는 가상 머신에서 만든 RDP 엔드포인트에 대한 네트워크 ACL을 지정할 수 있습니다. 아래 표에서는 특정 범위의 공용 VIP(가상 IP)에 대한 액세스 권한을 부여하여 RDP에 대한 액세스를 허용하는 방법을 보여 줍니다. 다른 모든 원격 IP는 거부됩니다. 여기에서는 가장 낮은 항목 우선 적용 규칙 순서를 따릅니다.

여러 규칙

아래 예제에서 두 개의 공용 IPv4 주소 범위(65.0.0.0/8 및 159.0.0.0/8)에 해당하는 RDP 엔드포인트에 대해서만 액세스를 허용하려면 다음 두 개의 허용 규칙을 지정하면 됩니다. 이 경우 기본적으로 RDP가 가상 머신에 대해 생성되므로 원격 서브넷을 기반으로 하는 RDP 포트에 대한 액세스를 제한할 수 있습니다. 아래 예제에서는 특정 범위의 공용 VIP(가상 IP)에 대한 액세스 권한을 부여하여 RDP에 대한 액세스를 허용하는 방법을 보여 줍니다. 다른 모든 원격 IP는 거부됩니다. 네트워크 ACL을 특정 가상 머신 엔드포인트에 대해 설정할 수 있으며 기본적으로 액세스가 거부되므로 이 규칙이 작동됩니다.

예 - 여러 규칙

규칙 번호 원격 서브넷 엔드포인트 허용/거부
100 65.0.0.0/8 3389 허용
200 159.0.0.0/8 3389 허용

규칙 순서

엔드포인트에 대해 여러 규칙을 지정할 수 있으므로 우선 적용할 규칙을 확인하려면 규칙을 구성할 수 있는 방법이 있어야 합니다. 규칙 순서에 따라 우선 순위가 지정됩니다. 네트워크 ACL은 가장 낮은 항목 우선 적용 규칙 순서를 따릅니다. 아래 예제에서 포트 80의 엔드포인트에는 특정 IP 주소 범위에 대한 액세스 권한만 선택적으로 부여됩니다. 이를 구성하기 위해 175.1.0.1/24 공간의 주소에 대한 거부 규칙(규칙 번호 100)을 사용합니다. 그런 다음 175.0.0.0/8의 다른 모든 주소에 대한 액세스를 허용하는 두 번째 규칙이 우선 순위 200으로 지정됩니다.

예 - 규칙 우선 순위

규칙 번호 원격 서브넷 엔드포인트 허용/거부
100 175.1.0.1/24 80 거부
200 175.0.0.0/8 80 허용

네트워크 ACL 및 부하 분산된 집합

부하 분산된 집합 엔드포인트에서 네트워크 ACL을 지정할 수 있습니다. ACL이 부하 분산된 집합에 대해 지정된 경우 네트워크 ACL이 해당 부하 분산된 집합의 모든 가상 머신에 적용됩니다. 예를 들어 부하 분산된 집합이 "포트 80"에 생성되고 부하 분산된 집합에 3개의 VM이 포함된 경우 하나의 VM 엔드포인트 "포트 80"에 생성된 네트워크 ACL은 다른 VM에 자동으로 적용됩니다.

네트워크 ACL 및 부하 분산된 집합

다음 단계

PowerShell을 사용하여 엔드포인트에 대한 액세스 제어 목록 관리