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 进行的通信。

The architecture of Azure Bastion, as described in the preceding text.

注意

受保护的 VM 和 Azure Bastion 主机连接到同一虚拟网络,但位于不同的子网中。

Azure Bastion 中的典型连接过程如下所示:

  1. 管理员通过受 TLS 保护的连接,使用任意 HTML5 浏览器连接到 Azure 门户。 管理员选择要连接到的 VM。
  2. 门户通过 NSG 使用安全连接连接到 Azure Bastion,该 NSG 用于保护托管目标 VM 的虚拟网络。
  3. Azure Bastion 启动到目标 VM 的连接。
  4. 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 服务的门户连接。