자습서: Azure Portal을 사용하여 네트워크 보안 그룹을 통해 네트워크 트래픽 필터링

네트워크 보안 그룹을 사용하여 Azure Virtual Network의 Azure 리소스에서 들어오고 나가는 인바운드 및 아웃바운드 네트워크 트래픽을 필터링할 수 있습니다.

네트워크 보안 그룹에는 IP 주소, 포트, 프로토콜에 따라 네트워크 트래픽을 필터링하는 보안 규칙이 포함됩니다. 네트워크 보안 그룹이 서브넷과 연결되면 해당 서브넷에 배포된 리소스에 보안 규칙이 적용됩니다.

Diagram of resources created during tutorial.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • 네트워크 보안 그룹 및 보안 규칙 만들기
  • 애플리케이션 보안 그룹 만들기
  • 가상 네트워크 만들기 및 서브넷에 네트워크 보안 그룹 연결
  • 가상 머신을 배포하고 해당 네트워크 인터페이스를 애플리케이션 보안 그룹에 연결합니다.

필수 조건

Azure에 로그인

Azure Portal에 로그인합니다.

가상 네트워크 만들기

다음 절차에 따라 리소스 서브넷이 있는 가상 네트워크를 만듭니다.

  1. 포털에서 가상 네트워크를 검색하여 선택합니다.

  2. 가상 네트워크 페이지에서 + 만들기를 선택합니다.

  3. 가상 네트워크 만들기기본 사항 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group 새로 만들기를 선택합니다.
    이름에 test-rg를 입력합니다.
    확인을 선택합니다.
    인스턴스 세부 정보
    Name vnet-1을 입력합니다.
    지역 미국 동부 2를 선택합니다.

    Screenshot of Basics tab of Create virtual network in the Azure portal.

  4. 다음을 선택하여 보안 탭으로 이동합니다.

  5. 다음을 선택하여 IP 주소 탭으로 이동합니다.

  6. 서브넷의 주소 공간 입력란에서 기본 서브넷을 선택합니다.

  7. 서브넷 편집에서 다음 정보를 입력하거나 선택합니다.

    설정
    서브넷 세부 정보
    서브넷 템플릿 기본값으로 둡니다.
    이름 subnet-1을 입력합니다.
    시작 주소 기본값인 10.0.0.0을 그대로 둡니다.
    서브넷 크기 기본값인 /24(256개 주소)를 그대로 둡니다.

    Screenshot of default subnet rename and configuration.

  8. 저장을 선택합니다.

  9. 화면 아래쪽에서 검토 + 만들기를 선택하고 유효성 검사를 통과하면 만들기를 선택합니다.

애플리케이션 보안 그룹 만들기

ASG(애플리케이션 보안 그룹)를 사용하면 웹 서버와 같은 유사한 기능을 갖는 서버를 함께 그룹화할 수 있습니다.

  1. 포털 위쪽의 검색 상자에서 애플리케이션 보안 그룹을 입력합니다. 검색 결과에서 애플리케이션 보안 그룹을 선택합니다.

  2. + 만들기를 선택합니다.

  3. 애플리케이션 보안 그룹 만들기기본 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group test-rg를 선택합니다.
    인스턴스 세부 정보
    이름 asg-web을 입력합니다.
    지역 미국 동부 2를 선택합니다.
  4. 검토 + 만들기를 선택합니다.

  5. + 만들기를 선택합니다.

  6. 다음 값을 지정하여 이전 단계를 반복합니다.

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group test-rg를 선택합니다.
    인스턴스 세부 정보
    이름 asg-mgmt를 입력합니다.
    지역 미국 동부 2를 선택합니다.
  7. 검토 + 만들기를 선택합니다.

  8. 만들기를 선택합니다.

네트워크 보안 그룹 만들기

NSG(네트워크 보안 그룹)는 가상 네트워크의 네트워크 트래픽을 보호합니다.

  1. 포털 맨 위에 있는 검색 상자에 네트워크 보안 그룹를 입력합니다. 검색 결과에서 네트워크 보안 그룹을 선택합니다.

    참고 항목

    네트워크 보안 그룹의 검색 결과에 네트워크 보안 그룹(클래식)이 표시될 수 있습니다. 네트워크 보안 그룹을 선택합니다.

  2. + 만들기를 선택합니다.

  3. 네트워크 보안 그룹 만들기기본 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group test-rg를 선택합니다.
    인스턴스 세부 정보
    이름 nsg-1을 입력합니다.
    위치 미국 동부 2를 선택합니다.
  4. 검토 + 만들기를 선택합니다.

  5. 만들기를 선택합니다.

서브넷에 네트워크 보안 그룹 연결

이 섹션에서는 네트워크 보안 그룹을 이전에 만든 가상 네트워크의 서브넷과 연결합니다.

  1. 포털 맨 위에 있는 검색 상자에 네트워크 보안 그룹를 입력합니다. 검색 결과에서 네트워크 보안 그룹을 선택합니다.

  2. nsg-1을 선택합니다.

  3. nsg-1설정 섹션에서 서브넷을 선택합니다.

  4. 서브넷 페이지에서 + 연결을 선택합니다.

    Screenshot of Associate a network security group to a subnet.

  5. 서브넷 연결에서 가상 네트워크에 대해 vnet-1(test-rg)을 선택합니다.

  6. 서브넷에 대해 subnet-1을 선택한 다음, 확인을 선택합니다.

보안 규칙 만들기

  1. nsg-1설정 섹션에서 인바운드 보안 규칙을 선택합니다.

  2. 인바운드 보안 규칙 페이지에서 + 추가를 선택합니다.

  3. asg-web 애플리케이션 보안 그룹에 포트 80 및 443을 허용하는 보안 규칙을 만듭니다. 인바운드 보안 규칙 추가 페이지에서 다음 정보를 입력하거나 선택합니다.

    설정
    원본 모두(기본값)를 그대로 둡니다.
    원본 포트 범위 (*)의 기본값을 그대로 둡니다.
    대상 애플리케이션 보안 그룹을 선택합니다.
    대상 애플리케이션 보안 그룹 asg-web을 선택합니다.
    서비스 사용자 지정(기본값)을 그대로 둡니다.
    대상 포트 범위 80,443을 입력합니다.
    프로토콜 TCP를 선택합니다.
    작업 허용(기본값)을 그대로 둡니다.
    우선 순위 100(기본값)을 그대로 둡니다.
    이름 allow-web-all을 입력합니다.
  4. 추가를 선택합니다.

  5. 다음 정보를 사용하여 이전 단계를 완료합니다.

    설정
    원본 모두(기본값)를 그대로 둡니다.
    원본 포트 범위 (*)의 기본값을 그대로 둡니다.
    대상 애플리케이션 보안 그룹을 선택합니다.
    대상 애플리케이션 보안 그룹 asg-mgmt를 선택합니다.
    서비스 RDP를 선택합니다.
    작업 허용(기본값)을 그대로 둡니다.
    우선 순위 110(기본값)을 그대로 둡니다.
    이름 allow-rdp-all을 입력합니다.
  6. 추가를 선택합니다.

    주의

    이 문서에서 RDP(3389 포트)는 asg-mgmt 애플리케이션 보안 그룹에 할당된 VM에 대한 인터넷에 노출됩니다.

    프로덕션 환경에서는 3389 포트를 인터넷에 공개하는 대신 VPN, 개인 네트워크 연결 또는 Azure Bastion을 통해 관리하려는 Azure 리소스에 연결하는 것이 좋습니다.

    Azure Bastion에 대한 자세한 내용은 Azure Bastion이란?을 참조하세요.

가상 머신 만들기

가상 네트워크에 두 개의 VM(가상 머신)을 만듭니다.

  1. 포털에서 가상 머신을 검색하여 선택합니다.

  2. 가상 머신에서 + 만들기를 선택한 다음, +Azure 가상 머신을 선택합니다.

  3. 가상 머신 만들기기본 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group test-rg를 선택합니다.
    인스턴스 세부 정보
    가상 머신 이름 vm-1을 입력합니다.
    지역 (미국) 미국 동부 2를 선택합니다.
    가용성 옵션 기본값인 인프라 중복 필요 없음을 그대로 둡니다.
    보안 유형 표준을 선택합니다.
    이미지 Windows Server 2022 Datacenter - x64 Gen2를 선택합니다.
    Azure Spot 인스턴스 기본값을 선택하지 않은 상태로 둡니다.
    크기 크기를 선택합니다.
    관리자 계정
    사용자 이름 사용자 이름을 입력합니다.
    암호 암호를 입력합니다.
    암호 확인 암호를 다시 입력합니다.
    인바운드 포트 규칙
    인바운드 포트 선택 없음을 선택합니다.
  4. 다음: 디스크를 선택하고 다음: 네트워킹을 선택합니다.

  5. 네트워킹 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    네트워크 인터페이스
    가상 네트워크 vnet-1을 선택합니다.
    서브넷 subnet-1(10.0.0.0/24)을 선택합니다.
    공용 IP 새 공용 IP(기본값)를 그대로 둡니다.
    NIC 네트워크 보안 그룹 추가 없음을 선택합니다.
  6. 검토 + 만들기 탭을 선택하거나, 페이지 아래쪽에서 파란색 검토 + 만들기 단추를 선택합니다.

  7. 만들기를 실행합니다. VM을 배포하는 데 몇 분 정도 걸릴 수 있습니다.

  8. 이전 단계를 반복하여 vm-2라는 두 번째 가상 머신을 만듭니다.

네트워크 인터페이스를 ASG에 연결

VM을 만들 때 Azure는 각 VM에 대한 네트워크 인터페이스를 만들고 VM에 연결했습니다.

이전에 생성한 애플리케이션 보안 그룹 중 하나에 각 VM의 네트워크 인터페이스를 추가합니다.

  1. 포털 맨 위에 있는 검색 상자에 가상 머신을 입력합니다. 검색 결과에서 가상 머신을 선택합니다.

  2. vm-1을 선택합니다.

  3. vm-1설정 섹션에서 네트워킹을 선택합니다.

  4. 애플리케이션 보안 그룹 탭을 선택한 다음, 애플리케이션 보안 그룹 구성을 선택합니다.

    Screenshot of Configure application security groups.

  5. 애플리케이션 보안 그룹 구성애플리케이션 보안 그룹 풀다운 메뉴에서 asg-web을 선택한 다음, 저장을 선택합니다.

  6. 애플리케이션 보안 그룹 풀다운 메뉴에서 asg-mgmt를 선택하여 vm-2에 대해 이전 단계를 반복합니다.

트래픽 필터 테스트

  1. 포털 맨 위에 있는 검색 상자에 가상 머신을 입력합니다. 검색 결과에서 가상 머신을 선택합니다.

  2. vm-2를 선택합니다.

  3. 개요 페이지에서 연결 단추를 선택한 다음 네이티브 RDP를 선택합니다.

  4. RDP 파일 다운로드를 선택합니다.

  5. 다운로드한 rdp 파일을 열고 연결을 선택합니다. VM을 만들 때 지정한 사용자 이름과 암호를 입력합니다.

  6. 확인을 선택합니다.

  7. 연결 프로세스 중에 인증서 경고가 나타날 수 있습니다. 경고 메시지가 표시되면 또는 계속을 선택하여 연결을 계속합니다.

    인터넷에서 asg-mgmt 애플리케이션 보안 그룹으로의 인바운드 트래픽이 포트 3389를 통해 허용되기 때문에 연결이 성공합니다.

    vm-2에 대한 네트워크 인터페이스가 asg-mgmt 애플리케이션 보안 그룹과 연결되어 연결을 허용합니다.

  8. vm-2에서 PowerShell 세션을 엽니다. 다음을 사용하여 vm-1에 연결합니다.

    mstsc /v:vm-1
    

    기본적으로 동일한 네트워크의 가상 머신에서 모든 포트를 통해 서로 통신할 수 있으므로 vm-2에서 vm-1로의 RDP 연결이 성공합니다.

    인터넷에서 vm-1 가상 머신으로의 RDP 연결을 만들 수 없습니다. asg-web에 대한 보안 규칙은 인터넷에서 3389 포트로의 인바운드 연결을 차단합니다. 인터넷에서 모든 리소스로의 인바운드 트래픽은 기본적으로 거부됩니다.

  9. Microsoft IIS를 vm-1 가상 머신에 설치하려면 vm-1 가상 머신의 PowerShell 세션에서 다음 명령을 입력합니다.

    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
  10. IIS 설치가 완료된 후 vm-1 가상 머신과의 연결을 끊으면 vm-2 가상 머신 원격 데스크톱 연결이 유지됩니다.

  11. vm-2 VM과의 연결을 끊습니다.

  12. 포털 검색 상자에서 vm-1을 검색합니다.

  13. vm-1개요 페이지에서 VM의 공용 IP 주소를 확인합니다. 다음 예에 표시된 주소는 20.230.55.178이지만 귀하의 주소는 다릅니다.

    Screenshot of Public IP address of a virtual machine in the Overview page.

  14. 인터넷에서 vm-1 웹 서버에 액세스할 수 있는지 확인하기 위해 컴퓨터에서 인터넷 브라우저를 열고 http://<public-ip-address-from-previous-step>으로 이동합니다.

IIS 기본 페이지가 표시됩니다. 인터넷에서 asg-web 애플리케이션 보안 그룹으로의 인바운드 트래픽이 포트 80을 통해 허용되기 때문입니다.

vm-1에 연결된 네트워크 인터페이스가 asg-web 애플리케이션 보안 그룹과 연결되어 연결을 허용합니다.

리소스 정리

만든 리소스 사용을 마치면 리소스 그룹 및 모든 해당 리소스를 삭제할 수 있습니다.

  1. Azure Portal에서 리소스 그룹을 검색하고 선택합니다.

  2. 리소스 그룹 페이지에서 test-rg 리소스 그룹을 선택합니다.

  3. test-rg 페이지에서 리소스 그룹 삭제를 선택합니다.

  4. 리소스 그룹 이름 입력에 test-rg를 입력하여 삭제를 확인한 다음 삭제를 선택합니다.

다음 단계

이 자습서에서는 다음을 수행합니다.

  • 네트워크 보안 그룹을 만들어 가상 네트워크 서브넷에 연결했습니다.
  • 웹 및 관리를 위한 애플리케이션 보안 그룹을 만들었습니다.
  • 두 개의 가상 머신을 만들고 해당 네트워크 인터페이스를 애플리케이션 보안 그룹과 연결했습니다.
  • 애플리케이션 보안 그룹 네트워크 필터링을 테스트했습니다.

네트워크 보안 그룹에 대한 자세한 내용은 네트워크 보안 그룹 개요네트워크 보안 그룹 관리를 참조하세요.

기본적으로 Azure는 서브넷 간에 트래픽을 라우팅합니다. 그 대신 방화벽 역할을 하는 VM 등을 통해 서브넷 간에 트래픽을 라우팅하도록 선택할 수 있습니다.

경로 테이블을 만드는 방법을 알아보려면 다음 자습서를 진행하세요.