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는 관리 포트를 기본적으로 닫고 제한된 기간 동안 승인된 사용자에 대해서만 엽니다. |
관리자 액세스 패턴
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 통합을 지원하지 않습니다.
관련된 문서
- 가상 네트워크 및 서브넷: AzureBastionSubnet 크기 조정 지침
- 네트워크 보안 그룹 및 애플리케이션 보안 그룹: 관리 포트에 대한 NSG 규칙
- VPN 및 ExpressRoute 연결: P2S VPN 범위 및 게이트웨이 계획
- 허브 및 스포크 토폴로지: 중앙 집중식 Bastion 배포 패턴
자세히 알아보기
- Azure Bastion 설명서
- 지점 및 사이트 간 VPN 연결 정보
- 클라우드용 Microsoft Defender의 VM에 대한 적시 액세스
- P2S VPN 사용자에 대해 Microsoft Entra ID MFA 사용
- Bastion SKU 비교
다음 단계
팁 (조언)
직접 탐색하시겠습니까? 개요 탐색기로 돌아가서 기능별로 다음 문서를 찾습니다.
리프트 앤 시프트 과정의 다음 단계:
레거시 이름 확인을 위한 DNS 계획: Azure 프라이빗 DNS 영역 및 별칭 레코드를 사용하여 마이그레이션하는 동안 레거시 DNS 명명 동작을 유지합니다.
현대화 과정의 다음 단계:
PaaS 서비스에 대한 프라이빗 연결 설정: PaaS 서비스 연결에 대한 각 스포크에서 Private Link 서브넷을 만듭니다.
멀티클라우드 여정의 다음 단계:
DNS 전환 및 이름 해석 계획: 마이그레이션 전환 전에 DNS 레코드를 매핑하고 TTL을 낮추며 클라우드 간 이름 해석을 구성합니다.