如何在 Azure 的 Vnet 中阻止来自公共的端口并允许端口?

How to block ports from public and allow ports within Vnet in Azure?

提问人:Neo 提问时间:10/29/2019 更新时间:10/30/2019 访问量:2274

问:

我在 Azure 中设置了站点到点 VPN。 我想允许使用 VPN 客户端登录的用户使用端口 3389、22、5432、8080,同时仅允许此 VM 的公共 IP 上的端口 8080。可以在 NSG 中完成这些配置 我怎样才能做到这一点?

在“VM/网络”选项卡中,我可以看到附加到子网的 NSG 和附加到 NIC 的另一个 NSG。

Azure virtual-machine network-security-groups

评论


答:

0赞 Architect Jamie 10/29/2019 #1

首先,尽可能不要将 NSG 分配给 NIC,这并不是说这种做法不好,只会增加管理难度。尽管在一些非常严格的安全方案中,这可能是必要的。

点到站点 VPN 将由 VPN 网关提供服务,客户端将从客户端地址池中获取 IP 地址。

在方案中,需要创建入站规则,以允许从 VPN 客户端连接到任何和所有 NSG 中目标 VM 的内部 IP 地址,这些 NSG 适用于:

  • 网关子网
  • The subnet of the VM's NIC
  • VM 的 NIC

如果未将 NSG 应用于网关子网,可以将其保留原样。

您需要从 VPN 网关获取客户端地址池,并使用 CIDR 表示的网络地址填充源 CIDR 范围。示例如下:


NSG Rule


确保您已为规则分配了适当的优先级,以便在任何可能优先的拒绝操作规则之前对其进行处理。

您可能希望从此规则中排除 8080,而是创建一个单独的规则,允许任何源地址访问它。此规则需要存在于子网和 NIC NSG 上。

评论

0赞 Neo 10/29/2019
因此,基本上我们是否只是配置面向公共 Internet 的 NIC 的 NSG 以响应此 IP 范围?
0赞 Architect Jamie 10/29/2019
客户端 VPN 流量通过网关子网 -> VM 子网 -> VM NIC。因此,应在应用于这三个位置中的任何位置的任何 NSG 中设置此规则。可以使用 Azure 网络观察程序中的 IP 流验证来测试流,这将突出显示任何阻止或允许的 NSG。
0赞 Neo 10/29/2019
NIC 的 NSG 是什么阻止了公共 IP 流量,对吧?我们可以在所有这些级别设置 Nsg,但这归结为保留在 NIC 中的 IP 过滤以阻止公共流量,对吗?如果是这样的话,那么使用VPN有什么好处吗?很抱歉问了所有这些问题,因为如果遇到这种情况,花费和设置 vpn 配置没有任何意义。
0赞 Hannel 10/30/2019 #2

只需允许来自 Internet 的 8080 的规则,NSG 默认规则已允许在包含 VPN 网关路由的 virtualnetwork 标记上进行通信

enter image description here

评论

0赞 Neo 10/30/2019
哈哈。啪谢谢伙计。我刚刚删除了 NIC NSG 上的所有入站限制。允许的 Vnet 访问。默认情况下,由于 NIC 中的拒绝规则,所有公共端口请求都将被拒绝。为了公开任何端口,我只需要添加例外,以便在 NIC NSG 中公开它。谢谢你的帮助,你嘟嘟囔囔。我很感激你:P