Azure Portal을 사용하여 Azure Firewall 배포 및 구성

아웃바운드 네트워크 액세스 제어는 전체 네트워크 보안 계획에서 중요한 부분입니다. 예를 들어 웹 사이트에 대한 액세스를 제한할 수 있습니다. 또는 액세스 가능한 아웃바운드 IP 주소 및 포트를 제한할 수 있습니다.

Azure 서브넷에서 아웃바운드 네트워크로의 액세스를 제어하는 한 가지 방법은 Azure Firewall입니다. Azure Firewall을 사용하면 다음을 구성할 수 있습니다.

  • 서브넷에서 액세스할 수 있는 FQDN(정규화된 도메인 이름)을 정의하는 애플리케이션 규칙.
  • 원본 주소, 프로토콜, 대상 포트 및 대상 주소를 정의하는 네트워크 규칙.

네트워크 트래픽은 서브넷 기본 게이트웨이처럼 방화벽에 네트워크 트래픽을 라우팅할 경우 구성된 방화벽 규칙에 종속됩니다.

이 문서에서는 배포가 용이하도록 두 개의 서브넷을 사용하여 간소화된 단일 VNet을 만듭니다.

프로덕션 배포의 경우 허브 및 스포크 모델이 권장되며 방화벽은 자체 VNet에 있습니다. 워크로드 서버는 하나 이상의 서브넷이 있는 동일한 지역에서 피어링된 VNet에 있습니다.

  • AzureFirewallSubnet - 방화벽은 이 서브넷에 있습니다.
  • 워크로드-SN - 워크로드 서버는 이 서브넷에 있습니다. 이 서브넷의 네트워크 트래픽은 방화벽을 통해 이동합니다.

네트워크 인프라

이 문서에서는 다음 방법을 설명합니다.

  • 테스트 네트워크 환경 설정
  • 방화벽 배포
  • 기본 경로 만들기
  • www.google.com에 대한 액세스를 허용하도록 애플리케이션 규칙 구성
  • 외부 DNS 서버 액세스를 허용하도록 네트워크 규칙 구성
  • 테스트 서버에 대한 원격 데스크톱을 허용하도록 NAT 규칙 구성
  • 방화벽 테스트

참고

이 문서에서는 클래식 방화벽 규칙을 사용하여 방화벽을 관리합니다. 선호되는 방법은 방화벽 정책을 사용하는 것입니다. 방화벽 정책을 사용하여 이 절차를 완료하려면 자습서: Azure Portal을 사용하여 Azure Firewall과 정책 배포 및 구성을 참조하세요.

원하는 경우 Azure PowerShell을 사용하여 이 절차를 완료할 수 있습니다.

사전 요구 사항

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

네트워크 설정

먼저 방화벽 배포에 필요한 리소스를 포함하는 리소스 그룹을 만듭니다. 그런 다음, VNet, 서브넷 및 테스트 서버를 만듭니다.

리소스 그룹 만들기

리소스 그룹에는 이 절차에 사용된 모든 리소스가 포함되어 있습니다.

  1. https://portal.azure.com 에서 Azure Portal에 로그인합니다.
  2. Azure Portal 메뉴에서 리소스 그룹을 선택하거나 검색하여 어느 페이지에서든 리소스 그룹을 선택합니다. 그런 다음 만들기를 선택합니다.
  3. 구독의 경우 사용자의 구독을 선택합니다.
  4. 리소스 그룹 이름Test-FW-RG를 입력합니다.
  5. 리소스 그룹 위치의 경우 위치를 선택합니다. 만드는 다른 모든 리소스는 동일한 위치에 있어야 합니다.
  6. 검토 + 만들기를 선택합니다.
  7. 만들기를 선택합니다.

VNet 만들기

이 VNet에는 두 개의 서브넷이 있습니다.

참고

AzureFirewallSubnet 서브넷의 크기는 /26입니다. 서브넷 크기에 대한 자세한 내용은 Azure Firewall FAQ를 참조하세요.

  1. Azure Portal 메뉴 또는 페이지에서 리소스 만들기를 선택합니다.

  2. 네트워킹>가상 네트워크를 선택합니다.

  3. 구독의 경우 사용자의 구독을 선택합니다.

  4. 리소스 그룹의 경우 Test-FW-RG를 선택합니다.

  5. 이름Test-FW-VN을 입력합니다.

  6. 지역의 경우 전에 사용한 것과 동일한 위치를 선택합니다.

  7. 완료되면 다음: IP 주소를 선택합니다.

  8. IPv4 주소 공간의 경우 기본값 10.0.0.0/16을 적용합니다.

  9. 서브넷 이름 아래에서 기본값을 선택합니다.

  10. 서브넷 이름에 대해 AzureFirewallSubnet으로 변경합니다. 방화벽은 이 서브넷에 있고 해당 서브넷 이름은 AzureFirewallSubnet이 되어야 합니다.

  11. 주소 범위10.0.1.0/26으로 변경합니다.

  12. 저장을 선택합니다.

    다음으로, 워크로드 서버용 서브넷을 만듭니다.

  13. 서브넷 추가를 선택합니다.

  14. 서브넷 이름워크로드-SN을 입력합니다.

  15. 서브넷 주소 범위에 대해 10.0.2.0/24를 입력합니다.

  16. 추가를 선택합니다.

  17. 검토 + 만들기를 선택합니다.

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

가상 머신 만들기

이제 워크로드 가상 머신을 만들어 워크로드-SN 서브넷에 배치합니다.

  1. Azure Portal 메뉴 또는 페이지에서 리소스 만들기를 선택합니다.

  2. Windows Server 2019 Datacenter를 선택합니다.

  3. 가상 머신에 대해 다음 값을 입력합니다.

    설정
    Resource group Test-FW-RG
    가상 머신 이름 Srv-Work
    지역 이전과 동일함
    이미지 Windows Server 2019 Datacenter
    관리자 사용자 이름 사용자 이름 입력
    암호 암호 입력
  4. 인바운드 포트 규칙, 퍼블릭 인바운드 포트에서 없음을 선택합니다.

  5. 나머지는 기본값으로 두고 다음: 디스크를 선택합니다.

  6. 디스크는 기본값으로 두고 다음: 네트워킹을 선택합니다.

  7. 가상 네트워크에 Test-FW-VN이 선택되고 서브넷이 워크로드-SN인지 확인합니다.

  8. 공용 IP에 대해 없음을 선택합니다.

  9. 나머지는 기본값으로 두고 다음: 관리를 선택합니다.

  10. 부팅 진단에서 사용하지 않도록 설정을 선택하여 부팅 진단을 사용하지 않도록 설정합니다. 나머지는 기본값으로 두고 검토 + 만들기를 선택합니다.

  11. 요약 페이지에서 설정을 검토한 다음, 만들기를 선택합니다.

  12. 배포가 완료되면 Srv-Work를 선택하고 나중에 사용해야 하는 개인 IP 주소를 기록해 둡니다.

참고

Azure는 공용 IP 주소가 할당되지 않았거나 내부 기본 Azure Load Balancer의 백 엔드 풀에 있는 VM에 대한 기본 아웃바운드 액세스 IP를 제공합니다. 기본 아웃바운드 액세스 IP 메커니즘은 구성할 수 없는 아웃바운드 IP 주소를 제공합니다.

자세한 내용은 Azure의 기본 아웃바운드 액세스를 참조하세요.

공용 IP 주소가 VM에 할당되거나 VM이 아웃바운드 규칙의 유무에 관계없이 표준 부하 분산 장치의 백 엔드 풀에 배치되면 기본 아웃바운드 액세스 IP가 사용하지 않도록 설정됩니다. Azure Virtual Network NAT(Network Address Translation) 게이트웨이 리소스가 가상 머신의 서브넷에 할당된 경우 기본 아웃바운드 액세스 IP가 사용하지 않도록 설정됩니다.

유연한 오케스트레이션 모드에서 가상 머신 확장 집합으로 만든 VM에는 기본 아웃바운드 액세스 권한이 없습니다.

Azure의 아웃바운드 연결에 대한 자세한 내용은 아웃바운드 연결에 대한 SNAT(Source Network Address Translation) 사용을 참조하세요.

방화벽 배포

VNet에 방화벽을 배포합니다.

  1. Azure Portal 메뉴 또는 페이지에서 리소스 만들기를 선택합니다.

  2. 검색 상자에 방화벽을 입력하고 Enter 키를 누릅니다.

  3. 방화벽을 선택하고 만들기를 선택합니다.

  4. 방화벽 만들기 페이지에서 다음 표를 사용하여 방화벽을 구성합니다.

    설정
    Subscription <구독>
    Resource group Test-FW-RG
    Name Test-FW01
    지역 전에 사용한 동일한 위치 선택
    방화벽 계층 Standard
    방화벽 관리 방화벽 규칙(클래식)을 사용하여 이 방화벽 관리
    가상 네트워크 선택 기존 리소스 사용: Test-FW-VN
    공용 IP 주소 새로 추가
    이름: fw-pip
  5. 다른 기본값을 적용한 다음, 검토 + 만들기를 선택합니다.

  6. 요약을 검토한 다음, 만들기를 선택하여 방화벽을 만듭니다.

    이 설정은 배포하는 데 몇 분 정도 걸립니다.

  7. 배포가 완료되면 Test-FW-RG 리소스 그룹으로 이동하고 Test-FW01 방화벽을 선택합니다.

  8. 방화벽 개인 및 공용 IP 주소를 확인합니다. 나중에 이러한 주소를 사용합니다.

기본 경로 만들기

방화벽을 통해 아웃바운드 및 인바운드 연결에 대한 경로를 만들 때 0.0.0.0/0에 대한 기본 경로로 가상 어플라이언스 개인 IP를 다음 홉으로 사용하는 것으로 충분합니다. 그러면 방화벽을 통과하기 위해 나가는 연결과 들어오는 모든 연결을 처리합니다. 예를 들어 방화벽이 TCP 핸드셰이크를 수행하고 들어오는 요청에 응답하는 경우 응답은 트래픽을 보낸 IP 주소로 전달됩니다. 이것은 의도적인 것입니다.

따라서 AzureFirewallSubnet IP 범위를 포함하기 위해 추가 UDR을 만들 필요가 없습니다. 이로 인해 연결이 끊어질 수 있습니다. 원래 기본 경로로 충분합니다.

Workload-SN 서브넷의 경우 방화벽을 통과하도록 아웃바운드 기본 경로를 구성합니다.

  1. Azure Portal 메뉴에서 리소스 만들기를 선택합니다.
  2. 네트워킹 아래에서 경로 테이블을 선택합니다.
  3. 구독의 경우 사용자의 구독을 선택합니다.
  4. 리소스 그룹의 경우 Test-FW-RG를 선택합니다.
  5. 지역의 경우 전에 사용한 것과 동일한 위치를 선택합니다.
  6. 이름Firewall-route를 입력합니다.
  7. 검토 + 만들기를 선택합니다.
  8. 만들기를 선택합니다.

배포가 완료되면 리소스로 이동을 선택합니다.

  1. 방화벽 경로 페이지에서 서브넷을 선택한 다음, 연결을 선택합니다.

  2. 가상 네트워크>Test-FW-VN을 선택합니다.

  3. 서브넷에 대해 Workload-SN을 선택합니다. 이 경로에 대해 Workload-SN 서브넷만 선택해야 합니다. 그렇지 않으면 방화벽이 제대로 작동하지 않습니다.

  4. 확인을 선택합니다.

  5. 경로를 선택한 다음, 추가를 선택합니다.

  6. 경로 이름fw-dg를 입력합니다.

  7. 주소 접두사 대상으로 IP 주소를 선택합니다.

  8. 대상 IP 주소/CIDR 범위0.0.0.0/0을 입력합니다.

  9. 다음 홉 형식의 경우 가상 어플라이언스를 선택합니다.

    Azure Firewall은 실제로 관리되는 서비스이지만 가상 어플라이언스는 이 상황에서 작동합니다.

  10. 다음 홉 주소에 이전에 적어둔 방화벽에 대한 개인 IP 주소를 입력합니다.

  11. 추가를 선택합니다.

애플리케이션 규칙 구성

이는 www.google.com에 대한 아웃바운드 액세스를 허용하는 애플리케이션 규칙입니다.

  1. Test-FW-RG를 열고 Test-FW01 방화벽을 선택합니다.
  2. Test-FW01 페이지의 설정에서 규칙(클래식) 을 선택합니다.
  3. 애플리케이션 규칙 컬렉션 탭을 선택합니다.
  4. 애플리케이션 규칙 컬렉션 추가를 선택합니다.
  5. 이름App-Coll01를 입력합니다.
  6. 우선 순위200을 입력합니다.
  7. 동작에 대해 허용을 선택합니다.
  8. 규칙, 대상 FQDN 아래에서 이름으로 Allow-Google을 입력합니다.
  9. 원본 유형에 대해 IP 주소를 선택합니다.
  10. 원본에 대해 10.0.2.0/24를 선택합니다.
  11. Protocol:porthttp, https를 입력합니다.
  12. 대상 FQDNwww.google.com 을 입력합니다.
  13. 추가를 선택합니다.

Azure Firewall은 기본적으로 허용되는 인프라 FQDN에 대한 기본 제공 규칙 컬렉션을 포함합니다. 이러한 FQDN은 플랫폼에 대해 특정적이며 다른 용도로 사용할 수 없습니다. 자세한 내용은 인프라 FQDN을 참조하세요.

네트워크 규칙 구성

포트 53(DNS)에서 두 IP 주소에 대한 아웃바운드 액세스를 허용하는 네트워크 규칙입니다.

  1. 네트워크 규칙 컬렉션 탭을 선택합니다.

  2. 네트워크 규칙 컬렉션 추가를 선택합니다.

  3. 이름Net-Coll01을 입력합니다.

  4. 우선 순위200을 입력합니다.

  5. 동작에 대해 허용을 선택합니다.

  6. 규칙, IP 주소 아래에서 이름에 대해 Allow-DNS를 입력합니다.

  7. 프로토콜UDP를 선택합니다.

  8. 원본 유형에 대해 IP 주소를 선택합니다.

  9. 원본에 대해 10.0.2.0/24를 선택합니다.

  10. 대상 유형에 대해 IP 주소를 선택합니다.

  11. 대상 주소에 대해 209.244.0.3,209.244.0.4를 입력합니다.

    Level3에서 운영하는 공용 DNS 서버입니다.

  12. 대상 포트53을 입력합니다.

  13. 추가를 선택합니다.

DNAT 규칙 구성

이 규칙을 사용하면 방화벽을 통해 원격 데스크톱을 Srv-Work 가상 머신에 연결할 수 있습니다.

  1. NAT 규칙 컬렉션 탭을 선택합니다.
  2. NAT 규칙 컬렉션 추가를 선택합니다.
  3. 이름rdp를 입력합니다.
  4. 우선 순위200을 입력합니다.
  5. 규칙에서 이름rdp-nat을 입력합니다.
  6. 프로토콜의 경우 TCP를 선택합니다.
  7. 원본 유형에 대해 IP 주소를 선택합니다.
  8. 원본에 대해 * 를 선택합니다.
  9. 대상 주소에 방화벽 공용 IP 주소를 입력합니다.
  10. 대상 포트에 대해 3389를 입력합니다.
  11. 변환 주소에 Srv-work 개인 IP 주소를 입력합니다.
  12. 변환 포트3389를 입력합니다.
  13. 추가를 선택합니다.

Srv-Work 네트워크 인터페이스에 대해 기본 및 보조 DNS 주소 변경

테스트 목적으로 서버의 기본 및 보조 DNS 주소를 구성합니다. 일반적인 Azure Firewall 요구 사항이 아닙니다.

  1. Azure Portal 메뉴에서 리소스 그룹을 선택하거나 검색하여 어느 페이지에서든 리소스 그룹을 선택합니다. Test-FW-RG 리소스 그룹을 선택합니다.
  2. Srv-Work 가상 머신에 대해 네트워크 인터페이스를 선택합니다.
  3. 설정 아래에서 DNS 서버를 선택합니다.
  4. DNS 서버 아래에서 사용자 지정을 선택합니다.
  5. DNS 서버 추가 텍스트 상자에 209.244.0.3을 입력하고 다음 텍스트 상자에 209.244.0.4를 입력합니다.
  6. 저장을 선택합니다.
  7. Srv-Work 가상 머신을 다시 시작합니다.

방화벽 테스트

이제 방화벽이 예상대로 작동하는지 테스트합니다.

  1. 원격 데스크톱을 방화벽 공용 IP 주소에 연결하고 Srv-Work 가상 머신에 로그인합니다.

  2. Internet Explorer를 열고 [https://www.google.com]\(https://www.google.com)을 찾습니다.

  3. Internet Explorer 보안 경고에서 확인>닫기를 선택합니다.

    Google 홈 페이지가 나타납니다.

  4. [https://www.microsoft.com]\(https://www.microsoft.com ) 로 이동합니다.

    방화벽에서 차단해야 합니다.

이제 방화벽 규칙이 작동하는지 확인했습니다.

  • RDP를 사용하여 가상 머신에 연결할 수 있습니다.
  • 다른 모든 FQDN이 아닌 허용된 FQDN 하나만 찾아볼 수 있습니다.
  • 구성된 외부 DNS 서버를 사용하여 DNS 이름을 확인할 수 있습니다.

리소스 정리

테스트를 계속하도록 방화벽 리소스를 그대로 유지하거나, 더 이상 필요하지 않은 경우 Test-FW-RG 리소스 그룹을 삭제하여 모든 방화벽 관련 리소스를 삭제해도 됩니다.

다음 단계

자습서: Azure Firewall 로그 모니터링