【发布时间】:2019-12-29 09:54:36
【问题描述】:
是否可以在 DMZ 区域(受限区域)部署 openshift。我将面临哪些挑战?在 DMZ 区域网络中我必须做哪些事情?
【问题讨论】:
标签: kubernetes openshift kubernetes-ingress openshift-origin openshift-enterprise
是否可以在 DMZ 区域(受限区域)部署 openshift。我将面临哪些挑战?在 DMZ 区域网络中我必须做哪些事情?
【问题讨论】:
标签: kubernetes openshift kubernetes-ingress openshift-origin openshift-enterprise
您可以在 DMZ 中部署 Kubernetes 和 OpenShift。 您还可以在 Kubernetes 和 OpenShift 前面添加 DMZ。
Kubernetes 和 OpenShift 网络模型是平面 SDN 模型。所有 pod 都从同一个网络 CIDR 获取 IP 地址,并且无论它们驻留在哪个节点上,都生活在同一个逻辑网络中。
我们有办法使用 NetworkPolicy API 控制 SDN 内的网络流量。 OpenShift 中的 NetworkPolicy 代表防火墙规则,而 NetworkPolicy API 在定义这些规则时提供了极大的灵活性。
使用 NetworkPolicies 可以创建区域,但也可以在防火墙规则的定义中更加精细。每个 pod 有单独的防火墙规则是可能的,这个概念也称为微分段(有关 NetworkPolicy 实现微分段的更多详细信息,请参阅这篇文章)。
DMZ 在某些方面是一个特殊区域。这是唯一暴露于来自组织外部的入站流量的区域。它通常包含 IDS(入侵检测系统)、WAF(Web 应用程序防火墙)、安全反向代理、静态 Web 内容服务器、防火墙和负载平衡器等软件。其中一些软件通常作为设备安装,可能不容易容器化,因此通常不会托管在 OpenShift 中。
无论区域如何,特定区域内部的通信通常不受限制。
这种架构的变体很常见,大型企业往往拥有多个专用网络。但受防火墙规则保护的特定用途网络的原则始终适用。
一般来说,流量应该只在两个网络之间沿一个方向流动(如在渗透膜中),但为了支持特殊用例,此规则的例外情况通常是必要的。
有用的文章:openshift-and-network-security-zones-coexistence-approache.
如果您为您的集群关注standard security practices,这是非常安全的。但没有什么是 100% 安全的。因此,添加 DMZ 将有助于减少您的攻击向量。
在保护您的 Ingress 免受外部攻击方面,您可以将外部负载均衡器的访问权限限制为 HTTPS,大多数人都会这样做,但请注意 HTTPS 和您的应用程序本身也可能存在漏洞。
对于 pod 和工作负载,您可以使用精心设计的 seccomp 配置文件或在您的 pod 安全上下文中添加正确的 capabilities 之类的东西来提高安全性(以一定的性能为代价)。您还可以使用AppArmor 或SELinux 增加更多安全性,但很多人不这样做,因为它会变得非常复杂。
还有其他 Docker 替代方案可以更轻松地对您的 pod 进行沙箱处理(在撰写本文时仍处于其生命周期的早期):Kata Containers、Nabla Containers 和 gVisor。
看一看:dmz-kubernetes。
这里有类似的问题:dmz.
【讨论】: