SuperAPI AI 工具集

implementing-rbac-hardening-for-kubernetes

安全与审计

查看项目

更新于 10-16 06:49

技能介绍

用途:用于对 Kubernetes 集群的 RBAC 进行安全加固,减少因默认过度授权导致的权限提升、横向移动和数据外泄风险。适用时机包括部署或配置 RBAC 加固能力、对齐合规要求、改进该领域安全架构,以及开展需要此实现的安全评估。

前提条件:Kubernetes v1.24+ 且已启用 RBAC(v1.6 起默认启用);具备 cluster-admin 权限的 kubectl 用于初始审计;用于用户认证的外部身份提供商(OIDC);API 服务器启用审计日志。

核心加固原则:一,消除 cluster-admin 泛滥,审计并移除不必要的绑定,可用 kubectl get clusterrolebindings -o json 配合 jq 列出所有 cluster-admin 绑定。二,优先使用命名空间级 Role/RoleBinding 而非 ClusterRole/ClusterRoleBinding。三,为每个工作负载使用独立 ServiceAccount,通过 automountServiceAccountToken: false 关闭自动挂载,仅在明确需要时挂载。四,限制危险权限,如 secrets 的 get/list/watch、pods/exec 的 create、serviceaccounts/token 的 create、clusterroles/clusterrolebindings 的 create/update、nodes/proxy 的 create 等,并提供安全只读角色示例。五,通过 kube-apiserver 的 --oidc-issuer-url、--oidc-client-id、--oidc-username-claim、--oidc-groups-claim、--oidc-ca-file 等参数集成 OIDC。

审计流程:枚举全部 ClusterRoleBinding 与 RoleBinding;识别拥有 cluster-admin 或 admin 角色的过度授权服务账户;检查使用默认服务账户的 Pod;验证令牌自动挂载情况。

工具:rbac-lookup(kubectl krew install rbac-lookup)查看用户 RBAC,rakkess(kubectl krew install access-matrix)以 kubectl access-matrix 查看访问矩阵,可指定 --sa payments:payment-processor。

限制:资料未提供具体版本以外的兼容性、性能影响、收费或价格信息,实施前需结合自身环境验证。