首页/安全/漏洞与攻击面速查/Kubernetes Dashboard 暴露与提权风险
主机与服务风险面53 条

Kubernetes Dashboard 暴露与提权风险

仪表盘组件若以匿名或高权限服务账号运行并暴露在外,等于向可达者开放集群操作界面;历史版本还出现过因镜像与配置问题导致的凭据风险。

漏洞与攻击面速查安全更新于 2026-10-13

风险在哪里

Kubernetes Dashboard 是集群的 Web 管理界面,风险不在组件本身而在配置:当它以匿名访问或高权限 ServiceAccount 运行、又能被外部网络触达时,等于把集群操作界面开放给任何能访问它的人。历史版本还出现过因镜像与部署配置引发的凭据与提权问题,因此版本更新与访问方式收敛同样重要。

基本信息

组件kubernetes-dashboard
暴露方式Ingress、NodePort 或 port-forward
认证方式推荐令牌或外部身份提供方登录
高风险配置skip-login 类匿名入口、绑定 cluster-admin
低暴露替代kubectl port-forward 到本机

典型使用场景

  • 清理闲置组件:测试集群装过的 Dashboard 一直没删,成了公开入口
  • 核查 RBAC 绑定:确认是否存在 dashboard-admin 这类过大角色绑定
  • 收敛访问路径:从公网 Ingress 改为内网入口 + 来源白名单
  • 版本更新:跟随官方稳定版,避免历史配置问题
  • 替代方案:日常运维改用 kubectl 或受控跳板,减少常驻 Web 界面

核查命令

核查命令
kubectl get deploy,svc -A | grep -i dashboard          # 是否仍在运行
kubectl get clusterrolebinding | grep -i dashboard       # 是否存在过大绑定
kubectl get sa -A | grep -i dashboard                    # 服务账号清单
# 出现 dashboard-admin 绑定到 ServiceAccount 时,需逐项评估必要性

常见错误配置与后果

错误配置后果收敛建议
匿名或跳过登录任何可达者直接进入控制台关闭匿名入口,强制令牌登录
绑定 cluster-admin凭据泄露即全网失守改为只读或限定命名空间的角色
公网 Ingress 暴露被扫描器持续枚举改内网入口 + 来源白名单
长期不升级历史配置与镜像问题留存跟随官方稳定版并做升级回归
把仪表盘放在内网并配合 kubectl port-forward 是常用的低暴露方案:界面只在需要的时刻、从运维人员的本机可达。
删除 Dashboard 部署后要连带检查关联的 ClusterRoleBinding 与 ServiceAccount:残留的高权限绑定会在下次部署时被复用,风险被静默继承。

季度复核清单

  • 组件是否仍在运行:不再使用的集群直接删除部署与角色绑定
  • 入口是否仍只对内:确认 Ingress 注解与网络策略没有被后续变更放开
  • 服务账号令牌是否仍是长期有效:优先使用短时令牌
  • 登录审计是否留下记录:谁在什么时间用过控制台要能查

易错点

  • 图省事给 dashboard 的 ServiceAccount 绑 cluster-admin:一次凭据泄露即全网失守
  • 为方便访问直接开公网 Ingress:控制台被扫描器持续枚举,登录页本身就是攻击入口
  • 只删 Deployment 不删角色绑定:残留的高权限绑定下次被复用
  • 把 Dashboard 当唯一管理入口:一旦被入侵,集群操作权限与业务权限重叠且难以审计

数据来源与参考

  • Kubernetes Dashboard 官方文档(访问控制与安全)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌