云原生安全:攻防实践与体系构建
上QQ阅读APP看书,第一时间看更新

4.2.2 Kubernetes Dashboard未授权访问

Kubernetes Dashboard是一个基于Web的Kubernetes用户界面。我们可以用它来在集群中部署、调试容器化应用,或者管理集群资源。进一步地说,借助Dashboard,我们能够获得当前集群中应用运行状态的概览,创建或修改Kubernetes资源,如Deployment、Job、DaemonSet等。我们能够扩展Deployment、执行滚动升级、重启Pod或在部署向导的辅助下部署新应用。

根据官方文档[1],用户可以使用以下命令部署Dashboard:


kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/
    v2.0.4/aio/deploy/recommended.yaml

Dashboard需要配置token才能够访问,但是提供了“跳过”(Skip)选项。从1.10.1版本起,Dashboard默认禁用了“跳过”按钮。然而,如果用户在运行Dashboard时添加了--enable-skip-login,那么攻击者只要网络可达,就能进入Dashboard,界面如图4-3所示。

使用上面的recommended.yaml[2]创建Dashboard是可靠的。即使攻击者“跳过”认证直接登录,也几乎没有办法操作,如图4-4所示。

图4-3 允许跳过认证的Kubernetes Dashboard登录界面

图4-4 跳过认证并登录后的Dashboard界面

[1] https://github.com/kubernetes/dashboard#install。

[2] https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml。