Azure NSG 不会阻止流向子网 ACI 的流量

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

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

我的基本流程是这样的:

Azure 上的 PIP ->

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

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

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

-> 该组中的 SFTP 容器

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

阅读完如何NSG flow logs don't include container instances ,我左右为难:用户是否拥有与容器组一起使用的 NSG,但缺少日志;以及 NSG 是否可能根本无法与容器组一起使用。如果有人对正确使用 NSG 有任何指导,请告诉我。否则,如果我应该使用其他工具,请推荐它(Azure 防火墙包含在容器组教程中,但我认为完全超出了我的需要,而且价格也昂贵得令人望而却步)。

编辑:添加 NSG 规则图片 - Picture of NSG rules

最佳答案

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

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

关于Azure NSG 不会阻止流向子网 ACI 的流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66413126/

相关文章:

azure - 如何命名Azure存储帐户?

Azure - 基于 YAML 的管道中的自定义条件

azure - 无法 ping 我的 aci - azure 容器实例的公共(public) IP

triggers - 可以使用触发器调用Azure容器实例吗?

azure - 逻辑应用程序的内部 Azure ASE 入站/出站流量

sql-server - 仅与 Active Directory 建立连接...用户 '<token-identified principal>' 登录失败

Azure DevOps 自托管代理 - 如何复制云托管代理?

azure - 将伪 TTY 与 Azure 容器实例结合使用?

json - 网络安全组规则审核 (Azure)

azure - 允许远程 Web 服务器管理 Azure 服务器核心 VM