Today Keys : Firewall, 방화벽, security, 보안, azure, cloud, 클라우드, public, 퍼블릭, 정책, policy, fw, nat, f/w
이번 포스팅은 Azure의 Managed 보안서비스인 Azure Firewall에 대한 포스팅입니다. Azure Firewall에 대한 정리 포스팅을 먼저 하려고 했으나, 아직 추가 정리 중이라 Azure Firewall을 만들고 테스트 해보는 예제 포스팅을 먼저 올려봅니다.
추후에 Azure Firewall에 대한 일반적인 정리와 다른 예제에 대한 포스팅도 진행 할 예정입니다.
다음은 이번 포스팅에서 다루게 될 구성입니다.
하나의 VNet에 Azure Firewall와 1대의 가상 머신에서 웹서비스를 올리고, 방화벽을 통해서 웹서버로 접근을 하는 방법에 대해서 알아보겠습니다.
Azure Firewall을 만들 때는 VNet(가상 네트워크)을 만들 때, 방화벽 항목을 체크해서 방화벽을 만들거나
별도의 Azure Firewall 메뉴에서 새로 방화벽을 만들 수 있습니다.
본 포스팅에서는 Azure Firewall 메뉴에서 생성하는 것으로 진행합니다.
다른 컴포넌트 만드는 방식과 우선 거의 동일합니다.
리소스그룹/이름/지역을 정하게 되는 데,
한국 리전에서는 가용성 영역이 없기 때문에 가용성 영역은 비활성화 상태입니다.
가상 네트워크는 새로 만들어도 되고, 기존에 구성된 가상 네트워크에 만들 수 있습니다.
그리고 Azure Firewall 사용 할 공용 IP 주소를 설정합니다.
다음 포스팅에서도 정리된 내용이지만, Azure Firewall은 서비스를 위한 공용 IP를 최대 100까지 지원합니다.
방화벽이 생성되고 나면, 다음과 같이 기본 정보를 보실 수 있습니다.
앞서 얘기했지만, 방화벽에서는 공용 IP를 추가 할 수 있습니다.
그런데, 한 가지 현재 버그(?) 사항이 있습니다.
Portal의 언어를 한국어로 할 경우에는 공용 IP의 SKU를 제대로 인식하지 못하는 건지,
방화벽에 연결 가능한 공용 IP 임에도 불가하고 연결 할 수 없는 것으로 표기 됩니다.
Portal의 언어를 English로 변경해서 다시 확인해 보면, 정상적으로 인식되는 것을 볼 수 있습니다.
실제 선택을 하더라도 이제 앞서 보았던 오류가 뜨지 않습니다.
실제 아래와 같이 정상적으로 추가된 것을 볼 수 있습니다
Azure Firewall 규칙에는 NAT / Network / Application Policy Collection 이 있습니다.
NAT 규칙 컬렉션입니다.
네트워크 규칙 컬렉션입니다.
기존 방화벽 정책이 들어간다고 보시면 될 것 같습니다.
IP 기반이 아닌 FQDN 기반에 대한 정책 설정이 가능합니다.
꼭 FQDN이 아니라 wildcard도 사용 가능합니다.
자, 이제 외부에서 방화벽을 통해서 웹서버로 접근을 위한 방화벽 설정을 합니다.
먼저 NAT 설정을 합니다.
VNet 내의 웹서버는 사설 IP이기 떄문에 외부에서 직접 접근을 할 수 없습니다.
방화벽에 서비스용 공인 IP를 통해서 접근을 하기 위해서 외부에서 서비스용 공인 IP에 대해서
VNet 내의 웹서버의 사설 IP로 NAT 설정을 합니다.
그리고 외부에서 http(80) 접속만 허용하기 위해서 Network rule collection을 설정합니다.
이제 방화벽에 설정된 공인 IP를 통해서 웹서버로 접근하면, 다음과 같이 정상적으로 접근이 되는 것을 볼 수 있습니다.
Azure 공식 페이지에서 Azure Firewall에 대해서 살펴볼 수 있습니다.