文章背景图

CKS 备考路线:六大安全域、实操重点与练习方法

2026-07-25
7
-
- 分钟

CKS(Certified Kubernetes Security Specialist)是一门以命令行实操为主的安全认证。它不是背题考试,而是要求考生在有限时间内完成集群加固、供应链安全、工作负载防护、审计和事件响应等任务。报考前需要先通过并持有有效的 CKA。

本文按当前常见的六大能力域整理学习路线。考试版本和规则会更新,预约前务必再次查看 Linux Foundation 官方页面和 Candidate Handbook。

## 1. Cluster Setup:集群安全基础

重点能力:

- 使用 NetworkPolicy 控制命名空间内外通信。

- 保护 Ingress、API Server 和节点端口。

- 使用 CIS Benchmark 与 kube-bench 识别配置问题。

- 正确配置 TLS、证书和安全的集群通信。

练习时不要只写一个 allow 规则。建议从 default deny 开始,分别实现同命名空间、指定标签、指定命名空间和 DNS 放行,并用临时 Pod 验证连通性。

## 2. Cluster Hardening:控制面与权限加固

重点能力:

- RBAC 最小权限。

- ServiceAccount 与 token 管理。

- 限制 API Server、kubelet 和管理接口。

- 升级与修复存在风险的组件版本。

高频操作包括:创建 Role/RoleBinding、用 kubectl auth can-i 验证权限、关闭不必要的 token 自动挂载、识别过度授权的 ClusterRoleBinding。

## 3. System Hardening:节点与操作系统

需要理解:

- 减少主机上的服务、软件包和开放端口。

- Linux 用户、sudo、文件权限与进程检查。

- seccomp、AppArmor 等内核安全机制。

- 节点隔离、日志与补丁流程。

练习不要只停留在 kubectl。要熟悉 systemctl、journalctl、进程、端口、文件权限和服务配置的检查方法,同时避免无依据地停止系统关键服务。

## 4. Minimize Microservice Vulnerabilities

这是工作负载安全的核心:

- SecurityContext:runAsNonRoot、allowPrivilegeEscalation、capabilities、readOnlyRootFilesystem。

- Pod Security Standards 与 Pod Security Admission。

- Secret 的最小权限与静态加密。

- RuntimeClass 和安全沙箱。

- mTLS 或服务间身份机制的基本理解。

建议反复练习把一个不安全 Pod 改造成满足 Restricted 基线的配置,并能从 Events 中定位被拒绝的原因。

## 5. Supply Chain Security

供应链题关注镜像从构建到部署的全过程:

- 使用最小化基础镜像,减少软件包和攻击面。

- 固定版本或镜像摘要,不依赖 latest。

- 扫描镜像漏洞并判断修复优先级。

- 控制镜像仓库、构建凭证和部署来源。

- 验证镜像签名与完整性,限制未批准镜像进入集群。

- 保护 CI/CD 中的 token 和 kubeconfig。

练习时要能查看 Dockerfile、镜像配置和 Pod 清单,识别 root 用户、敏感文件进入镜像、危险 capabilities 和不可信仓库。

## 6. Monitoring, Logging and Runtime Security

重点包括:

- 配置和分析 Kubernetes Audit Policy。

- 观察容器进程、文件、网络和系统调用。

- 发现异常行为并采取隔离措施。

- 使用日志还原谁在何时修改了什么。

- 处理被入侵的 Pod 或节点并轮换凭证。

要能在大量日志中筛选 user、verb、resource、namespace、responseStatus 等字段,并理解 Metadata、Request、RequestResponse 的差异。

## 7. 建议的四阶段学习计划

### 第一阶段:补齐 CKA 基础

熟练掌握 Pod、Deployment、DaemonSet、Service、Ingress、DNS、存储、调度、升级和故障排查。CKS 不是从零教授 Kubernetes。

### 第二阶段:逐域做实验

每个安全域至少做 5~10 个可重复实验。每次包含“制造不安全配置—发现问题—修复—验证—回滚”完整闭环。

### 第三阶段:限时综合练习

在隔离实验集群中进行 15~20 分钟的小题训练,逐步组合成两小时模拟。记录每题的用时和失误原因。

### 第四阶段:考试环境习惯

- 先确认当前 context 和节点。

- 修改前备份文件或 YAML。

- 使用官方文档快速查字段。

- 每完成一题立即验证,不要等到最后。

- 对高权重、确定性强的任务优先完成。

## 8. 必须熟练的验证动作

```bash

kubectl auth can-i --list --as=system:serviceaccount:demo:app -n demo

kubectl get networkpolicy -A

kubectl get pod -o yaml

kubectl describe pod POD_NAME

kubectl get events --sort-by=.lastTimestamp

kubectl logs POD_NAME

journalctl -u kubelet

```

命令只是入口,关键是判断输出是否证明任务完成。例如 NetworkPolicy 创建成功并不代表流量真的被限制,必须从允许和禁止两侧分别测试。

## 9. 常见失分原因

- 未切换到题目指定的 context。

- 只修改文件,没有应用或重启对应组件。

- YAML 缩进或字段层级错误。

- 做了配置却没有验证。

- 过度加固导致系统组件或业务不可用。

- 把真实 token、证书私钥或密码留在终端记录中。

- 记住旧版题型,却忽略当前考试版本和官方规则。

## 10. 最后的准备清单

考前确保能够独立完成:RBAC 最小权限、NetworkPolicy、Pod Security、SecurityContext、seccomp、Audit Policy、镜像检查、节点服务与权限检查、异常 Pod 隔离和凭证轮换。所有练习都应在自己的实验环境完成,不要把高权限扫描或破坏性命令直接用于生产集群。

## 参考资料

- https://training.linuxfoundation.org/certification/certified-kubernetes-security-specialist/

- https://kubernetes.io/docs/concepts/security/

- https://kubernetes.io/docs/tasks/debug/debug-cluster/audit/

原创

CKS 备考路线:六大安全域、实操重点与练习方法

本文链接: CKS 备考路线:六大安全域、实操重点与练习方法

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

评论交流

文章目录