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

谢谢。

#1楼 票数:1

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

如果您遵循群集的标准安全实践 ,则非常安全。 但没有什么是100%安全的。 因此添加DMZ有助于减少攻击媒介。

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

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

Docker还有其他替代方案,以便更容易地对您的pod进行沙盒化(在撰写本文时仍处于生命周期的早期阶段): Kata ContainersNabla ContainersgVisor

#2楼 票数:0

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

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

  ask by Guillaume translate from so

未解决问题?本站智能推荐:

1回复

kata 容器能否替代 Kubernetes 中的 Docker?

我之前用 Docker 部署过 Kubernetes。 我在使用 Kata Container 部署 K8s 时遇到问题。 kata 容器会完全取代 Kubernetes 中的 Docker 吗? 所以我必须从我的节点卸载 Docker 才能让它工作? 我现在很困惑。
1回复

在本地基础架构上使用 DMZ 的入口

我有一个与设计和架构需求相关的问题,而不是问题一,我们有一个 kubernetes 集群来处理我们的生产工作负载,我们需要保护到这个集群的外部流量,所以我们设计了这种方法: 使用入口控制器创建一个工作节点,没有任何工作负载 将此工作节点放在 DMZ 区域中,以便处理到我们应用程序的 clus
1回复

我应该在哪里为多个kubernetes集群提供共享服务?

我们公司正在开发一个应用程序,该应用程序可以在3个不同版本的Kubernetes集群中运行(生产,暂存,测试)。 我们需要随时间监视集群和应用程序(指标和日志)。 我们还需要运行一个邮件服务器。 所以基本上我们有3个不同的环境,具有不同版本的应用程序。 而且我们有一些共享服务只需要运
2回复

我应该如何在 Kubernetes 上为 JupyterHub 部署持久卷(PV)?

环境信息: 我最近尝试通过 Zero to JupyterHub 在新的实验室服务器中部署在线代码环境(如 Google Colab)。 不幸的是,我未能为 JupyterHub 部署 Persistent Volume(PV),并且收到如下失败消息: 我按照JupyterHub的教程安装过
1回复

在当地环境中,我应该使用docker-compose还是kubernetes(minikube)?

我已经有了一些用docker和docker组合设置的环境,所以我有不同的容器和不同的服务,所有这些都是由docker-compose编排的,它在我的本地开发环境中工作正常。 最近我读到了kubernetes和minikube,但显然,kubernetes是一个更适用于容器管理服务器/集群的工具
1回复

我应该使用 Serverless 还是 Kubernetes 或 Docker Swarm? [关闭]

关闭。 此问题不符合Stack Overflow 准则。 它目前不接受答案。
1回复

我应该如何为 Kubernetes 重写 docker-compose.yaml?

我对 K8s 很陌生,所以我从来没有使用过它。 但我已经熟悉了节点/pods 的概念。 我知道 minikube 是用于 debug/etc 的本地 k8s 引擎,我应该通过 kubectl 工具与任何 k8s 引擎交互。 现在我的问题是: 在我的本地 minikube 实例和生产 AWS/e
1回复

我应该将任何内存选项传递给在 Kubernetes pod 上运行的有限制的 nodejs 应用程序吗?

我在 Kubernetes 上运行的 nodejs 应用程序有限制: 我的 nodejs 应用程序的 Dockerfile 基于node:10-slim : 我发现应该设置--max_old_space_size一些较旧的帖子。 那是对的吗? 还是 nodejs 进程会自动找到现有的内存限制