Azure Bastion 的工作原理
RDP 和 SSH 通常是用于连接到远程 IaaS VM 的主要方法,但是向 Internet 暴露这些管理端口会带来严重的安全风险。 本单元介绍如何在外围网络的公共端部署 Azure Bastion,以便使用这些协议安全地进行连接。 在本单元中,你将了解:
- Azure Bastion 体系结构。
- Azure Bastion 如何使用 RDP/SSH 安全地连接到托管 VM。
- Azure Bastion 的要求,以便你可以评估其在组织中的相关性。
Azure Bastion 体系结构
下图描绘了典型 Azure Bastion 部署的体系结构,并描述了端到端连接过程。 在此图中:
- Azure Bastion 部署在包含多个 Azure VM 的虚拟网络中。
- NSG 保护虚拟网络中的子网。
- 保护 VM 子网的 NSG 允许来自 Azure Bastion 子网的 RDP 和 SSH 流量。
- Azure Bastion 仅支持从 Azure 门户或经由原生客户端(未显示)通过 TCP 端口 443 进行的通信。
注意
受保护的 VM 和 Azure Bastion 主机连接到同一虚拟网络,但位于不同的子网中。
Azure Bastion 中的典型连接过程如下所示:
- 管理员通过受 TLS 保护的连接,使用任意 HTML5 浏览器连接到 Azure 门户。 管理员选择要连接到的 VM。
- 门户通过 NSG 使用安全连接连接到 Azure Bastion,该 NSG 用于保护托管目标 VM 的虚拟网络。
- Azure Bastion 启动到目标 VM 的连接。
- RDP 或 SSH 会话在管理员控制台上的浏览器中打开。 Azure Bastion 通过自定义包流式传输会话信息。 这些包受 TLS 保护。
通过使用 Azure Bastion,你无需直接在公共 IP 上向 Internet 暴露 RDP/SSH, 而是使用安全套接字层 (SSL) 安全地连接到 Azure Bastion,然后它使用专用 IP 连接到目标 VM。
用法要求
希望通过 Azure Bastion 连接到 Azure 中的 IaaS VM 的管理员需要对以下各项具有“读取者”角色:
- 目标 VM。
- 目标 VM 上具有专用 IP 的网络接口。
- Azure Bastion 资源。
部署 Azure Bastion 时,在虚拟网络或对等虚拟网络中将它部署到它自己的子网中。
提示
子网名称必须为 AzureBastionSubnet。
由于 Azure Bastion 受虚拟网络的 NSG 保护,因此 NSG 需要支持以下流量流:
- 入站:
- 从 Azure Bastion 子网到目标 VM 子网的 RDP 和 SSH 连接
- 从 Internet 到 Azure Bastion 公共 IP 的 TCP 端口 443 访问
- 端口 443 或 4443 上来自 Azure 网关管理器的 TCP 访问
- 出站:
- 端口 443 上来自 Azure 平台的 TCP 访问,用于支持诊断日志记录
注意
Azure 网关管理器管理到 Azure Bastion 服务的门户连接。