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

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

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

이 자습서에서는 다음 작업 방법을 알아봅니다.

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

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

필수 구성 요소

  • Azure 구독

Azure에 로그인

Azure Portal에 로그인합니다.

가상 네트워크 만들기

  1. Azure Portal 메뉴에서 + 리소스 만들기>네트워킹>Virtual Network를 선택하거나 포털 검색 상자에서 Virtual Network를 검색합니다.

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

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

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group 새로 만들기를 선택합니다.
    myResourceGroup을 입력합니다.
    확인을 선택합니다.
    인스턴스 세부 정보
    이름 myVNet을 입력합니다.
    지역 미국 동부를 선택합니다.
  4. 검토 + 만들기 탭을 선택하거나 페이지 하단에 있는 파란색 검토 + 만들기 단추를 선택합니다.

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

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

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

  1. Azure Portal 메뉴에서 + 리소스 만들기>네트워킹>애플리케이션 보안 그룹을 선택하거나 포털 검색 상자에서 애플리케이션 보안 그룹을 검색합니다.

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

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

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group myResourceGroup을 선택합니다.
    인스턴스 세부 정보
    속성 myAsgWebServers를 입력합니다.
    지역 (미국) 미국 동부를 선택합니다.
  4. 검토 + 만들기 탭을 선택하거나, 페이지 아래쪽에서 파란색 검토 + 만들기 단추를 선택합니다.

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

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

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group myResourceGroup을 선택합니다.
    인스턴스 세부 정보
    속성 myAsgMgmtServers를 입력합니다.
    지역 (미국) 미국 동부를 선택합니다.
  7. 검토 + 만들기 탭을 선택하거나, 페이지 아래쪽에서 파란색 검토 + 만들기 단추를 선택합니다.

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

네트워크 보안 그룹 만들기

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

  1. Azure Portal 메뉴에서 + 리소스 만들기>네트워킹>네트워크 보안 그룹을 선택하거나 포털 검색 상자에서 네트워크 보안 그룹을 검색합니다.

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

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

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group myResourceGroup을 선택합니다.
    인스턴스 세부 정보
    속성 myNSG를 입력합니다.
    위치 (미국) 미국 동부를 선택합니다.
  4. 검토 + 만들기 탭을 선택하거나, 페이지 아래쪽에서 파란색 검토 + 만들기 단추를 선택합니다.

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

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

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

  1. 포털 검색 상자에서 myNsg를 검색합니다.

  2. myNSG설정 섹션에서 서브넷을 선택합니다.

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

    서브넷에 네트워크 보안 그룹 연결의 스크린샷

  4. 서브넷 연결에서 가상 네트워크에 대해 myVNet을 선택합니다.

  5. 서브넷에 대해 기본값을 선택한 다음 확인을 선택합니다.

보안 규칙 만들기

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

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

    네트워크 보안 그룹의 인바운드 보안 규칙의 스크린샷

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

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

    네트워크 보안 그룹의 인바운드 보안 규칙 추가의 스크린샷

  4. 추가를 선택합니다.

  5. 다음 정보를 사용하여 3-4단계를 다시 완료합니다.

    설정
    원본 모두(기본값)를 그대로 둡니다.
    원본 포트 범위 (*)의 기본값을 그대로 둡니다.
    대상 애플리케이션 보안 그룹을 선택합니다.
    대상 애플리케이션 보안 그룹 myAsgMgmtServers를 선택합니다.
    서비스 사용자 지정(기본값)을 그대로 둡니다.
    대상 포트 범위 3389를 입력합니다.
    프로토콜 임의를 선택합니다.
    작업 허용(기본값)을 그대로 둡니다.
    우선 순위 110(기본값)을 그대로 둡니다.
    Name Allow-RDP-All을 입력합니다.
  6. 추가를 선택합니다.

    주의

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

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

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

1-3단계를 완료한 후 사용자가 만든 규칙을 검토합니다. 목록은 다음 예의 목록과 같습니다.

네트워크 보안 그룹의 보안 규칙의 스크린샷

가상 머신 만들기

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

첫 번째 가상 머신 만들기

  1. Azure Portal 메뉴에서 + 리소스 만들기>컴퓨팅>가상 머신을 선택하거나 포털 검색 상자에서 가상 머신을 검색합니다.

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

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

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

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

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

두 번째 가상 머신 만들기

1~6단계를 다시 완료하되 2단계에서 가상 머신 이름에 myVMMgmt를 입력합니다.

다음 섹션으로 진행하기 전에 VM이 배포를 완료할 때까지 기다리세요.

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

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

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

  1. 포털 검색 상자에서 myVMWeb을 검색합니다.

  2. myVMWeb VM의 설정 섹션에서 네트워킹을 선택합니다.

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

    애플리케이션 보안 그룹 구성의 스크린샷

  4. 애플리케이션 보안 그룹 구성에서 myAsgWebServers를 선택합니다. 저장을 선택합니다.

    네트워크 인터페이스에 애플리케이션 보안 그룹을 연결하는 방법을 보여 주는 스크린샷

  5. myVMMgmt 가상 머신을 검색하고 myAsgMgmtServers ASG를 선택하여 1 및 2단계를 다시 완료합니다.

트래픽 필터 테스트

  1. 포털 검색 상자에서 myVMMgmt를 검색합니다.

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

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

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

  5. 확인을 선택합니다.

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

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

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

  7. myVMMgmt에서 PowerShell 세션을 엽니다. 다음을 사용하여 myVMWeb에 연결합니다.

    mstsc /v:myVmWeb
    

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

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

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

    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
  9. IIS 설치가 완료되면 myVMWeb 가상 머신의 연결을 끊습니다. 그러면 myVMMgmt 가상 머신 원격 데스크톱 연결이 종료됩니다.

  10. myVMMgmt VM의 연결을 끊습니다.

  11. 포털 검색 상자에서 myVMWeb을 검색합니다.

  12. myVMWeb개요 페이지에서 VM의 공용 IP 주소를 확인합니다. 다음 예에 표시된 주소는 23.96.39.113이지만, 주소가 다릅니다.

    개요 페이지에서 가상 머신의 공용 IP 주소의 스크린샷

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

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

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

리소스 정리

더 이상 필요하지 않은 경우 리소스 그룹 및 해당 그룹에 포함된 모든 리소스를 삭제합니다.

  1. 포털 맨 위에 있는 검색 상자에 myResourceGroup을 입력합니다. 검색 결과에 myResourceGroup이 보이면 선택합니다.
  2. 리소스 그룹 삭제를 선택합니다.
  3. 리소스 그룹 이름 입력:myResourceGroup을 입력하고 삭제를 선택합니다.

다음 단계

이 자습서에서는 다음과 같은 작업을 수행했습니다.

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

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

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

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