[Vnet] Azure 방화벽 구성 101 (Azure Firewall Hand On and Free Tips)

VNet
작성자
Roronoa
작성일
2021-01-06 23:06
조회
3394
Azure Firewall hand-On 101 입니다
일반적으로 Azure Firewall은 Deploy 하는 것은 3rd Party에 비해서 엄청나게 간단한 일입니다.

프로덕션 일 경우에는 Hub and Spoke Architecture가 권장되며 이 링크에 자세한 설명이 있습니다

.http://cloud.syncrofusion.com/?page_id=1018&uid=369&mod=document
azure000

이 아키텍처가 기본적인 아키텍처 이며 Hand-On에서는 이보다 조금 단순한 배포를 해보려 합니다

azure003

이 아키텍처 를 잠시 보면 4개의 tier로 되어 있으며 Web 부분 Business 부분 Database 부분이 있습니다.

기본적으로 한개의 Virtual Network가 있으며 각각의 Tier 마다 다른 기능을 하고 있으며 각 Tier는 Subnet

으로 구성 되어 있습니다. 매우 단순하고 기본적인 구조이며 대규모가 아닌 일반적인 프로덕션에서도

사용이 가능하며 많이 사용하고 있는 부분입니다.

azure005

Tutorial 101

Tutorial 에서 해볼 부분은 상단의 그림처럼 단순하게 Firewall 부분과 Web 부분입니다.

이 Tutorial은 MS 공식문서에 있는 부분을 참조하였습니다. Azure Portal에서 구성합니다.

진행 순서 

Task 0.리소스 그룹만들기

Task 1. 가상네트워크 만들기

Task 2.가상머신 만들기

Task 3. 방화벽 배포

Task 4. 경로 만들기 

Task 5. 애플리케이션 규칙 만들기

Task 6. 네트워크 규칙 구성 만들기

Task 7.  DNAT 규칙 만들기

Task 8. Web 서버에 DNS 주소 변경

Task 9. 방화벽 테스트

------------------------------------------------------------------------------------------------------

Task 0 리소스 그룹만들기

1.Azure portal 로 접속

2. 리소스 그룹 생성 luffy-fw-rg 이름으로 한국 지역에 리소스 그룹 생성


Resource Group luffy-fw-rg
azure001

Task 1 가상네트워크 만들기

1.virtual network를 luffy-fw-rg 리소스 그룹에 생성 

이때 방화벽(Firewall)의  Subnet 이름 은 무조건 “ AzureFirewallSubnet ” 로 되어야 합니다.

다른 주소는 원하는대로 CIDR에 맞게 변경 가능 합니다.

나머지 값은 디폴트 설정에 따릅니다. (why :UI가 매번 변경되므로)


Virtual Network Name luffy-fw-vnet001
Virtual Network Address 18.0.0.0/16
Firewall Subnet AzureFirewallSubnet
Firewall Subnet Address 18.0.1.0/26
Web Subnet luffy-web-subnet
Web Subnet Address 18.0.2.0/24
azure002

Task 2 가상머신 만들기

Inbound Port는 Firewall에서 모두 관리 예정이므로 Port 는 만들지않습니다

Public IP 는 Firewall를 통해서 접근하므로 절대 만들지 않습니다.

Boot Diagnostics 는 Hand-On에서는 만들지 않으며 Production에는 무조건 만들어야 합니다.


Virtual Machine Name luffyweb001
Image 2019 Windows Datacenter
Size D2s_v3
Admin dmonkey001
pw 비밀번호
Inbound Port x
Public IP x
Disk Standard SSD
Boot Diagnostics Disable
Web Server Private IP Check Azure Portal!
azure003

Task 3 방화벽 배포

하기의 내용을 입력할때 존재하는 Firewall Subnet 이름이 AzureFirewallSubnet 가 아니면

오류가 생기며 이부분은 현재는 무조건 AzureFirewallSubnet 이름으로 만들어야 합니다. (파란색 화살표 부분)

현재 Azure Firewall은 Korea Central  지역에서는 Availability Zone은 불가능 합니다. (다른지역은 가능)

방화벽은 배포하는데 다른 리소스보다 오래 걸립니다.


Firewall Name luffy-fw001
Firewall IP luffy-fw-ip001
Firewall Public IP 20.194.21.49
Firewall Private IP Check Azure Portal!
azure004

Task 4 경로 만들기 (Route Tables)


Route Table Name luffy-fw-route001
1.경로 테이블 생성 

azure005

2.경로 테이블 (Route Tables)을 리소스 그룹에서 생성 후 선택합니다.

하기의 빠른 박스 부분은 이 경로 테이블이 어디 서브넷에 연결되는 지를 설정하는 부분입니다

하기에 빨간 박스 부분은 경로(Route)를 설정 해야 하며 현재 아무것도 없습니다.
azure006

3.경로 테이블을 Subnet에 연결합니다.


Destination Subnet luffy-web-subnet
azure007

4.경로(Route) 클릭 하고 +Add 버튼을 누르고 경로를 만듭니다.


Route Name fw-dg
Address Prefix 0.0.0.0/0
Next Hop Type Virtual appliance
Next Hop 18.0.1.4 Firewall Private IP Address
azure008

Task 5 애플리케이션 규칙 만들기

1.리소스 방화벽을 선택합니다

azure009

2.방화벽에서 규칙(rule) 부분을 선택하면 빨간색 박스가 DNAT, SNAT, Application 규칙입니다

3.여기서 녹색 부분은 선택하고 Target FQDNs 에 하기 정보를 입력합니다.

이부분이 완성이 되어야 선택한 web서버에서 아웃바운드로 나가는 Application 규칙이

허용되는 부분을 완성시키는 부분입니다. 이부분이 완성이 되어야 구글.com이 접속이 가능합니다.


Application Rule Name app-coll-001
Priority 200
Action allow
Target FQDN allow-google
Source Type ip
Source 18.0.2.0/24 Web Subnet Address
Protocol:port http, https
Target FQDN www.google.com
azure010

Task 6네트워크 규칙 구성 만들기

1.Task5와 동일한 방법으로 네트워크 규칙도 완성 시킵니다.


Network Rule Name net-coll-001
Priority 200
Action allow
IP Address Name allow-DNS
Protocol UDP
Source Type ip
Source 18.0.2.0/24 web subnet address
Destination Type IP
Destination address 209.244.0.3,209.244.0.4
Port 53
azure011

Task 7 DNAT 규칙 만들기

1.Task6과 동일한 방법으로 RDP를 세팅 해야 방화벽을 통하여 Virtual Machine의

RDP를 접속할수 있도록 세팅 합니다.


DNAT
NAT rule collection name rdp
Priority 200
Rules Name rdp-nat
Protocol TCP
Source Type IP
Source *
Destination address Check Azure Portal! firewall public ip
Destination Ports 3389
Translated address 18.0.2.4 web server private IP address
Translated port 3389
azure012

Task 8 Web 서버에 DNS 주소 변경

네트워크 규칙을 통하여 DNS 서버 주소를 받아 VM 의 DNS를 53번 포트로 받아서 아웃바운드가

생성되므로 VM에 네트워크 인터페이스에  209.244.0.3,209.244.0.4 주소를 Custom 도메인으로

설정을 합니다. 이 부분은 테스트 용도이며 실제 VM에 DNS는 주지 않습니다. 설정 후 VM을 재부팅

해야 네트워크 인터페이스가 설정이 됩니다.

azure013

Task 9 방화벽 테스트

1.원격 데스크탑을 통해서 방화벽(Firewall)의 맨앞단의 Public IP를 통해서 방화벽을

규칙에 따라 가상머신의 RDP 3389로 접속해서 웹서버에 접속합니다.

2.인터넷 익스플로어를 오픈 후 www.google.com을 입력합니다.

3.인터넷 브라우저의 방화벽을 사용하지 않습니다 를 선택합니다. 이때 나오는 방화벽은

인터넷브라우저 자체 방화벽이지 Azure Firewall이 아닙니다.
azure014

4. 선택 후 인터넷 브라우저가 싸이트를 블락 하겠습니다 라는 체크 하단의 녹색 화살표를 해제하고

Google.com을 신뢰하는 싸이트로 추가 합니다.
azure015

5.마지막 이 화면이 나오면 이제 모든 것이 성공 한 것이며 이화면이 나오지 않는다면

대부분 위에 설정을 잘못 설정한것이므로 다시 설정을 하거나 전체 삭제하고 처음부터

그대로 진행 하면 성공할 것 입니다.
azure016

마이크로소프트 Azure 방화벽 공식 문서

https://docs.microsoft.com/en-us/azure/firewall/overview?WT.mc_id=AZ-MVP-5002667