【K8S安全】4. 节点到云

拿到 Node 访问权限后

通过 hostPath: / ,我们可以拿到各个 Pod 的 Token 权限,还可以拿到如下目标:

  • kubelet 的配置文件 / kubeconfig:可以以 Node 身份操作集群(Node 身份往往能读它自己节点上所有 Pod 的信息)
  • 容器运行时 socket(containerd / docker):可以控制这台机器上所有容器,包括别的租户的
  • 其他 Pod 的挂载卷:业务数据、数据库文件、证书私钥
  • 宿主机进程空间(配合 hostPID):逃逸出容器,拿到真正的 root shell

拿到节点身份后

云上的节点通常带着一个实例角色,可以通过 metadata 服务拿到临时云凭据。于是攻击路径变成:

容器 → 节点 → 云实例角色 → 对象存储 / 镜像仓库 / 其他云资源

防御视角

纵深防御:

  • 禁 hostPath
  • 节点用最小权限的实例角色 + 出网限制
  • Secret 里不放长期密钥、改用工作负载身份
  • registry 凭据按命名空间隔离、定期轮换
  • 审计 + 运行时检测

加固清单

准入与隔离

  • 命名空间打上 PSA 标签:pod-security.kubernetes.io/enforce=restricted
  • Kyverno/Gatekeeper 策略:禁 hostPath、禁 privileged、禁 hostPID/hostNetwork
  • 限制 Workflow/Job 的 serviceAccountName 白名单

身份与权限

  • cluster-admin 绑定逐个复核
  • 所有 SA 的 list/get/watch secrets 权限逐个复核
  • 不需要操作集群的 Pod 设 automountServiceAccountToken: false
  • 系统组件一组件一 SA,权限独立最小化

凭据

  • 清点所有长期 SA token Secret,能删的删
  • AK/SK 按命名空间隔离,禁止"一份密钥铺满全集群"
  • 镜像拉取凭据定期轮换,能用作工作负载身份的就不落 Secret
  • Helm release Secret 检查是否含明文口令

检测

  • API 审计日志开启,覆盖 secrets / pods / SSAR / workflows
  • 运行时检测(Falco)覆盖 token 文件读取、可疑 exec
  • 云侧:对象存储、镜像仓库的访问日志接入告警

平台

  • 所有内部平台 API 做完整鉴权 + 对象级授权
  • 平台的集群 SA 权限最小化(它是"混淆代理"的高危角色)
相关推荐
Yuzhiyuxia3 小时前
【AI Agent面试系列】AI Agent可观测、评测、安全相关的知识点
人工智能·安全·面试
mengge.cloud5 小时前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus
QXWZ_IA6 小时前
测绘单位采购RTK:设备价格、账号年费、售后,用时间轴分权重
网络·人工智能·安全
IT大白鼠8 小时前
GitLab 未认证 RCE 应急实战CVE-2026-97229(CVSS 10.0)
网络·安全·gitlab
进击的荆棘8 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
KCENN9 小时前
安全地毯压敏传感防护在工业流水线与机器人作业区的耐腐蚀材质及紧急停机机制
安全
北城笑笑9 小时前
Vue 109 ,从零搭建 Vue3 + Electron 工程:生态、安全桥接与打包选型( Vue + Electron )
前端·javascript·vue.js·安全·electron·vue
xbzb9 小时前
从零容器化部署 ECShop:Harbor 私有仓库 + 自定义 PHP 镜像 + LNMP 三容器
容器·php·harbor·镜像·仓库·ecshop
那明眸似水9 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
腾飞开源10 小时前
03_Kubernetes 核心概念拆解:从 Spec/Status 收敛到工作负载控制器的设计逻辑
云原生·容器·kubernetes