Partager via

为 Azure Bastion 配置 NSG 规则

Azure Bastion 支持 AzureBastionSubnet 和目标 VM 子网上的 NSG。 应用 NSG 可以强制实施最小特权网络访问,将流量限制为仅 Bastion 所需的端口和源,并防止在您的虚拟网络中未经授权的横向移动。 如果应用 NSG,则必须配置所有必需的入口和出口规则。 省略任何规则可能会阻止 Bastion 接收平台更新并阻止 VM 连接。

有关 NSG 的详细信息,请参阅安全组

NSG

在这一示意图中:

  • Bastion 主机部署到虚拟网络中。
  • 用户使用任何 HTML5 浏览器连接到 Azure 门户。
  • 用户导航到 Azure 虚拟机以使用 RDP/SSH。
  • 连接集成 - 在浏览器中单击“RDP/SSH 会话”
  • Azure VM 无需公共 IP。

设置网络安全组 (NSG)

本部分显示用户与 Azure Bastion 之间的网络流量,以及通过虚拟网络到目标 VM 的网络流量:

重要

如果将 NSG 应用到 Azure Bastion 资源, 则必须 创建以下所有入口和出口流量规则。 省略任何规则会阻止 Bastion 主机接收平台更新,并使部署暴露于未来的安全漏洞中。

下表汇总了所有必需的 NSG 规则。

规则名称 方向 来源 目的地 端口 协议
AllowHttpsInbound(允许HTTPS入站) 入站 Internet * 443 TCP
允许网关管理器入站 入站 GatewayManager * 443 TCP
允许堡垒主机通信 (AllowBastionHostCommunication) 入站 VirtualNetwork VirtualNetwork 8080, 5701 *
允许Azure负载均衡器入站 入站 AzureLoadBalancer * 443 TCP
AllowSshRdpOutbound(允许SSH和RDP出站) 出境 * VirtualNetwork 22, 3389 *
AllowAzureCloudOutbound 出境 * AzureCloud 443 TCP
AllowBastionCommunication 出境 VirtualNetwork VirtualNetwork 8080, 5701 *
AllowHttpOutbound 出境 * Internet 80 *

可以使用 Azure 门户或 PowerShell 配置所需的 NSG 规则。

AzureBastionSubnet

使用以下步骤为 AzureBastionSubnet 配置 NSG 规则。

  1. 登录到 Azure 门户

  2. 转到 网络安全组 并选择与 AzureBastionSubnet 关联的 NSG

  3. 在左侧选择 “入站安全规则 ”,然后选择“ + 添加 ”以创建以下入口规则:

    • 来自 Internet 的入口(端口 443):Internet 服务标记启用端口 443 入站。 AzureBastionSubnet 上不需要端口 3389 和 22。 源可以是 Internet 或指定的一组特定的公共 IP 地址。
    • 来自 GatewayManager 的入口(端口 443):GatewayManager 服务标记启用端口 443 入站。 这允许控制平面(网关管理器)与 Bastion 主机通信。
    • 来自 VirtualNetwork 的入口(端口 8080,5701): 启用从 VirtualNetwork 服务标记到 VirtualNetwork 服务标记的端口 8080 和 5701 入站。 这使 Azure Bastion 的内部组件能够相互通信。
    • 来自 AzureLoadBalancer 的入口(端口 443):AzureLoadBalancer 服务标记启用端口 443 入站。 这使 Azure 负载均衡器能够检测用于运行状况检查的连接性。

    屏幕截图显示 Azure Bastion 连接的入站安全规则。

  4. 在左侧选择 “出站安全规则 ”,然后选择“ + 添加 ”以创建以下出口规则:

    • 流出目标 VM(端口 3389、22): 启用通过专用 IP 在端口 3389 和 22 上向目标 VM 子网的出站流量。 如果将自定义端口功能用于标准 SKU,请改为允许发到 VirtualNetwork 服务标记的出站流量。
    • 流出到 VirtualNetwork (端口 8080, 5701): 启用从 VirtualNetwork 服务标记到 VirtualNetwork 服务标记的端口 8080 和 5701 出站端口。 这使 Azure Bastion 的内部组件能够相互通信。
    • 出站到 AzureCloud(端口 443): 启用到 AzureCloud 服务标签的端口 443 出站。 这允许 Bastion 连接到由世纪互联运营的 Azure 公共终结点,用于存储诊断日志和计量日志。
    • 流出到 Internet(端口 80): 为会话验证、Bastion Shareable Link 和证书验证启用端口 80 出站到 Internet

    屏幕截图显示 Azure Bastion 连接的出站安全规则。

目标 VM 子网

使用以下步骤为包含目标虚拟机的子网配置 NSG 规则。

  1. 在 Azure 门户中,转到 网络安全组 并选择与目标 VM 子网关联的 NSG。

  2. 选择 “入站安全规则”,然后选择“ + 添加 ”以创建以下规则:

    • 来自 AzureBastionSubnet 的入口(端口 3389,22): 打开 RDP/SSH 端口(分别为 3389 和 22),如果使用标准或高级 SKU 的自定义端口功能,则通过专用 IP 在目标 VM 子网上入站。 如果没有此规则,Bastion 即使配置正确,也无法访问 VM。 最佳做法是,将源范围限定为 AzureBastionSubnet IP 地址范围,以便只有 Bastion 才能打开这些端口,而不是更广泛的 Internet。

后续步骤