Azure 프로덕션 네트워크

Azure 프로덕션 네트워크 사용자에는 자체 Azure 애플리케이션에 접근하는 외부 고객과 프로덕션 네트워크를 관리하는 내부 Azure 지원 인력이 모두 포함됩니다. 이 글에서는 Azure 프로덕션 네트워크와의 연결을 구축하기 위한 보안 접근 방법과 보호 메커니즘에 대해 논의합니다.

인터넷 라우팅 및 내결함성

전 세계적으로 중복된 내부 및 외부 Azure 도메인 네임 서비스(DNS) 인프라와 여러 주 및 보조 DNS 서버 클러스터가 결합되어 내결함성을 제공합니다. Azure는 또한 인프라 수준의 DDoS 보호와 기타 네트워크 보안 통제를 적용하여 일반적인 네트워크 계층 DDoS 공격을 방어하고 Azure DNS 서비스의 무결성을 보호합니다.

Azure DNS 서버는 여러 데이터센터 시설에 위치해 있습니다. Azure DNS 구현은 Azure 고객 도메인 이름을 공개적으로 해석하기 위해 보조 및 기본 DNS 서버 계층 구조를 통합합니다. 도메인 이름은 보통 고객의 서비스용 가상 IP(VIP) 주소를 포함하는 cloudapp.net 주소로 확인됩니다. Azure만의 독특한 점은, 해당 VIP를 담당하는 Microsoft 로드 밸런서가 VIP를 테넌트의 내부 전용 IP(DIP) 주소로 변환합니다.

Microsoft는 미국 내 지리적으로 분산된 Azure 데이터센터에서 Azure를 호스팅합니다. Azure는 강력하고 확장 가능한 아키텍처 표준을 구현한 최첨단 라우팅 플랫폼을 사용합니다. 주요 특징으로는 다음과 같습니다:

  • 멀티프로토콜 라벨 스위칭(MPLS) 기반 트래픽 엔지니어링으로, 장애가 발생했을 때 효율적인 링크 활용과 서비스 저하를 원활하게 제공합니다.
  • Microsoft는 "필요 플러스 원"(N+1) 중복 아키텍처 이상을 가진 네트워크를 구현합니다.
  • 외부에서는 전용 고대역폭 네트워크 회선이 데이터 센터를 지원하며, 전 세계 1,200개 이상의 인터넷 서비스 제공업체와 여러 피어링 포인트에서 부동산을 중복적으로 연결합니다. 이 연결은 초당 2,000기가바이트(GBps) 이상의 엣지 용량을 제공합니다.

Microsoft가 데이터센터 간 자체 네트워크 회선을 보유하고 있기 때문에, 이러한 특성들은 전통적인 제3자 인터넷 서비스 제공업체 없이도 Azure가 99.9%+%의 네트워크 가용성을 달성하는 데 도움을 줍니다.

운영 네트워크 및 관련 방화벽과의 연결

Azure 네트워크 인터넷 트래픽 흐름 정책은 미국 내 가장 가까운 지역 데이터센터에 위치한 Azure 프로덕션 네트워크로 트래픽을 유도합니다. Azure 운영 데이터 센터는 일관된 네트워크 아키텍처와 하드웨어를 유지하기 때문에, 다음 트래픽 흐름 설명은 모든 데이터센터에 일관되게 적용됩니다.

Azure 인터넷 트래픽이 가장 가까운 데이터센터로 라우팅된 후, 트래픽은 액세스 라우터와 연결됩니다. 이 액세스 라우터들은 Azure 노드와 고객이 인스턴스화된 VM 간의 트래픽을 분리합니다. 액세스 및 엣지 위치에 있는 네트워크 인프라 장치는 인그레스 및 아웃 필터가 적용되는 경계 지점입니다. 이 라우터들은 원치 않는 네트워크 트래픽을 필터링하고 필요시 트래픽 속도 제한을 적용하기 위해 계층화된 접근 제어 목록(ACL)을 사용합니다. ACL 라우트는 트래픽이 로드 밸런서로 이동하도록 허용했습니다. 배포 라우터는 Microsoft 승인 IP 주소만 허용하고, 안티 스푸핑을 제공하며, ACL을 사용하는 TCP 연결을 구축합니다.

Microsoft는 인터넷 라우팅 가능한 IP에서 Azure 내부 IP로 네트워크 주소 변환(NAT)을 수행하기 위해 액세스 라우터 뒤에 외부 부하 분산 장치를 배치합니다. 이 장치들은 또한 패킷을 유효한 생산 환경 내부 IP와 포트로 라우팅합니다. 이 장치들은 내부 생산 네트워크 주소 공간의 노출을 제한하는 보호 메커니즘 역할을 합니다.

기본적으로 Microsoft는 고객의 웹 브라우저로 전송되는 모든 트래픽, 로그인 및 그 이후의 모든 트래픽에 대해 Hypertext Transfer Protocol Secure(HTTPS)를 적용합니다. TLS v1.2는 트래픽을 위한 보안 터널을 생성합니다. 액세스 및 코어 라우터의 ACL은 트래픽 소스가 예상되는 소스와 일치하도록 보장합니다.

이 아키텍처에서 전통적인 보안 아키텍처와 비교했을 때 중요한 차이점은 Azure에는 전용 하드웨어 방화벽, 특수 침입 탐지 또는 방지 장치, 또는 일반적으로 Azure 프로덕션 환경에 연결되기 전에 기대되는 기타 보안 장치가 없다는 점입니다. 고객들은 보통 Azure 네트워크에서 이러한 하드웨어 방화벽 장치를 기대합니다. 하지만 Azure는 이러한 장치를 사용하지 않습니다. 거의 전적으로 이러한 보안 기능은 Azure 환경을 실행하는 소프트웨어에 내장되어 강력하고 다층적인 보안 메커니즘, 방화벽 기능을 포함합니다. 또한, Azure를 실행하는 소프트웨어는 중요한 보안 장치의 경계와 광범위한 확장을 관리하고 재고를 관리하기 쉽게 만듭니다.

핵심 보안 및 방화벽 기능

Azure는 전통적인 환경에서 고객이 일반적으로 기대하는 보안 기능을 강제하기 위해 다양한 수준에서 강력한 소프트웨어 보안 및 방화벽 기능을 구현하여 핵심 보안 권한 경계를 보호합니다.

Azure 보안 기능

Azure는 운영 네트워크 내에 호스트 기반 소프트웨어 방화벽을 구현합니다. 여러 핵심 보안 및 방화벽 기능이 Azure 핵심 환경 내에 존재합니다. 이러한 보안 기능은 Azure 환경 내 심층 방어 전략을 반영합니다. 다음 방화벽들이 Azure에서 고객 데이터를 보호합니다:

하이퍼바이저 방화벽(패킷 필터): 하이퍼바이저는 이 방화벽을 구현하고, 패브릭 컨트롤러(FC) 에이전트가 이를 구성합니다. 이 방화벽은 VM 내부에서 실행되는 테넌트를 무단 접근으로부터 보호합니다. 기본적으로 VM이 생성되면 Azure가 모든 트래픽을 차단하고, FC 에이전트가 필터에 규칙과 예외를 추가해 권한 있는 트래픽을 허용합니다.

Azure는 두 가지 유형의 규칙을 프로그래밍합니다:

  • 기계 설정 또는 인프라 규칙: 기본적으로 Azure는 모든 통신을 차단합니다. 예외 사항은 VM이 동적 호스트 구성 프로토콜(DHCP) 통신과 DNS 정보를 송수신하고, FC 클러스터 및 OS 활성화 서버 내 다른 VM으로 "공용" 인터넷으로 트래픽을 보낼 수 있도록 허용합니다. VM의 허용된 발사 목적지 목록에는 Azure 라우터 서브넷이나 다른 Microsoft 속성이 포함되어 있지 않기 때문에, 규칙은 이들에 대한 방어 계층 역할을 합니다.
  • 역할 구성 파일 규칙: 이 규칙들은 테넌트의 서비스 모델을 기반으로 인바운드 ACL을 정의합니다. 예를 들어, 특정 VM의 포트 80에 웹 프론트엔드가 있다면, 포트 80은 모든 IP 주소에 열립니다. 만약 VM에 워커 역할이 실행 중이라면, 그 워커 역할은 동일한 테넌트 내의 VM에게만 열립니다.

네이티브 호스트 방화벽: Azure Service Fabric과 Azure Storage는 하이퍼바이저가 없는 네이티브 OS에서 실행되며, 따라서 앞서 나온 두 가지 규칙 세트가 Windows 방화벽을 구성합니다.

호스트 방화벽: 호스트 방화벽은 하이퍼바이저를 실행하는 호스트 파티션을 보호합니다. 규칙상 FC와 점프 박스만 특정 포트의 호스트 파티션과 통신할 수 있습니다. 다른 예외는 DHCP 응답과 DNS 응답을 허용하는 경우입니다. Azure는 호스트 파티션에 대한 방화벽 규칙 템플릿을 포함하는 머신 구성 파일을 사용합니다. 호스트 방화벽 예외도 존재하는데, 이는 VM이 특정 프로토콜과 포트를 통해 호스트 컴포넌트, 유선 서버, 메타데이터 서버와 통신할 수 있도록 허용합니다.

게스트 방화벽: 고객이 고객의 VM과 스토리지에서 구성할 수 있는 게스트 OS의 Windows 방화벽 구성 요소입니다.

Azure 기능에 내장된 추가 보안 기능은 다음과 같습니다:

  • Azure는 DIP에서 인프라 구성 요소에 IP 주소를 할당합니다. 인터넷의 공격자는 그 주소로 트래픽을 연결할 수 없는데, 왜냐하면 그 트래픽이 Microsoft에 도달하지 않기 때문입니다. 인터넷 게이트웨이 라우터는 내부 주소에만 주소가 지정된 패킷을 필터링하여 프로덕션 네트워크로 들어가지 않도록 합니다. VIP로 전달되는 트래픽을 받아들이는 부품은 로드 밸런서뿐입니다.

  • 모든 내부 노드에 구현된 방화벽은 주어진 시나리오에 대해 세 가지 주요 보안 아키텍처 고려사항을 가집니다:

    • 방화벽은 부하 분산기 뒤에 위치하며 어디서든 패킷을 받습니다. 이 패킷들은 외부에 노출되도록 설계되었으며, 전통적인 경계 방화벽의 열린 포트에 해당합니다.
    • 방화벽은 제한된 주소 집합에서만 패킷을 받습니다. 이러한 고려는 DDoS 공격에 대한 방어 심층 전략의 일부입니다. 이러한 연결은 암호화적으로 인증됩니다.
    • 방화벽에 접근할 수 있는 곳은 일부 내부 노드뿐입니다. 이들은 모두 Azure 네트워크 내의 DIP인 열거된 소스 IP 주소 목록에서만 패킷을 받습니다. 예를 들어, 기업 네트워크에 대한 공격은 이 주소들로 요청을 보낼 수 있지만, Azure는 패킷의 출처 주소가 Azure 네트워크 내 열거 목록에 있지 않으면 공격을 차단합니다.
      • 경계에 있는 액세스 라우터는 설정된 정적 경로 때문에 Azure 네트워크 내에 주소가 지정된 발송 패킷을 차단합니다.

다음 단계

Microsoft가 Azure 인프라를 보호하기 위해 무엇을 하는지 더 알고 싶다면 다음을 참조하세요: