Kubernetes 集群安全从哪里入手:权限、网络与工作负载隔离
从控制面、RBAC、镜像、网络策略和运行时防护出发,给出 Kubernetes 生产集群的分层加固路径。
先缩小控制面的攻击面
集群 API 不应直接暴露给所有网络,管理入口使用受控网络、强认证和完整审计。禁用匿名访问和长期管理员凭证,将人工管理与工作负载身份分离。托管集群也需要关注版本支持周期、审计日志和云账号权限,不能把控制面安全完全交给平台。
RBAC 从服务账号开始治理
默认服务账号不应自动挂载令牌,每个工作负载使用独立身份。避免通配资源和动词,尤其警惕创建 Pod、读取 Secret、模拟用户和修改角色绑定等可升级权限。定期分析实际调用,回收长期未使用授权。紧急管理员权限采用短期审批,不分发永久集群管理员配置。
工作负载默认以低权限运行
容器使用非 root 用户、只读根文件系统,删除不必要的 Linux 能力并禁止特权模式。限制主机路径、主机网络和高风险设备挂载。镜像固定摘要、扫描漏洞并验证签名,不能使用漂移的 latest 标签。敏感配置通过密钥服务注入,避免写进镜像或普通环境变量。
网络策略阻止横向移动
默认拒绝命名空间间和工作负载间通信,再按真实依赖放行。出口同样需要控制,防止受入侵容器连接任意外部地址或云元数据服务。服务网格可以提供身份和加密,但不能替代基础网络策略。DNS、监控和控制面通信要显式纳入允许清单。
运行时检测与响应
监控异常进程、敏感文件访问、交互式终端和异常网络连接,并关联镜像、命名空间与部署来源。发现问题时隔离工作负载、保存证据并轮换相关凭证,而不是只重启 Pod。集群安全是从部署前策略到运行时响应的连续控制体系。
文章回复
0 条公开回复