为什么使用`--vm-driver = none`启动的Minikube集群容易受到CSRF的攻击?

Nie*_*Wet 9 csrf minikube

当使用--vm-driver=none选项1 启动Minikube实例时会遇到以下警告:

WARNING: IT IS RECOMMENDED NOT TO RUN THE NONE DRIVER ON PERSONAL WORKSTATIONS
    The 'none' driver will run an insecure kubernetes apiserver as root that may 
    leave the host vulnerable to CSRF attacks
Run Code Online (Sandbox Code Playgroud)

为什么主人容易受到攻击?这样的攻击怎么会起作用?

aur*_*ius 7

跨站点伪造是一种攻击:

诱使用户不小心使用其凭据来调用状态更改活动

参数--vm-driver=none:

该驱动程序可用于在主机上而不是在VM中运行Kubernetes集群组件。

有关minikube内部攻击的文档很少。基本上当你使用--vm-driver=none kubectl配置时,凭据将是root拥有的,并将在主目录中可用。您需要移动它们并设置适当的权限。同样,通常用于保护免受此类攻击的秘密令牌也很容易被攻击者访问。如果不移动组件并设置权限,则在将请求作为根引入时,将apiserver用作代理时,它们可能成为潜在的载体。

我认为最危险的部分是:--vm-driver=none以root身份公开整个过程。您的kubeapi以root身份运行。如果攻击者可以利用该漏洞,他将控制在以root身份运行的内核内部运行的进程-并且据我们所知,这使攻击者成为系统的所有者,不仅可以成为CSFR攻击的网关。

还值得一提的是,安全性不是minikube中的优先考虑的问题,因为如果您希望更关注安全性,可以考虑使用kubeadm,它通常是学习的工具:

是用于在现有基础架构上引导最佳实践的Kubernetes集群的工具包。

这是Kubernetes开发人员关于实现CSRF和执行这种攻击的一些历史性对话,您可以在这里找到它们:

强化主API免受网络攻击#10351

这就是我能够找到的,我建议您尝试在GitHub上询问开发人员,以解决问题以获取更准确的信息。