【问题标题】:Azure NSG not blocking traffic to subnetted ACIAzure NSG 不阻止流向子网 ACI 的流量
【发布时间】:2021-05-30 10:42:30
【问题描述】:

我终于正确设置了一个 azure sftp 容器实例,但在为其配置安全性时遇到了障碍(很像 here 的人)。

我的基本流程是这样的:

Azure 上的 PIP ->

-> 使用 PIP 的负载均衡器可以通过更广泛的网络访问 ->

-> 到后端子网的负载均衡规则 ->

-> 位于该子网上的 SFTP 容器组 ->

-> 该组中的 SFTP 容器

没有什么特别的,我在关联 NSG 之前验证了网络正在按预期运行。与 SFTP 服务器的连接正常。问题是,在将 NSG 与容器组的子网关联后,我仍然能够在没有任何配置规则的情况下连接到它。即使在应用规则@priority 100 拒绝所有流量,以排除我可能从默认规则中遗漏的东西后,我仍然可以进入。

在阅读了NSG flow logs don't include container instances 之后,我在认为用户有 NSG 使用容器组但缺少日志和 NSG 根本不使用容器组的可能性之间左右为难。如果有人在此处对正确使用 NSG 有任何指导,请告诉我。否则,如果我应该使用其他工具,请推荐它(Azure Firewall 包含在容器组教程中,但我认为完全超出了我的需求,而且价格也非常昂贵)。

编辑:添加 NSG 规则的图片 -

【问题讨论】:

  • 您实际上想阻止什么?我假设你的容器只暴露了一个 SFTP 端口?
  • 只是想在 22 号为除我自己以外的所有人屏蔽交通。
  • 你能贴一张你的 nsg 规则的截图吗?
  • 当然。添加到 OP

标签: azure azure-container-instances network-security-groups


【解决方案1】:

经过我的验证,目前,与 ACI 子网关联的 NSG 在这种情况下不适用于 Azure 负载均衡器后面的 SFTP 容器服务。此 NSG 规则不会阻止客户端的公共 IP 地址,它就像没有它一样工作。

作为一种解决方法,您可以使用像 this blog 这样的 NGINX 反向代理来限制 SFTP 访问,或者添加像 Azure 应用程序网关反向代理这样的服务来将面向公众的流量引导到您的后端实例。

【讨论】:

  • 不幸的是,我认为情况就是这样。可以肯定的是,这很糟糕。
  • 使用 nginx 反向代理不起作用。在传入的请求到达 nginx 容器之前,ACI 本身会进行一些代理,并且真实的客户端 IP 地址已被内部 IP 地址替换。结果是 nginx 无法通过源 ip 执行访问控制 :(
猜你喜欢
  • 2021-12-04
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
  • 2019-02-04
  • 1970-01-01
  • 2019-02-03
  • 2023-03-10
  • 2021-02-02
相关资源
最近更新 更多