我已经使用docker-bench
评估了Kubernetes集群中Docker容器的安全配置。我注意到所有库伯奈特集装箱,如
kube-proxy
kubelet
kube-apiserver
k8s_kube-flannel_canal
k8s_POD_canal
k8s_trident-main_trident-csi
...
以根的身份运行。这有必要吗?
此外,一些Kubernetes容器(如k8s_trident-main_trident
、kube-proxy
和kubelet
)以特权模式运行。我想这是库伯内特斯正常工作所必需的。
我的问题是:你如何正确评估库伯奈特码头的安全配置?我知道大多数设置都由Kubernetes覆盖,例如CPU/内存使用、PID cgroup限制和健康检查。但是,现在我不知道在通过Kubernetes和Rancher管理Docker的安全配置时是否可以说出任何信息(也使用了RancherOS)。重新规划前一个问题:除了硬化库伯内特斯之外,还应该采取哪些步骤/控制措施来硬化码头?
发布于 2020-02-14 11:45:02
...run为根。这有必要吗?
如果他们中的一些人这么做了,你可以认为这应该是一个很好的理由。我认为kubernetes的创建者非常熟悉最小特权原则的概念。所以我要说:是的,很可能有必要在节点系统上执行所需的操作。但是,它可以讨论,例如,这里。
例如,kubeadm真的需要根权限吗?好吧..。为了能够执行所有所需的操作,是的。与这的答案进行比较。
然而,关于作为非根用户运行整个kubernetes集群的想法也出现了。我发现了一个有趣的介绍性讨论这个概念。
在你的问题中,你触及了非常广泛的话题,不可能给出一个正确的答案。我会说,这是相当重要的内容,一篇广泛的博客文章,甚至电子书(与这一个相比)。
此外,一些Kubernetes容器(如
k8s_trident-main_trident
、kube-proxy
和kubelet
)以特权模式运行。我想这是库伯内特斯正常工作所必需的。
如果希望容器也能够在主机系统上执行某些操作,则无法避免特权模式。
您还可能希望熟悉kubernetes官方文档中的以下文章:
https://kubernetes.io/docs/concepts/security/overview/
https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/
希望能帮上忙。
https://stackoverflow.com/questions/60227217
复制