【问题标题】:Should I add a DMZ in front of Kubernetes?我应该在 Kubernetes 前面添加一个 DMZ 吗?
【发布时间】:2019-03-17 19:52:12
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: docker kubernetes dmz kata-containers


    【解决方案1】:

    这是一个意见问题,所以我会选择一个选项来回答。

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

    在保护您的 Ingress 免受外部攻击方面,您可以将外部负载均衡器的访问权限限制为 HTTPS,大多数人都会这样做,但请注意 HTTPS 和您的应用程序本身也可能存在漏洞。

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

    还有其他 Docker 替代方案可以更轻松地对您的 pod 进行沙箱处理(在撰写本文时仍处于其生命周期的早期):Kata ContainersNabla ContainersgVisor

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-27
        • 2019-04-19
        • 2016-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-07
        相关资源
        最近更新 更多