Azure 랜딩존에서의 FQDN 필터링을 활용한 아웃바운드 트래픽 관리

Azure 랜딩존을 통해 클라우드 인프라에서 안정적이고 확장 가능한 환경을 제공하고자 합니다. 특히 기업의 네트워크 보안을 강화하기 위해 GQDN 필터링을 통한 아웃바운드 트래픽 관리가 필수적입니다. Azure Firewall은 DNS 기반의 FQDN(정규화된 도메인 이름) 필터링 기능을 제공하여 특정 도메인으로 나가는 트래픽만 허용하도록 설정할 수 있습니다. 이를 통해 사내망에서 Azure 리소스와의 연결이 안전하게 이루어지도록 제어할 수 있습니다.

 

Azure 네트워크에서 FQDN 필터링의 개념

FQDN 필터링

FQDN은 호스트의 도메인 이름을 IP 주소로 변환하여 네트워크 상에서 리소스를 식별할 수 있도록 합니다. Azure Firewall의 FQDN 필터링은 이 기능을 활용하여 특정 도메인에 대한 아웃바운드 트래픽을 허용하거나 차단할 수 있습니다. Azure에서 제공하는 모든 서비스에 대한 도메인 이름을 관리하고, 이 도메인을 기준으로 네트워크 트래픽을 제어하는 방식입니다.

 

DNS 기반 필터링

네트워크 규칙의 FQDN 필터링은 DNS 서버(Azure DNS)를 사용하여 도메인 이름을 IP 주소로 변환한 후 이를 방화벽 규칙으로 적용합니다. 이로인해 애플리케이션 규칙 처리와 네트워크 규칙 처리 모두에서 FQDN 필터링이 적용됩니다.

 

DNS 프록시

DNS 프록시 기능을 활성화 하면 Azure Firewall에서 네트워크 규칙에 FQDN 필터링을 사용할 수 있습니다. DNS 프록시는 네트워크의 모든 DNS 쿼리가 방화벽을 통해 수행되도록 설정됩니다.

 

애플리케이션 규칙 vs 네트워크 규칙

  • 애플리케이션 규칙
    • HTTP, HTTPS 및 MSSQL 프로토콜에 대해 사용됩니다.
    • Azure Firewall의 투명 프록시 기능을 통해 SNI(Server Name Indication) 헤더를 기반으로 한 트래픽 필터링이 가능합니다.
    • 동일한 IP 주소로 확인되는 두 개의 FQDN을 구분할 수 있어 세분화된 제어가 가능합니다.
  • 네트워크 규칙
    • TCP, UDP 및 그 외의 프로토콜에 대해 사용되며, IP 주소로 변환된 도메인에 대한 트래픽을 필터링합니다.
    • 와일드카드 도메인 필터링을 지원하지 않으며, FQDN에 대한 세분화된 구분이 불가능합니다.

Azure 랜딩존에서 FQDN 필터링의 활용

아웃바운드 트래픽 관리

 

  • Azure 랜딩존을 구축하는 과정에서, FQDN 필터링을 활용해 아웃바운드 트래픽을 효과적으로 관리할 수 있습니다. 예를 들어, Azure API, 컨테이너 레지스트리, Azure DevOps와 같은 서비스와의 통신이 필요한 경우 해당 서비스의 FQDN만 허용하여 불필요한 외부 트래픽을 차단하고 보안을 강화할 수 있습니다.

네트워크 규칙 구성 방법

  • Azure 랜딩존에서 FQDN 필터링을 활용하려면 다음 단계를 따라 네트워크 규칙을 설정합니다.
    • DNS 서버 선택: Azure DNS 또는 사용자 지정 DNS 서버를 정의합니다. 이를 통해 방화벽이 도메인 이름을 IP 주소로 변환합니다.
    • DNS 프록시 활성화: 네트워크 규칙에서 FQDN 필터링을 사용하려면 DNS 프록시 기능을 활성화해야 합니다.
    • 규칙 설정: 필요한 FQDN(예: *.azure.com 또는 특정 Azure 서비스 도메인)에 대해 아웃바운드 트래픽을 허용하는 네트워크 규칙을 생성합니다. 와일드카드 도메인은 네트워크 규칙에서 기본적으로 지원되지 않으므로, 도메인을 개별적으로 설정해야 합니다.

Azure 서비스에 필요한 FQDN 및 IP 허용

  • Azure 상의 랜딩존에서 중요한 서비스에 필요한 FQDN 및 IP 목록을 미리 설정하여, 필요한 트래픽만 허용합니다. 이를 위해 다양한 Azure 서비스의 도메인을 정의하고, 해당 서비스에 필요한 포트를 허용해야 합니다.
  • 예를 들어, AKS 클러스터에서 *.hcp.<location>.azmk8s.io 및 mcr.microsoft.com을 허용하면, 노드와 API 서버 간의 원활한 통신을 보장할 수 있습니다. 

 

AKS 송신 트래픽 제어 (AKS → Azure FQDN)

AKS 클러스터에서 Azure로 나가는 트래픽을 FQDN 기반으로 제어하려면, 다음과 같은 규칙을 설정해야 합니다.

대상 FQDN/ Endpoint 업무 및 서비스 Service Port 구분
*.hcp.<location>.azmk8s.io 노드 <-> API 서버 통신에 필요 (connectivity-agent가 활성화된 클러스터에 필요) 443 필수
mcr.microsoft.com 컨테이너 레지스트리에서 이미지 액세스에 필요 443 필수
*.data.mcr.microsoft.com, mcr-0001.mcr-msedge.net MCR 스토리지를 위한 Azure CDN 통신에 필요 443 필수
management.azure.com Azure API로 Kubernetes 작업에 필요 443 필수
login.microsoftonline.com Microsoft Entra 인증에 필요 443 필수
packages.microsoft.com Microsoft 패키지 리포지토리 사용 시 필요 443 필수
acs-mirror.azureedge.net Kubenet 및 Azure CNI 파일 다운로드에 필요 443 필수
AzureCloud.<Region>:9000 노드와 컨트롤 평면 간의 터널링된 보안 통신 시 필요 9000 필수
AzureCloud.<Region>:1194 노드와 컨트롤 평면 간의 보안 통신 시 필요 1194 필수

 

Azure DevOps 송신 트래픽 제어 (AKS → Azure FQDN)

Azure DevOps와 통신하는 AKS 클러스터에서는 다음과 같은 FQDN을 허용해야 합니다.

대상 FQDN/ Endpoint업무 및 서비스Service Port구분

대상 FQDN/ Endpoint 업무 및 서비스 Service Port 구분
*.blob.core.windows.net Azure Blob Storage 접근 허용 443 필수
*.visualstudio.com Visual Studio와 관련된 도메인 접근 허용 443 필수
*.dedup.microsoft.com 데이터 중복 제거 서비스 접근 허용 443 필수

 

로그인 및 라이선스 연결을 지원하는 도메인 URL

Azure DevOps 및 기타 Microsoft 서비스를 사용하는 환경에서는 다음과 같은 도메인도 허용해야 합니다.

대상 FQDN/ Endpoint 업무 및 서비스 Port 구분
dev.azure.com Azure DevOps 메인 도메인 443 필수
*.dev.azure.com Azure DevOps 하위 도메인 443 필수
login.microsoftonline.com Microsoft Entra 로그인 443 필수
graph.microsoft.com Microsoft Graph API 통신 443 필수
management.azure.com Azure 관리 포털 443 필수
*.vstmrblob.vsassets.io 릴리스 파이프라인 생성된 아티팩트 저장 도메인 443 필수
static2.sharepointonline.com SharePoint Online 정적 콘텐츠 접근 시 필요 443 필수

 

Azure 랜딩존에서 FQDN 필터링을 사용한 아웃바운드 트래픽 관리는 네트워크 보안을 강화하고 불필요한 외부 트래픽을 차단하는 데 필수적입니다. Azure Firewall을 통해 필수 도메인과 포트만 허용하는 규칙을 구성함으로써 기업의 클라우드 인프라가 안전하고 효율적으로 작동할 수 있도록 해야 합니다. 이러한 규칙을 지속적으로 업데이트하고 유지하는 것이 중요합니다.