Azure VM에 대한 개발자 및 관리자 액세스

Azure VM(가상 머신)에 대한 원격 액세스를 보호하면 관리 포트를 인터넷에 노출하지 않고도 워크로드를 관리할 수 있습니다. 이 문서에서는 Azure Bastion, 지점 및 사이트 간 VPN 및 Just-In-Time VM 액세스를 비교하여 올바른 방법을 선택하는 데 도움이 됩니다.

이 문서에서 다루는 내용

이 문서에서는 관리 포트를 인터넷에 노출하지 않고 관리용 Azure 가상 머신에 안전하게 액세스하는 방법을 설명합니다.

이 문서가 필요한 사람

다음과 같은 경우 이 문서를 읽어보세요.

  • SSH 또는 RDP를 사용하여 개발 또는 관리를 위해 Azure VM에 연결해야 합니다.
  • 관리 액세스를 유지하면서 VM에서 공용 IP 주소를 제거하려고 합니다.
  • 허브 및 스포크 네트워크를 관리하고 팀에 대한 중앙 집중식 원격 액세스가 필요합니다.
  • 직접 인터넷 연결 관리 포트를 금지하는 보안 정책을 준수해야 합니다.

리프트 앤 시프트 포커스: 관리자가 공용 IP 없이 SSH 또는 RDP를 통해 마이그레이션된 VM에 도달할 수 있도록 허브에 Azure Bastion 배포하여 온-프레미스 점프 박스 워크플로를 대체합니다.

현대화 중점 사항: 플랫폼 및 앱 팀이 범위가 지정된 액세스를 얻을 수 있도록 Bastion을 구독 및 RBAC 분리와 결합하고 active-active 자산에 대해 지역당 Bastion을 배포합니다.

클라우드 간 포커스: 보안 허브(Bastion 또는 지점 및 사이트 간의 VPN)를 통해 관리자 액세스를 제공하고 다른 클라우드에서 마이그레이션된 워크로드에 관리 포트를 노출하지 않도록 합니다.

Azure 서비스 및 기능

다음 표에서는 가상 머신에 대한 보안 원격 액세스를 제공하는 Azure 서비스를 나열합니다.

서비스 제공하는 내용 사용 시기
Azure Bastion(기본) Azure 포털을 통한 브라우저 기반 SSH 및 RDP. VM에 공용 IP가 필요하지 않습니다. 40개의 동시 RDP 또는 80개의 동시 SSH 세션이 있는 두 개의 전용 호스트 인스턴스 관리자가 공용 포트를 노출하지 않고 액세스해야 하는 모든 VM
Azure Bastion(표준) 기본 및 네이티브 클라이언트 지원, 파일 전송, 공유 가능한 링크, IP 기반 연결, 사용자 지정 인바운드 포트 및 확장 가능한 호스트 인스턴스의 모든 항목(2-50). 파일 업로드 또는 Azure CLI 통한 연결과 같은 보다 풍부한 관리 워크플로가 필요한 팀입니다.
Azure Bastion(프리미엄) Standard의 모든 항목과 프라이빗 전용 배포(Bastion 리소스 자체에 공용 IP 없음) 및 세션 기록. Bastion 호스트에도 공용 IP 주소가 없어야 하는 높은 보안 환경입니다.
P2S(지점 및 사이트 간) VPN 가상 네트워크에 대한 개별 클라이언트 VPN 연결입니다. VM뿐만 아니라 모든 VNet 리소스에 대한 전체 네트워크 수준 액세스를 제공합니다. 데이터베이스, 스토리지 또는 내부 웹앱과 같은 RDP 및 SSH 이외의 많은 리소스에 액세스해야 하는 관리자입니다.
JIT(Just-In-Time) VM 액세스 제한된 기간 동안 명시적으로 요청된 경우에만 관리 포트를 엽니다. 임시 NSG 또는 Azure Firewall 허용 규칙을 만듭니다. 공용 IP 주소를 유지하는 VM의 공격 노출 영역을 줄입니다.

선택 방법

올바른 서비스는 브라우저 기반 액세스, 전체 네트워크 연결 또는 임시 포트 열기가 필요한지 여부에 따라 달라집니다.

VM에 안전하게 액세스하는 방법

이 표를 사용하여 요구 사항에 따라 올바른 방법을 선택합니다.

요구 사항 권장 서비스 이유
설치할 클라이언트 소프트웨어가 없는 브라우저 기반 RDP 또는 SSH Azure Bastion(기본 또는 표준) Bastion은 브라우저에서 직접 포털 기반 액세스를 제공합니다. VM에는 VPN 클라이언트 또는 공용 IP가 필요하지 않습니다.
Bastion 리소스를 포함하여 공용 IP 주소가 0인 프라이빗 전용 액세스 Azure Bastion(프리미엄) Premium은 Bastion 자체에서 공용 IP를 제거하는 프라이빗 전용 배포를 지원합니다.
RDP 및 SSH뿐만 아니라 관리 팀에 대한 전체 가상 네트워크 액세스 지점 및 사이트 간의 VPN P2S VPN은 모든 네트워크 리소스에 연결할 수 있도록 클라이언트에 VNet의 IP 주소를 제공합니다.
공용 IP가 여전히 있는 VM에 대한 공격 노출 영역 줄이기 Just-In-Time VM 액세스 JIT는 관리 포트를 기본적으로 닫고 제한된 기간 동안 승인된 사용자에 대해서만 엽니다.

관리자 액세스 패턴

허브 VNet의 Azure Bastion을 통해 스포크 VNet의 VM에 액세스하는 관리자 액세스 패턴과 VPN Gateway를 통해 연결되는 지점-사이트 간 VPN 클라이언트를 보여 주는 다이어그램.

Bastion SKU 비교

특징 기초 스탠다드 Premium
브라우저 기반 SSH 및 RDP
VNet 피어링 지원(허브-스포크)
네이티브 클라이언트(Azure CLI)
파일 업로드 및 다운로드
공유 가능한 링크
IP 기반 연결
사용자 지정 인바운드 포트
확장 가능한 호스트 인스턴스(2-50)
프라이빗 전용 배포(공용 IP 없음)
세션 녹화

팁 (조언)

표준과 프리미엄 간의 비용 차이는 미미합니다. 프로덕션 워크로드에 Bastion Premium을 사용합니다.

지점 및 사이트 간 VPN 프로토콜

P2S VPN은 세 가지 터널 프로토콜을 지원합니다.

  • Openvpn: TLS 기반은 Windows, macOS, Linux, iOS 및 Android에서 작동합니다. Microsoft Entra ID 인증 및 MFA(다단계 인증)를 지원합니다.
  • IKEv2: 표준 기반 IPsec은 Windows 및 macOS에서 작동합니다.
  • SSTP (Secure Socket Tunneling Protocol): 독점형 TLS 기반, Windows 전용.

Important

SSTP는 단계적으로 사용 중지됩니다. 2026년 3월 31일부터 VPN 게이트웨이에서 SSTP를 더 이상 사용하도록 설정할 수 없습니다. 기존 SSTP 지원 게이트웨이는 2027년 3월 31일에 연결 수락을 중지합니다. 모든 새 배포에 OpenVPN 또는 IKEv2를 사용합니다. Microsoft Entra ID 인증 및 MFA는 OpenVPN 터널 유형에서만 지원됩니다.

디자인 고려 사항

리프트 앤 시프트 관리자 액세스 디자인 포커스

  • 모든 피어된 스포크에서 공용 IP 주소 없이 SSH 또는 RDP를 통해 VM에 연결할 수 있도록 허브 VNet에 Azure Bastion 배포하여 온-프레미스 점프 박스 워크플로를 대체합니다.
  • Bastion이 배치되면 마이그레이션된 VM에서 공용 IP를 제거하여 공격 표면을 축소합니다.
  • 관리자가 개별 VM 이외의 많은 리소스에 도달해야 하는 경우 지점 및 사이트 간의 VPN을 사용합니다.
  • 마이그레이션된 워크로드에서 관리자 액세스 패턴을 일관되게 유지하여 작업을 간소화합니다.

관리자 액세스 디자인 포커스 현대화

  • 플랫폼 팀이 허브와 연결을 관리하고 앱 팀이 각자의 스포크에 대해 범위가 제한된 액세스 권한을 얻을 수 있도록 Bastion을 구독과 RBAC를 분리하여 함께 구성하세요.
  • 관리자가 기본 및 백업 지역의 리소스에 도달할 수 있도록 활성-활성 디자인을 위해 각 지역에 Bastion을 배포합니다.
  • 프라이빗 전용 배포 또는 네이티브 클라이언트 지원과 같이 요구 사항과 일치하는 Bastion SKU를 사용합니다.
  • 사용하는 지점 및 사이트 간 VPN에 대한 Microsoft Entra ID 인증 및 MFA를 통합합니다(OpenVPN 터널 유형).

클라우드 간 관리자 액세스 디자인 포커스

  • 운영자가 워크로드별 퍼블릭 엔드포인트 없이 다른 클라우드에서 마이그레이션된 Azure 워크로드에 도달할 수 있도록 보안 Virtual WAN 허브에서 관리자 액세스를 중앙 집중화합니다.
  • 가상 머신에 공용 관리 IP를 연결하지 마세요. 허브의 Bastion을 통해 SSH 또는 RDP를 라우팅합니다.
  • 팀이 클라우드에서 리소스를 관리하는 경우 지점 및 사이트 간 VPN 또는 Bastion을 표준화하여 액세스 방법이 일관성을 유지합니다.
  • 검사된 허브 방화벽을 통해 관리자 트래픽을 라우팅하여 워크로드 트래픽과 동일한 클라우드 간 보안 정책을 따릅니다.

사전 요구 사항

보안 원격 액세스를 설정하기 전에 다음이 있는지 확인합니다.

  • VM이 배포된 가상 네트워크( 가상 네트워크 및 서브넷 참조)
  • Azure Bastion 경우: 최소 크기가 /26(64개 주소)인 서브 AzureBastionSubnet 넷입니다. 이 서브넷은 다른 리소스를 호스트할 수 없습니다.
  • P2S VPN의 경우: 게이트웨이 서브넷 및 VPN 게이트웨이 리소스(게이트웨이 계획에 대한 VPN 및 ExpressRoute 연결 참조)
  • JIT VM 액세스의 경우: 구독에 대해 Microsoft Defender for Servers 플랜 2가 사용 설정되어 있어야 함

보안 고려 사항

Caution

0.0.0.0/0(인터넷상의 모든 원본)에서 들어오는 RDP(TCP 3389) 또는 SSH(TCP 22) 인바운드를 허용하는 NSG 규칙을 만들지 마세요. 이 구성은 무차별 암호 대입 공격에 VM을 노출하며 보안 인시던트의 일반적인 원인입니다.

원격 VM 액세스에 대한 다음 보안 사례를 따릅니다.

  • 공용 IP 대신 Bastion 또는 P2S VPN을 사용합니다. 두 접근 방식 모두 관리 트래픽이 공용 인터넷을 거치지 않도록 합니다. 더 이상 필요하지 않은 경우 VM에서 공용 IP 주소를 제거합니다.
  • 허브 VNet에 Bastion을 배포합니다. 허브 가상 네트워크의 단일 Bastion 인스턴스는 피어된 모든 스포크 VNet의 VM에 연결할 수 있습니다. 각 스포크마다 Bastion을 배포할 필요는 없습니다. 허브-스포크 토폴로지의 경우 표준 또는 프리미엄 SKU를 사용합니다.
  • P2S VPN에 MFA를 사용하도록 설정합니다. 다단계 인증을 요구하도록 Microsoft Entra 조건부 액세스를 사용하여 Microsoft Entra ID 인증을 구성합니다. MFA에는 OpenVPN 터널 유형 및 Azure VPN 클라이언트 애플리케이션이 필요합니다.
  • 짧은 JIT 시간 범위를 설정합니다. Just-In-Time 액세스를 사용하는 경우 기간을 필요한 최소 시간으로 제한합니다. 창이 만료되면 NSG 규칙은 이전 거부 상태로 되돌아갑니다. 기존 연결은 중단되지 않지만 시스템은 새 연결을 차단합니다.
  • AzureBastionSubnet에 NSG 규칙을 적용합니다. Bastion 서브넷에서 필요한 인바운드 및 아웃바운드 규칙에 대한 Bastion 보안 지침 에 따릅니다.

메모

JIT VM 액세스는 기본적으로 임시 NSG 허용 규칙을 만듭니다. JIT는 Azure Firewall 사용할 수도 있지만 방화벽에서 클래식 규칙을 사용하는 경우에만 사용할 수 있습니다. Azure Firewall Manager 통해 관리되는 방화벽(방화벽 정책)은 JIT 통합을 지원하지 않습니다.

자세히 알아보기

다음 단계

팁 (조언)

직접 탐색하시겠습니까? 개요 탐색기로 돌아가서 기능별로 다음 문서를 찾습니다.

리프트 앤 시프트 과정의 다음 단계:

레거시 이름 확인을 위한 DNS 계획: Azure 프라이빗 DNS 영역 및 별칭 레코드를 사용하여 마이그레이션하는 동안 레거시 DNS 명명 동작을 유지합니다.

현대화 과정의 다음 단계:

PaaS 서비스에 대한 프라이빗 연결 설정: PaaS 서비스 연결에 대한 각 스포크에서 Private Link 서브넷을 만듭니다.

멀티클라우드 여정의 다음 단계:

DNS 전환 및 이름 해석 계획: 마이그레이션 전환 전에 DNS 레코드를 매핑하고 TTL을 낮추며 클라우드 간 이름 해석을 구성합니다.