kubectl如何比SSH守护进程更安全/访问容器?

问题描述 投票:1回答:2

各种Kubernetes安全建议会告诉您避免SSH进入容器,而要求使用kubectl。引用的主要原因是可能通过SSH逃避到底层主机资源到容器中。因此,我有以下特定查询:

  1. kubectl的哪些功能阻止您访问主机资源,为什么ssh与kubectl相比具有更大的访问主机资源的风险? kubectl如何更安全?

  2. SSH是否可以跳过Pod安全策略以及在Pod安全策略中受限制的基础主机上的访问/装载路径?] >>

  3. 如果无法避免将SSH装入容器,如何以最佳方式保护它?

  4. 各种Kubernetes安全建议会告诉您避免SSH进入容器,而要求使用kubectl。引用的主要原因是逃脱到基础主机的可能性...

security kubernetes ssh containers kubectl
2个回答
1
投票

如果原因是“您可以通过一个而不是另一个来逃脱”,那么我认为这是由不了解所涉及的安全机制的人造成的。还有其他比[SSH]更喜欢kubectl exec的原因,例如与所有其他Kubernetes集成的审核日志记录,以及容易的访问吊销,但也可以通过SSH获得。这只是更多工作

  1. kubectl运行在客户端。如果其中有阻止您逃脱的功能,则可以将其修补。


1
投票

仅因为您必须在容器中运行ssh服务器;因此,在您的容器中运行一个额外的进程,并且必须管理密钥,这是不希望通过SSH进入容器的充分理由。

所以,这是一个缺点。另一个将与用例一起使用,这是一种风险。您为什么要SSH到容器中?我看到的一个原因是因为您想从外部主机(未安装kubectl并针对api-server进行身份验证)执行此操作。因此,您必须将端点暴露给外界,或者至少暴露给您的网络。

© www.soinside.com 2019 - 2024. All rights reserved.