1、揭秘 Kubernetes RBAC 安全:风险、挑战及防护李昌昊 韦伟字节跳动2024.08.24TONGDAOJan 2024-Orca 报告称,通过对暴露的 GKE 集群进行扫描,发现其中 1300 个集群存在错误配置的角色绑定,其中有 108 个集群允许攻击者使用任意 Google 账户接管集群。SYS:ALL在 OWASP Kubernetes Top 10安全风险中,RBAC 配置错误导致的“权限过多”问题排名第三,可能引发未授权访问和权限提升等问题。OWASP K8s Top 10April 2023-Aqua Sec 首次借助蜜罐捕获到利用 Kubernetes 的 RBAC
2、配置风险进行攻击的行为,黑客利用 RBAC 风险创建后门,部署挖矿程序,并试图横向移动到云平台。RBAC Buster目录CONTENT02040103K8s AuthN&AuthZBACKGROUND安全风险与挑战剖析RBAC SECURITY RISK AND CHALLENGES揭秘 RBAC 安全现状THE CURRENT STATE OF RBAC SECURITY纵深防御策略与实践DEFENSE-IN-DEPTH STRATEGIES AND PRACTICES01The introduction of K8s AuthN/AuthZK8s AuthN&AuthZKubernete
3、s 认证与授权体系API ServerKubernetes 认证与授权体系Kubelet Server认证 匿名认证 证书认证:通过 CA 证书对客户端身份进行认证 Webhook 认证:通过 TokenReview API 向 API Server 发起身份认证请求授权 AlwaysAllow 授权:任何通过认证(包括匿名用户)的用户都可以得到授权 Webhook 授权:通过 SubjectAccessReview API 向 API Server 发起权限校验请求Kubernetes 认证与授权体系Kubelet Server执行 kubectl exec 后都发生了什么?Kubernet
4、es 认证与授权体系Kubelet Server直接访问 Kubelet Server 有什么风险?Kubernetes RBAC 授权机制RBAC 是基于角色的访问控制,用于 Kubernetes 集群中资源的授权管理。关键概念包括:用户账户 UserAccount、服务账户 ServerAccount角色 Role、集群角色 ClusterRole、角色绑定 RoleBinding、集群角色绑定 ClusterRoleBindingDeny by Default 安全模型 02Unveiling the Current State of RBAC Security揭秘 RBAC 安全现状典
5、型攻击链路典型的 RBAC 攻击链路在云厂商、PaaS 平台、云原生应用、SaaS 产品中呈上升趋势轻则被用于后渗透入侵,重则给用户、产品引入安全漏洞给安全防护工作带来了新的挑战Kubernetes 中的敏感权限Manipulate AuthN/ZAcquire TokensRCESteal PodsMitMimpersonatelist secretscreate pods/execmodify nodescontrol endpointslicesescalatecreate secretsupdate pods/ephemeral-containersmodify nodes/statu
6、smodify endpointsbindcreate serviceaccounts/tokencreate nodes/proxycreate pods/evictionmodify services/statusapprove signerscreate podscontrol podsdelete podsmodify services/statusupdate certificatesignin-grequests/approvalcontrol pod controllerscontrol pod controllersdelete nodesmodify podscontrol