Azure 기반 네트워크 통신 암호화에 제로 트러스트 원칙 적용
이 문서에서는 다음과 같은 방법으로 Azure 환경에서 네트워크 통신을 암호화하는 제로 트러스트 원칙을 적용하기 위한 지침을 제공합니다.
제로 트러스트 원칙 | 정의 | Met by |
---|---|---|
명시적으로 확인 | 항상 사용 가능한 모든 데이터 포인트를 기반으로 인증하고 권한을 부여합니다. | 사용자-가상 머신 연결에 Azure VPN Gateway 연결 및 SSH(Secure Shell) 및 RDP(원격 데스크톱 프로토콜)에 대한 조건부 액세스 정책을 사용합니다. |
최소 권한 액세스 사용 | JIT/JEA(Just-In-Time and Just-Enough-Access), 위험 기반 적응 정책 및 데이터 보호를 사용하여 사용자 액세스를 제한합니다. | 직접 포트가 있는 Azure ExpressRoute에 대해 CAK(정적 연결 연결 키)를 사용하도록 MSEE(Microsoft Enterprise Edge) 디바이스를 구성하고 관리 ID를 사용하여 ExpressRoute 회로 리소스를 인증합니다. |
위반 가정 | 미치는 영향 및 세그먼트 액세스를 최소화합니다. 엔드투엔드 암호화를 확인하고, 분석을 사용하여 가시성을 확보하고, 위협 탐지를 추진하고, 방어를 향상시킵니다. | 전송 중인 데이터의 기밀성, 무결성 및 신뢰성을 제공하는 암호화 방법 및 프로토콜을 사용하여 네트워크 트래픽을 보호합니다. Azure Monitor를 사용하여 ExpressRoute 네트워크 성능 메트릭 및 경고를 제공합니다. Azure Bastion을 사용하여 Bastion 서비스에서 개별 세션을 관리하고 연결을 끊거나 강제로 연결을 끊습니다. |
이 문서는 Azure 네트워킹에 대한 제로 트러스트 원칙을 적용하는 방법을 보여 주는 일련의 문서의 일부입니다.
네트워크 트래픽에 대한 암호화 수준은 다음과 같습니다.
네트워크 계층 암호화
인터넷 또는 온-프레미스 네트워크에서 Azure VNet 및 가상 머신으로의 통신 보안 및 확인
Azure VNet 내 및 전체 통신 보안 및 확인
애플리케이션 계층 암호화
- Azure 웹 애플리케이션에 대한 보호
Azure 가상 머신에서 실행되는 워크로드에 대한 보호
참조 아키텍처
다음 다이어그램에서는 이 문서에 설명된 단계에 대한 온-프레미스 또는 인터넷 및 Azure 환경의 구성 요소 간에 암호화된 통신을 위한 이 제로 트러스트 지침에 대한 참조 아키텍처를 보여 줍니다.
다이어그램에서 숫자는 다음 섹션의 단계에 해당합니다.
이 문서의 내용
제로 트러스트 원칙은 인터넷의 사용자 및 관리자 또는 온-프레미스 네트워크에서 Azure 클라우드로 또는 Azure 클라우드 내에서 참조 아키텍처에 적용됩니다. 다음 표에서는 이 아키텍처 전체에서 네트워크 트래픽의 암호화를 보장하기 위한 권장 사항을 설명합니다.
Step | 작업 | 적용된 제로 트러스트 원칙 |
---|---|---|
1 | 네트워크 계층 암호화를 구현합니다. | 명시적으로 확인 최소 권한 액세스 사용 위반 가정 |
2 | 온-프레미스 네트워크에서 Azure VNet으로의 통신을 보호하고 확인합니다. | 명시적으로 확인 위반 가정 |
3 | Azure VNet 내에서 통신을 보호하고 확인합니다. | 위반 가정 |
4 | 애플리케이션 계층 암호화를 구현합니다. | 명시적으로 확인 위반 가정 |
5 | Azure Bastion을 사용하여 Azure 가상 머신을 보호합니다. | 위반 가정 |
1단계: 네트워크 계층 암호화 구현
네트워크 계층 암호화는 온-프레미스 및 Azure 환경에 제로 트러스트 원칙을 적용할 때 중요합니다. 네트워크 트래픽이 인터넷을 통해 전송되는 경우 항상 공격자가 트래픽을 차단할 가능성이 있다고 가정해야 하며, 데이터가 대상에 도달하기 전에 노출되거나 변경될 수 있습니다. 서비스 공급자는 데이터를 인터넷을 통해 라우팅되는 방법을 제어하기 때문에 온-프레미스 네트워크를 벗어나는 순간부터 데이터의 개인 정보 보호 및 무결성이 유지되도록 해야 합니다.
다음 다이어그램은 네트워크 계층 암호화를 구현하기 위한 참조 아키텍처를 보여줍니다.
다음 두 섹션에서는 IPsec(인터넷 프로토콜 보안) 및 MACsec(미디어 액세스 제어 보안)에 대해 설명합니다. Azure 네트워킹 서비스에서 이러한 프로토콜을 지원하는 방법 및 프로토콜을 사용하는지 확인하는 방법에 대해 설명합니다.
IPsec
IPsec은 IP(인터넷 프로토콜) 통신에 대한 보안을 제공하는 프로토콜 그룹입니다. 일련의 암호화 알고리즘을 사용하여 네트워크 패킷을 인증하고 암호화합니다. IPSec은 VPN(가상 사설망)을 설정하는 데 사용되는 보안 캡슐화 프로토콜입니다. IPsec VPN 터널은 기본 모드라고 하는 1단계와 빠른 모드라고 하는 2단계의 두 단계로 구성됩니다.
IPsec의 1단계는 피어가 암호화, 인증, 해시 및 Diffie-Hellman 알고리즘과 같은 IKE(인터넷 키 교환) 보안 연결에 대한 매개 변수를 협상하는 터널 설정입니다. 피어는 ID를 확인하기 위해 미리 공유된 키를 교환합니다. IPsec의 1단계는 주 모드 또는 공격적 모드의 두 가지 모드로 작동할 수 있습니다. Azure VPN Gateway는 IKE, IKEv1 및 IKEv2의 두 버전을 지원하며 주 모드에서만 작동합니다. 기본 모드는 Azure VPN Gateway와 온-프레미스 디바이스 간의 연결 ID 암호화를 보장합니다.
IPsec의 2단계에서 피어는 데이터 전송을 위한 보안 매개 변수를 협상합니다. 이 단계에서 두 피어는 암호화 및 인증 알고리즘, SA(보안 연결)의 수명 값 및 IPsec 터널을 통해 암호화되는 트래픽을 정의하는 TS(트래픽 선택기)에 동의합니다. 1단계에서 만든 터널은 이 협상을 위한 보안 채널 역할을 합니다. IPsec은 AH(인증 헤더) 프로토콜 또는 ESP(보안 페이로드) 프로토콜을 캡슐화하여 IP 패킷을 보호할 수 있습니다. AH는 무결성 및 인증을 제공하지만 ESP는 기밀성(암호화)도 제공합니다. IPsec 2단계는 전송 모드 또는 터널 모드에서 작동할 수 있습니다. 전송 모드에서는 IP 패킷의 페이로드만 암호화되고 터널 모드에서는 전체 IP 패킷이 암호화되고 새 IP 헤더가 추가됩니다. IPsec 2단계는 IKEv1 또는 IKEv2를 기반으로 설정할 수 있습니다. 현재 Azure VPN Gateway IPsec 구현은 터널 모드에서 ESP만 지원합니다.
IPsec을 지원하는 Azure 서비스 중 일부는 다음과 같습니다.
-
사이트 간 VPN 연결
VNet 간 연결
지점 및 사이트 간 연결
-
VPN 사이트
사용자 VPN 구성
이러한 서비스에 대해 IPsec을 사용하도록 설정하기 위해 수정해야 하는 설정은 없습니다. 기본적으로 사용하도록 설정되어 있습니다.
MACsec 및 Azure Key Vault
MACsec(IEEE 802.1AE)은 이더넷 링크를 통해 인증 및 암호화를 제공하여 데이터 링크 계층에서 위반 제로 트러스트 가정 원칙을 적용하는 네트워크 보안 표준입니다. MACsec은 동일한 로컬 영역 네트워크에서도 모든 네트워크 트래픽이 악의적인 행위자가 손상하거나 가로챌 수 있다고 가정합니다. MACsec은 두 네트워크 인터페이스 간에 공유되는 보안 키를 사용하여 각 프레임을 확인하고 보호합니다. 이 구성은 두 MACsec 지원 디바이스 간에만 수행할 수 있습니다.
MACsec은 네트워크 인터페이스가 인바운드 및 아웃바운드 보안 채널을 만드는 데 사용하는 특성 집합인 연결 연결로 구성됩니다. 만든 후에는 이러한 채널을 통해 트래픽이 두 개의 MACsec 보안 링크를 통해 교환됩니다. MACsec에는 두 가지 연결 연결 모드가 있습니다.
- CAK(정적 연결 키) 모드: MACsec 보안 링크는 CKN(연결 연결 키 이름) 및 할당된 CAK를 포함하는 미리 공유된 키를 사용하여 설정됩니다. 이러한 키는 링크의 양쪽 끝에 구성됩니다.
- 동적 CAK 모드: 보안 키는 RADIUS(원격 인증 전화 접속 사용자 서비스) 서버와 같은 중앙 집중식 인증 디바이스를 사용할 수 있는 802.1x 인증 프로세스를 사용하여 동적으로 생성됩니다.
MSEE(Microsoft Enterprise Edge) 디바이스는 직접 포트로 Azure ExpressRoute를 구성할 때 Azure Key Vault에 CAK 및 CKN을 저장하여 정적 CAK를 지원합니다. Azure Key Vault의 값에 액세스하려면 ExpressRoute 회로 리소스를 인증하도록 관리 ID를 구성합니다. 이 방법은 권한 있는 디바이스만 Azure Key Vault에서 키에 액세스할 수 있으므로 최소 권한 있는 액세스 제로 트러스트 원칙을 따릅니다. 자세한 내용은 ExpressRoute Direct 포트에서 MACsec 구성을 참조 하세요.
2단계: 온-프레미스 네트워크에서 Azure VNet으로 통신 보호 및 확인
클라우드 마이그레이션이 다양한 규모의 비즈니스에서 더 널리 보급됨에 따라 하이브리드 연결이 중요한 역할을 합니다. 보안 및 보호뿐만 아니라 온-프레미스 네트워크와 Azure 간의 네트워크 통신을 확인하고 모니터링하는 것이 중요합니다.
다음 다이어그램에서는 온-프레미스 네트워크에서 Azure VNet으로의 통신을 보호 및 확인하기 위한 참조 아키텍처를 보여 줍니다.
Azure는 온-프레미스 네트워크를 Azure VNet의 리소스에 연결하는 두 가지 옵션을 제공합니다.
Azure VPN Gateway를 사용하면 IPsec을 사용하여 사이트 간 VPN 터널을 만들어 중앙 또는 원격 사무실과 Azure VNet의 네트워크 간 네트워크 통신을 암호화하고 인증할 수 있습니다. 또한 개별 클라이언트가 지점 및 사이트 간 연결을 설정하여 VPN 디바이스 없이 Azure VNet의 리소스에 액세스할 수 있습니다. 제로 트러스트 준수를 위해 Azure VPN Gateway 연결에 대한 Microsoft Entra ID 인증 및 조건부 액세스 정책을 구성하여 연결 디바이스의 ID 및 규정 준수를 확인합니다. 자세한 내용은 조건부 액세스 정책과 함께 Microsoft Tunnel VPN Gateway 사용을 참조하세요.
Azure ExpressRoute 는 연결 공급자의 도움을 받아 온-프레미스 네트워크를 Azure로 확장할 수 있는 높은 대역폭 프라이빗 연결을 제공합니다. 네트워크 트래픽은 공용 인터넷을 통해 이동하지 않으므로 데이터는 기본적으로 암호화되지 않습니다. ExpressRoute를 통해 트래픽을 암호화하려면 IPsec 터널을 구성합니다. 그러나 ExpressRoute를 통해 IPsec 터널을 실행할 때 대역폭은 터널 대역폭으로 제한되며 ExpressRoute 회로 대역폭과 일치하도록 여러 터널을 실행해야 할 수 있습니다. 자세한 내용은 ExpressRoute 프라이빗 피어링을 통해 사이트간 VPN 연결 - Azure VPN Gateway를 참조하세요.
ExpressRoute Direct 포트를 사용하는 경우 BGP 피어를 설정할 때 인증을 사용하도록 설정하거나 계층 2 통신을 보호하도록 MACsec을 구성하여 네트워크 보안을 강화할 수 있습니다. MACsec은 이더넷 프레임에 대한 암호화를 제공하여 에지 라우터와 Microsoft의 에지 라우터 간에 데이터 기밀성, 무결성 및 신뢰성을 보장합니다.
Azure ExpressRoute는 네트워크 성능 메트릭 및 경고에 대한 Azure Monitor도 지원합니다.
암호화는 무단 가로채기로부터 데이터를 보호할 수 있지만 성능에 영향을 줄 수 있는 네트워크 트래픽 암호화 및 암호 해독을 위한 추가 처리 계층을 도입합니다. 인터넷을 통해 이동하는 네트워크 트래픽은 네트워크 대기 시간을 발생시키는 여러 네트워크 디바이스를 통해 이동해야 하므로 예측할 수 없습니다. 성능 문제를 방지하려면 워크로드에 맞게 사용자 지정할 수 있는 안정적인 네트워크 성능 및 대역폭 할당을 제공하므로 ExpressRoute를 사용하는 것이 좋습니다.
Azure VPN Gateway 또는 ExpressRoute 중에서 결정할 때 다음 질문을 고려합니다.
- 온-프레미스 네트워크와 Azure 간에 액세스하는 파일 및 애플리케이션의 종류는 무엇인가요? 대량의 데이터를 전송하려면 일관된 대역폭이 필요한가요?
- 애플리케이션이 최적으로 수행하려면 일관되고 짧은 대기 시간이 필요한가요?
- 하이브리드 연결의 네트워크 성능 및 상태를 모니터링해야 합니까?
이러한 질문에 '예'라고 대답한 경우 Azure ExpressRoute는 온-프레미스 네트워크를 Azure에 연결하는 기본 방법이어야 합니다.
ExpressRoute와 Azure VPN Gateway가 공존할 수 있는 두 가지 일반적인 시나리오가 있습니다.
- Azure VPN Gateway는 ExpressRoute를 사용하여 본사가 연결된 상태에서 지사를 Azure에 연결하는 데 사용할 수 있습니다.
- ExpressRoute 서비스에 중단이 있는 경우 중앙 사무실에 대한 Azure에 대한 백업 연결로 Azure VPN Gateway를 사용할 수도 있습니다.
3단계: Azure VNet 내 및 전체 통신 보안 및 확인
Azure 내의 트래픽에는 기본 수준의 암호화가 있습니다. 다른 지역의 VNet 간에 트래픽이 이동하면 Microsoft는 MACsec을 사용하여 데이터 링크 계층에서 피어링 트래픽을 암호화하고 인증합니다.
다음 다이어그램에서는 Azure VNet 내 및 전체에서 통신을 보호 및 확인하기 위한 참조 아키텍처를 보여 줍니다.
그러나 암호화만으로는 제로 트러스트 보장할 수 없습니다. 또한 Azure VNet 내 및 전체에서 네트워크 통신을 확인하고 모니터링해야 합니다. Azure VPN Gateway 또는 NVA(네트워크 가상 어플라이언스)의 도움으로 VNet 간의 추가 암호화 및 확인이 가능하지만 일반적인 방법은 아닙니다. 세분화된 정책을 적용하고 변칙을 검색할 수 있는 중앙 집중식 트래픽 검사 모델을 사용하도록 네트워크 토폴로지 설계를 권장합니다.
VPN 게이트웨이 또는 가상 어플라이언스를 구성하는 오버헤드를 줄이려면 특정 가상 머신 크기에 대한 VNet 암호화 기능을 사용하도록 설정하여 호스트 수준, VNet 내 및 VNet 피어링 간에 가상 머신 간의 트래픽을 암호화하고 확인합니다.
4단계: 애플리케이션 계층에서 암호화 구현
애플리케이션 계층 암호화는 사용자가 웹 애플리케이션 또는 디바이스와 상호 작용할 때 모든 데이터 및 통신이 암호화되도록 하는 제로 트러스트 핵심 요소를 담당합니다. 애플리케이션 계층 암호화를 사용하면 확인된 엔터티와 신뢰할 수 있는 엔터티만 웹 애플리케이션 또는 디바이스에 액세스할 수 있습니다.
다음 다이어그램은 애플리케이션 계층에서 암호화를 구현하기 위한 참조 아키텍처를 보여줍니다.
애플리케이션 계층에서 암호화의 가장 일반적인 예 중 하나는 웹 브라우저와 웹 서버 간에 데이터를 암호화하는 HTTPS(Hypertext Transfer Protocol Secure)입니다. HTTPS는 TLS(전송 계층 보안) 프로토콜을 사용하여 클라이언트-서버 통신을 암호화하고 TLS 디지털 인증서를 사용하여 웹 사이트 또는 도메인의 ID 및 신뢰성을 확인합니다.
애플리케이션 계층 보안의 또 다른 예로는 클라이언트와 서버 간에 데이터를 암호화하는 SSH(Secure Shell) 및 RDP(원격 데스크톱 프로토콜)가 있습니다. 또한 이러한 프로토콜은 권한 있는 디바이스 또는 사용자만 원격 리소스에 액세스할 수 있도록 다단계 인증 및 조건부 액세스 정책을 지원합니다. Azure 가상 머신에 대한 SSH 및 RDP 연결 보안에 대한 자세한 내용은 5단계를 참조하세요.
Azure 웹 애플리케이션에 대한 보호
Azure Front Door 또는 Azure 애플리케이션 Gateway를 사용하여 Azure 웹 애플리케이션을 보호할 수 있습니다.
Azure Front Door
Azure Front Door 는 Microsoft의 에지 위치를 통해 최종 사용자에게 콘텐츠 배달을 최적화하는 글로벌 배포 서비스입니다. WAF(웹 애플리케이션 방화벽) 및 Private Link 서비스와 같은 기능을 사용하면 Microsoft 내부 네트워크를 사용하여 원본에 비공개로 액세스하는 동안 Microsoft 네트워크 가장자리에서 웹 애플리케이션에 대한 악의적인 공격을 감지하고 차단할 수 있습니다.
데이터를 보호하기 위해 Azure Front Door 엔드포인트에 대한 트래픽은 엔드포인트에서 나가는 모든 트래픽에 대해 엔드투엔드 TLS가 있는 HTTPS를 사용하여 보호됩니다. 트래픽은 클라이언트에서 원본으로, 원본에서 클라이언트로 암호화됩니다.
Azure Front Door는 HTTPS 요청을 처리하고 프로필에 연결된 도메인 이름이 있는 엔드포인트를 결정합니다. 그런 다음 경로를 확인하고 요청 경로와 일치하는 라우팅 규칙을 결정합니다. 캐싱을 사용하는 경우 Azure Front Door는 캐시를 검사하여 유효한 응답이 있는지 확인합니다. 유효한 응답이 없는 경우 Azure Front Door는 요청된 콘텐츠를 제공할 수 있는 최상의 원본을 선택합니다. 요청이 원본으로 전송되기 전에 헤더, 쿼리 문자열 또는 원본 대상을 변경하는 요청에 규칙 집합을 적용할 수 있습니다.
Azure Front Door는 프런트 엔드 및 백 엔드 TLS를 모두 지원합니다. 프런트 엔드 TLS는 클라이언트와 Azure Front Door 간의 트래픽을 암호화합니다. 백 엔드 TLS는 Azure Front Door와 원본 간의 트래픽을 암호화합니다. Azure Front Door는 TLS 1.2 및 TLS 1.3을 지원합니다. 사용자 지정 TLS 인증서를 사용하거나 Azure Front Door에서 관리하는 인증서를 사용하도록 Azure Front Door를 구성할 수 있습니다.
참고 항목
추가 패킷 검사를 위해 NVA에 연결하는 데 Private Link 기능을 사용할 수도 있습니다.
Azure Application Gateway
Azure 애플리케이션 Gateway는 계층 7에서 작동하는 지역 부하 분산 장치입니다. HTTP URL 특성에 따라 웹 트래픽을 라우팅하고 분산합니다. 다음 세 가지 방법을 사용하여 트래픽을 라우팅하고 분산할 수 있습니다.
- HTTP 전용: Application Gateway는 들어오는 HTTP 요청을 수신하고 암호화되지 않은 형식으로 적절한 대상으로 라우팅합니다.
- SSL 종료: Application Gateway는 인스턴스 수준에서 들어오는 HTTPS 요청을 암호 해독하고, 검사하고, 암호화되지 않은 상태로 대상으로 라우팅합니다.
- 엔드투엔드 TLS: Application Gateway는 인스턴스 수준에서 들어오는 HTTPS 요청을 암호 해독하고, 검사하고, 대상에 라우팅하기 전에 다시 암호화합니다.
가장 안전한 옵션은 엔드투엔드 TLS로, 인증 인증서 또는 신뢰할 수 있는 루트 인증서를 사용하도록 요구하여 중요한 데이터를 암호화하고 전송할 수 있습니다. 또한 이러한 인증서를 백 엔드 서버에 업로드하고 이러한 백 엔드 서버를 Application Gateway에 알려야 합니다. 자세한 내용은 Application Gateway를 사용하여 엔드투엔드 TLS 구성을 참조 하세요.
또한 다른 VNet의 가상 머신에 있는 온-프레미스 사용자 또는 사용자는 동일한 TLS 기능으로 Application Gateway의 내부 프런트 엔드를 사용할 수 있습니다. 암호화와 함께 엔드포인트에 대해 더 많은 프런트 엔드 보호를 위해 항상 WAF를 사용하도록 설정하는 것이 좋습니다.
5단계: Azure Bastion을 사용하여 Azure 가상 머신 보호
Azure Bastion 은 TLS 연결을 통해 가상 머신에 안전하게 연결할 수 있는 관리되는 PaaS 서비스입니다. 이 연결은 Azure Portal 또는 네이티브 클라이언트를 통해 가상 머신의 개인 IP 주소로 설정할 수 있습니다. Bastion 사용의 이점은 다음과 같습니다.
- Azure 가상 머신에는 공용 IP 주소가 필요하지 않습니다. 연결은 HTTPS용 TCP 포트 443을 통해 있으며 대부분의 방화벽을 트래버스할 수 있습니다.
- 가상 머신은 포트 검색으로부터 보호됩니다.
- Azure Bastion 플랫폼은 제로 데이 익스플로잇으로부터 지속적으로 업데이트되고 보호됩니다.
Bastion을 사용하면 단일 진입점에서 가상 머신에 대한 RDP 및 SSH 연결을 제어할 수 있습니다. Azure Portal의 Bastion 서비스에서 개별 세션을 관리할 수 있습니다. 사용자가 해당 컴퓨터에 연결하지 않아야 하는 것으로 의심되는 경우 진행 중인 원격 세션의 연결을 강제로 삭제하거나 강제로 연결할 수 있습니다.
다음 다이어그램에서는 Azure Bastion을 사용하여 Azure 가상 머신을 보호하기 위한 참조 아키텍처를 보여 줍니다.
Azure 가상 머신을 보호하려면 Azure Bastion을 배포하고 RDP 및 SSH를 사용하여 개인 IP 주소로 가상 머신에 연결합니다.
권장되는 교육
- VPN Gateway를 사용하여 온-프레미스 네트워크를 Azure에 연결
- ExpressRoute를 사용하여 Microsoft 글로벌 네트워크에 온-프레미스 네트워크 연결
- Azure Front Door 소개
- Azure Application Gateway 구성
- Azure Bastion 소개
다음 단계
Azure 네트워킹에 제로 트러스트 적용하는 방법에 대한 자세한 내용은 다음을 참조하세요.
- Azure 기반 네트워크 통신 분할
- 네트워크 트래픽에 대한 가시성 확보
- 레거시 네트워크 보안 기술 중단
- 제로 트러스트를 통한 네트워크 보호
- Azure의 스포크 가상 네트워크
- Azure의 허브 가상 네트워크
- Azure PaaS 서비스를 사용하는 스포크 가상 네트워크
- Azure 가상 WAN
참조
이 문서에 언급된 다양한 서비스 및 기술에 대해 알아보려면 이러한 링크를 참조하세요.