在ACI中保护Linux SFTP。 IPTables? Vnet?

时间:2019-04-29 12:53:47

标签: azure network-programming arm-template azure-container-instances

我遵循以下精彩教程,使用ACI设置了一个简单的SFTP:https://azure.microsoft.com/en-ca/resources/samples/sftp-creation-template/

问题是此东西具有公共IP,并且没有类似的防火墙来保护它。我想使这件事更安全。我在使用Azure VNet方面表现不错,但是在使用Linux或ACI方面还没有很多经验。我的看法是,我可以做两件事之一

1)在我的vnet中部署此ACI,并通过NSG或类似网络控制访问。不确定这是否适用于ACI?有什么限制吗?

2)在Linux构建中使用IPtables吗? sftp构建基于atmoz / sftp,但将其配置为ARM部署模板。我真的只需要将对SFTP的访问限制为单个IP,因此我可以制定两个规则,但是如果我遵循这种方法,我希望在ARM模板本身中对其进行配置。

所以我的问题是真的 a)最佳做法是什么?虚拟网络在逻辑上似乎更安全 b)为了我自己的观点,我将去哪里学习如何在ARM模板中配置IPTables之类的内容?可以在部署模板中配置的东西吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

据我所知,这两个选项都应与ACI一起使用。但是我宁愿选择NSG,因为它更容易在Azure门户上进行管理,而不是访问实例。而且,它将控制子网中的网络访问,对实例设置几乎没有影响。如果您的映像支持IPTable,则IPTables可以在实例内部使用。

通过VNet部署ACI时有一些限制。如

  • 要将容器组部署到子网,该子网不能包含任何其他资源类型。
  • 此功能处于预览状态,并且在某些地区可用。
  • 部署到虚拟网络的容器组当前不支持将具有公共IP地址或完全限定域名的容器直接暴露给Internet。因此,您可能需要添加诸如Azure Application gateway反向代理之类的服务,以将面向公众的流量定向到您的后端实例。
  • 应用于代理委派给Azure容器实例的子网的NSG中的出站安全规则当前未执行

有关更多详细信息,您可以阅读:Deploy container instances into an Azure virtual network

相关问题