是否可以在DMZ区域(限制区域)部署openshift。我将面临哪些挑战?在DMZ区域网络中我必须做什么?
答案 0 :(得分:0)
您可以在DMZ中部署Kubernetes和OpenShift。 您还可以在Kubernetes和OpenShift之前添加DMZ。
Kubernetes和OpenShift网络模型是扁平的SDN模型。所有Pod均从同一网络CIDR获取IP地址,并且生活在同一逻辑网络中,无论它们位于哪个节点上。
我们有使用NetworkPolicy API在SDN中控制网络流量的方法。 OpenShift中的NetworkPolicies代表防火墙规则,而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。