Azure Firewall 작동 방법
Azure Firewall과 Azure Firewall Manager의 기본 기능에 대해 잘 알고 있을 것입니다. 이제 Azure 리소스에 대한 보안을 제공하기 위해 이러한 기술이 작동하는 방식을 살펴보겠습니다. 이 정보는 Azure Firewall이 Contoso의 네트워크 보안 전략에 적합한 도구인지 여부를 평가하는 데 유용합니다.
Azure Firewall이 Azure 가상 네트워크를 보호하는 방법
Azure Firewall에서 가상 네트워크를 보호하는 방법을 이해하기 위해서는 Azure Firewall 배포에 다음과 같은 두 가지 주요 특성이 있다는 사실을 알아두세요.
- 방화벽 인스턴스에는 모든 인바운드 트래픽이 전송되는 공용 IP 주소가 있습니다.
- 방화벽 인스턴스에는 모든 아웃바운드 트래픽이 전송되는 개인 IP 주소가 있습니다.
즉, 인바운드 및 아웃바운드의 모든 트래픽은 방화벽을 통과합니다. 기본적으로 방화벽은 모든 항목에 대한 액세스를 거부합니다. 여러분은 트래픽이 방화벽을 통과하도록 허용하는 조건으로 방화벽을 구성해야 합니다. 각 조건을 ‘규칙’이라고 하며 각 규칙은 데이터에 하나 이상의 검사를 적용합니다. 모든 방화벽 규칙을 통과하는 트래픽만 통과할 수 있습니다.
Azure Firewall에서 네트워크 트래픽을 관리하는 방법은 트래픽이 발생하는 위치에 따라 달라집니다.
- 허용되는 인바운드 트래픽의 경우 Azure Firewall은 DNAT를 사용하여 방화벽의 공용 IP 주소를 가상 네트워크에 있는 적절한 대상 리소스의 개인 IP 주소로 변환합니다.
- 허용되는 아웃바운드 트래픽의 경우 Azure Firewall은 SNAT를 사용하여 원본 IP 주소를 방화벽의 공용 IP 주소로 변환합니다.
참고
Azure Firewall은 대상 IP 주소가 가상 네트워크 외부에 있는 경우에만 SNAT를 사용합니다. 대상 IP 주소가 가상 네트워크의 개인 주소 공간에 있는 경우 Azure Firewall은 트래픽에 SNAT를 사용하지 않습니다.
가상 네트워크에서 Azure Firewall을 배치하기 적합한 위치
Azure Firewall이 효율적으로 작동하려면 보호하려는 신뢰할 수 있는 네트워크와 잠재적 위협을 제공하는 신뢰할 수 없는 네트워크 사이에서 장벽으로 설정해야 합니다. 가장 일반적으로 Azure 가상 네트워크와 인터넷 간의 장벽으로 Azure Firewall을 배포합니다.
Azure Firewall은 다음과 같은 특성이 있는 ‘허브 및 스포크’ 네트워크 토폴로지를 사용하여 배포하는 것이 가장 좋습니다.
- 중앙 연결 지점 역할을 하는 가상 네트워크입니다. 이 네트워크는 ‘허브 가상 네트워크’입니다.
- 허브에 피어링되는 하나 이상의 가상 네트워크. 이러한 피어는 ‘스포크 가상 네트워크’이며 워크로드 서버를 프로비저닝하는 데 사용됩니다.
허브 가상 네트워크의 서브넷에 방화벽 인스턴스를 배포한 다음, 모든 인바운드 및 아웃바운드 트래픽이 방화벽을 통과하도록 구성합니다.
다음의 일반적인 단계를 사용하여 Azure Firewall의 인스턴스를 설정합니다.
- 방화벽 배포를 위한 서브넷을 포함하는 허브 가상 네트워크를 만듭니다.
- 스포크 가상 네트워크와 해당 서브넷 및 서버를 만듭니다.
- 허브 및 스포크 네트워크를 피어링합니다.
- 허브의 서브넷에 방화벽을 배포합니다.
- 아웃바운드 트래픽의 경우 모든 서브넷에서 방화벽의 개인 IP 주소로 트래픽을 보내는 기본 경로를 만듭니다.
- 인바운드 및 아웃바운드 트래픽을 필터링하는 규칙을 사용하여 방화벽을 구성합니다.
Azure Firewall 규칙 유형
다음 표에서는 Azure Firewall에 대해 만들 수 있는 세 가지 유형의 규칙에 대해 설명합니다.
규칙 유형 | 설명 |
---|---|
NAT | 방화벽의 공용 IP 주소 및 지정된 포트 번호에 따라 인바운드 인터넷 트래픽을 변환하고 필터링합니다. 예를 들어, 가상 머신에 대한 원격 데스크톱 연결을 사용하도록 설정하려면 NAT 규칙을 사용하여 방화벽의 공용 IP 주소와 포트 3389를 가상 머신의 개인 IP 주소로 변환합니다. |
애플리케이션 | FQDN을 기준으로 트래픽을 필터링합니다. 예를 들어, 애플리케이션 규칙을 사용하여 아웃바운드 트래픽이 FQDN server10.database.windows.net을 사용하여 Azure SQL Database 인스턴스에 액세스하도록 허용할 수 있습니다. |
네트워크 | 세 가지 네트워크 매개 변수인 IP 주소, 포트 및 프로토콜 중 하나 이상을 기준으로 트래픽을 필터링합니다. 예를 들어, 네트워크 규칙을 사용하여 아웃바운드 트래픽이 포트 53을 사용하여 지정된 IP 주소의 특정 DNS 서버에 액세스하도록 허용할 수 있습니다. |
Important
Azure Firewall은 우선 순위에 따라 규칙을 적용합니다. 위협 인텔리전스를 기준으로 하는 규칙은 우선 순위가 가장 높고 먼저 처리됩니다. 그 후에는 규칙이 유형, 즉 NAT 규칙, 네트워크 규칙, 애플리케이션 규칙별로 차례로 적용됩니다. 각 형식 내에서 규칙은 규칙을 만들 때 할당한 가장 낮은 값에서 가장 높은 값 순서의 우선 순위 값에 따라 처리됩니다.
Azure Firewall 배포 옵션
Azure Firewall은 규칙을 보다 쉽게 만들고 관리할 수 있도록 고안된 다양한 기능을 제공합니다. 다음 표에는 이러한 기능이 요약되어 있습니다.
기능 | 설명 |
---|---|
FQDN | 호스트의 도메인 이름 또는 하나 이상의 IP 주소입니다. 애플리케이션 규칙에 FQDN을 추가하면 해당 도메인에 액세스할 수 있습니다. 애플리케이션 규칙에서 FQDN을 사용하는 경우 *.google.com과 같은 와일드카드를 사용할 수 있습니다. |
FQDN 태그 | 잘 알려진 Microsoft FQDN의 그룹입니다. 애플리케이션 규칙에 FQDN 태그를 추가하면 태그의 FQDN에 대한 아웃바운드 액세스가 허용됩니다. Windows 업데이트, Azure Virtual Desktop, Windows 진단, Azure Backup 등에 대한 FQDN 태그가 있습니다. FQDN 태그는 Microsoft가 관리하며, 수정 또는 생성이 불가능합니다. |
서비스 태그 | 특정 Azure 서비스와 관련된 IP 주소 접두사 그룹입니다. 네트워크 규칙에 서비스 태그를 추가하면 태그가 나타내는 서비스에 액세스할 수 있습니다. Azure Backup, Azure Cosmos DB, Logic Apps 등의 수십 가지 Azure 서비스에 대한 서비스 태그가 있습니다. 서비스 태그는 Microsoft가 관리하며, 수정 또는 생성이 불가능합니다. |
IP 그룹 | IP 주소 그룹(예: 10.2.0.0/16 또는 10.1.0.0-10.1.0.31)입니다. IP 그룹을 NAT 또는 애플리케이션 규칙의 원본 주소로 또는 네트워크 규칙의 원본 또는 대상 주소로 사용할 수 있습니다. |
사용자 지정 DNS | 도메인 이름을 IP 주소로 확인하는 사용자 지정 DNS 서버입니다. Azure DNS가 아닌 사용자 지정 DNS 서버를 사용하는 경우 Azure Firewall을 DNS 프록시로도 구성해야 합니다. |
DNS 프록시 | DNS 프록시로 작동하도록 Azure Firewall을 구성할 수 있습니다. 즉, 모든 클라이언트 DNS 요청은 DNS 서버로 이동하기 전에 이 방화벽을 통과하게 됩니다. |