你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
通过安全远程访问Azure虚拟机(VM),无需向 Internet 公开管理端口即可管理工作负荷。 本文比较了Azure Bastion、点到站点 VPN 和实时 VM 访问,以帮助选择正确的方法。
本文介绍的内容
本文介绍如何在不向 Internet 公开管理端口的情况下安全地访问Azure虚拟机进行管理。
谁需要本文
如果你符合以下情况,请阅读本文:
- 需要使用 SSH 或 RDP 连接到Azure VM 进行开发或管理。
- 想要在保留管理访问权限的同时删除 VM 上的公共 IP 地址。
- 管理中心辐射型网络,需要为你的团队提供集中式远程访问。
- 需要遵守禁止直接面向 Internet 的管理端口的安全策略。
侧重于直接迁移:在中心部署 Azure Bastion,以便管理员无需公共 IP 即可通过 SSH 或 RDP 访问迁移的 VM,取代本地跳转盒工作流。
侧重于现代化:将 Bastion 与订阅和 RBAC 分离相结合,以便平台和应用团队获得限定范围的访问权限,并按区域部署 Bastion 以实现主动-主动资产。
跨云焦点: 通过安全中心(Bastion 或点到站点 VPN)提供管理员访问权限,并避免在从其他云迁移的工作负载上公开管理端口。
Azure服务和功能
下表列出了提供对虚拟机的安全远程访问的Azure服务。
| Service | 它提供的内容 | 何时使用它 |
|---|---|---|
| Azure Bastion (基本) | 通过 Azure 门户使用基于浏览器的 SSH 和 RDP。 VM 上不需要公共 IP。 具有 40 个并发 RDP 或 80 个并发 SSH 会话的两个专用主机实例。 | 管理员无需公开公共端口即可访问的任何 VM。 |
| Azure Bastion (标准) | 包含 Basic 中的所有功能,以及原生客户端支持、文件传输、共享链接、基于 IP 的连接、自定义入站端口和可扩展的主机实例(2–50 个)。 | 团队需要更丰富的管理员工作流,例如通过Azure CLI上传文件或连接。 |
| Azure Bastion (高级版) | 包含 Standard 中的所有内容,外加仅专用部署(Bastion 资源本身没有公共 IP)和会话录制。 | 高安全性环境,即使 Bastion 主机也不得具有公共 IP 地址。 |
| 点对站点 (P2S) VPN | 单个客户端 VPN 连接到虚拟网络。 提供对所有 VNet 资源的完整网络级访问,而不仅仅是 VM。 | 需要访问 RDP 和 SSH 以外的许多资源的管理员,例如数据库、存储或内部 Web 应用。 |
| 实时 (JIT) VM 访问 | 仅在显式请求时打开管理端口,时间范围有限。 创建临时 NSG 或 Azure 防火墙 允许规则。 | 减少仍保留公共 IP 地址的 VM 的攻击面。 |
如何选择
正确的服务取决于是否需要基于浏览器的访问、完整的网络连接或临时端口打开。
如何安全地访问 VM
使用此表可以根据要求选择正确的方法。
| Requirement | 建议的服务 | 为什么 |
|---|---|---|
| 基于浏览器的 RDP 或 SSH,无需安装客户端软件 | Azure Bastion (基本或标准) | Bastion 提供直接通过浏览器进行的基于门户的访问。 VM 上不需要 VPN 客户端或公共 IP。 |
| 完全专用访问,零公共 IP 地址,包括在 Bastion 资源上 | Azure Bastion (高级版) | 高级版支持仅限专用的部署,这消除了 Bastion 本身上的公共 IP。 |
| 管理员团队的完整虚拟网络访问权限,而不仅仅是 RDP 和 SSH | 点到站点 VPN | P2S VPN 为客户端提供 VNet 上的 IP 地址,以便可以访问所有网络资源。 |
| 减少仍具有公共 IP 的 VM 的攻击面 | 实时 VM 访问 | 默认情况下,JIT 将管理端口保持关闭状态,并且仅在有限的时间范围内为已批准的用户打开它们。 |
管理员访问模式
Bastion SKU 比较
| 功能 | 基本 | 标准 | 高级 |
|---|---|---|---|
| 基于浏览器的 SSH 和 RDP | ✅ | ✅ | ✅ |
| VNet 对等互连支持(中心-辐射型) | ✅ | ✅ | ✅ |
| 本地客户端 (Azure CLI) | ❌ | ✅ | ✅ |
| 文件上传和下载 | ❌ | ✅ | ✅ |
| 可共享链接 | ❌ | ✅ | ✅ |
| 基于 IP 的连接 | ❌ | ✅ | ✅ |
| 自定义入站端口 | ❌ | ✅ | ✅ |
| 可缩放主机实例 (2–50) | ❌ | ✅ | ✅ |
| 仅限专用部署(无公共 IP) | ❌ | ❌ | ✅ |
| 会话录制 | ❌ | ❌ | ✅ |
Tip
标准与高级之间的成本差异是边际的。 对于生产工作负载,请使用 Bastion Premium。
点到站点 VPN 协议
P2S VPN 支持三种隧道协议:
- OpenVPN:基于 TLS,适用于 Windows、macOS、Linux、iOS 和 Android。 支持Microsoft Entra ID身份验证和多重身份验证(MFA)。
- IKEv2:基于标准的 IPsec 适用于 Windows 和 macOS。
- SSTP(安全套接字隧道协议):基于 TLS 的专有协议,仅限 Windows。
Important
SSTP 正在分阶段停用。 自 2026 年 3 月 31 日起,无法再在 VPN 网关上启用 SSTP。 已启用 SSTP 的现有网关在 2027 年 3 月 31 日停止接受连接。 对所有新部署使用 OpenVPN 或 IKEv2。 Microsoft Entra ID身份验证和 MFA 仅支持 OpenVPN 隧道类型。
设计注意事项
直接迁移管理员访问设计重点
- 在中心 VNet 中部署 Azure Bastion,以便每个已对等互连的辐射型网络都可以通过 SSH 或 RDP 访问其 VM,无需公共 IP 地址,取代本地跳转盒工作流。
- 在 Bastion 到位后,从迁移的 VM 中删除公共 IP,以缩小攻击面。
- 当管理员需要访问除单个 VM 以外的许多资源时,请使用点到站点 VPN。
- 使跨迁移的工作负载保持管理员访问模式一致,以简化操作。
使管理员访问设计重点现代化
- 将 Bastion 与订阅和 RBAC 分离配对,以便平台团队管理中心和连接性,而应用团队获得对其辐射型网络的限定范围访问。
- 在每个区域中部署 Bastion 以实现主动-主动设计,以便管理员访问主要区域和备份区域中的资源。
- 选择符合您需求的 Bastion SKU,例如仅限专用访问的部署或原生客户端支持。
- 在你使用它的地方(OpenVPN 隧道类型),为点到站点 VPN 集成 Microsoft Entra ID 身份验证和 MFA。
跨云管理员访问设计重点
- 在安全的虚拟 WAN中心集中管理访问权限,以便操作员无需每个工作负荷的公共终结点即可访问从其他云迁移的Azure工作负荷。
- 不要将公共管理 IP 附加到虚拟机;通过中心的 Bastion 路由 SSH 或 RDP。
- 如果团队需要跨云管理资源,应统一采用点到站点 VPN 或 Bastion,以确保访问方式保持一致。
- 将管理员流量经由受检的中心防火墙进行路由,使其遵循与工作负载流量相同的跨云安全策略。
先决条件
在设置安全远程访问之前,请确保具备:
- 部署了 VM 的虚拟网络(请参阅 虚拟网络和子网)
- 对于 Azure Bastion:名为
AzureBastionSubnet的子网,最小大小为 /26(64 个地址)。 此子网无法托管其他资源。 - 对于 P2S VPN:一个网关子网和一个 VPN 网关资源(有关网关规划,请参阅 VPN 和 ExpressRoute 连接性)
- 对于 JIT VM 访问:订阅上启用 Microsoft Defender for Servers 计划 2
安全注意事项
注意
切勿创建允许 RDP (TCP 3389) 或 SSH (TCP 22) 从 0.0.0.0/0(Internet 上的任何源)入站的 NSG 规则。 此配置会使虚拟机暴露于暴力破解攻击之下,并且是安全事件的常见原因。
遵循以下远程 VM 访问安全做法:
- 使用 Bastion 或 P2S VPN 而不是公共 IP。 这两种方法都使管理流量不经过公共互联网。 不再需要这些地址时,请从 VM 中删除公共 IP 地址。
- 在中心 VNet 中部署 Bastion。 中心虚拟网络中的单个 Bastion 实例可以访问所有已对等互连的辐射型 VNet 中的 VM。 你不需要在每个辐射型网络中部署 Bastion。 对于中心辐射型拓扑,使用标准或高级 SKU。
- 为 P2S VPN 启用 MFA。 使用Microsoft Entra 条件访问配置Microsoft Entra ID身份验证,以要求多重身份验证。 MFA 需要 OpenVPN 隧道类型和 Azure VPN 客户端应用程序。
- 设置较短的 JIT 时间窗口。 使用实时访问时,请将持续时间限制为所需的最短时间。 窗口过期后,NSG 规则将还原为其以前的拒绝状态。 现有连接不会中断,但系统会阻止新连接。
- 将 NSG 规则应用于 AzureBastionSubnet。 请遵循 有关保护 Bastion 的指导,了解 Bastion 子网上所需的入站和出站规则。
注释
默认情况下,JIT VM 访问会创建临时 NSG 允许规则。 JIT 也可以使用Azure 防火墙,但前提是防火墙使用经典规则。 通过Azure 防火墙管理器(防火墙策略)管理的防火墙不支持 JIT 集成。
相关文章
- 虚拟网络和子网:AzureBastionSubnet 大小调整指南
- 网络安全组和应用程序安全组:管理端口的 NSG 规则
- VPN 和 ExpressRoute 连接:P2S VPN 范围和网关规划
- 中心-辐射型拓扑:集中式 Bastion 部署模式
了解详细信息
- Azure Bastion 文档
- 关于点对站 VPN
- Microsoft Defender for Cloud中的实时 VM 访问
- 为 P2S VPN 用户启用Microsoft Entra ID MFA
- Bastion SKU 比较
后续步骤
Tip
自行探索? 返回到 概述导航器 ,按功能查找下一篇文章。
直接迁移旅程的下一步:
为旧版名称解析规划 DNS:在迁移期间,使用 Azure 专用 DNS 区域和别名记录来保留旧版 DNS 命名方式。
您的现代化旅程的下一步:
为 PaaS 服务设置专用连接:在每个 spoke 中创建用于 PaaS 服务连接的 专用链接 子网。
您的跨云之旅下一步:
规划 DNS 直接转换和名称解析:映射 DNS 记录、降低 TTL,并在迁移直接转换之前配置跨云名称解析。