我应该在Kubernetes前面添加DMZ吗?

时间:2018-10-12 14:43:01

标签: docker kubernetes dmz kata-containers

Kubernetes Ingress是否足够安全,可以避免在Kubernetes前面添加DMZ来暴露Pod和Services? 如果有人“入侵”了Pod,会发生什么?

谢谢。

2 个答案:

答案 0 :(得分:1)

这是一个意见问题,因此我将提供一个选项。

如果对群集遵循standard security practices,则非常安全。但是,没有什么是100%安全的。因此,添加DMZ将有助于减少攻击向量。

就保护您的Ingress不受外部影响而言,您可以将外部负载均衡器的访问权限仅限制为HTTPS,大多数人都这样做,但是请注意,HTTPS和应用程序本身也可能存在漏洞。

对于pod和工作负载,您可以使用精心设计的seccomp配置文件或在pod安全上下文中添加正确的capabilities之类的东西来提高安全性(以一定的性能成本为代价)。您还可以使用AppArmorSELinux添加更高的安全性,但是很多人却没有,因为它会变得非常复杂。

还有其他Docker替代方案,以更轻松地沙盒化Pod(在撰写本文时仍处于生命周期的早期):Kata ContainersNabla ContainersgVisor

答案 1 :(得分:0)

这是一个非常开放的问题。在Google Cloud中,我认为Ingress通常是Google Cloud Load Balancer。据推测,与您管理的DMZ相比,云负载平衡器将非常安全。 k8s入口通常也将仅限于HTTP流量,因此通过入口进行的“黑客攻击”可能需要利用应用程序层漏洞。这很大程度上取决于您的特定设置。

就Pod的安全性而言,在Pod中获得执行访问权限会很不好。 Docker的安全性或沙盒化没有意义。再次,这取决于您的设置,但是作为一个明显的类比:不建议使用k8s Pod来运行不受信任的代码。