关于 kubernetes-security-policies
Kubernetes Security Policies 是关于 Kubernetes 集群安全策略实施的指导技能,面向负责集群加固、审计和合规的运维与安全团队。内容涵盖从 Pod 与网络策略到访问控制、密钥、镜像及运行时安全的实践流程。
主要功能
- 01配置 Pod Security Standards
- 02设计 Network Policies 网络隔离
- 03按最小权限配置 RBAC
- 04设置容器 Security Context
- 05部署准入控制策略
- 06管理密钥、镜像与运行时安全
适用场景
- 01加固生产 Kubernetes 集群
- 02审查并修复 RBAC 权限
- 03实施网络微隔离与准入策略
- 04开展 CIS 等合规评估
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nickcrew/ claude-cortex --skill kubernetes-security-policies安装后在 Claude Code 中输入/kubernetes-security-policies确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/admission-control.mdbest-practices.mdimage-security.mdnetwork-policies.mdpod-security-standards.mdrbac.mdsecrets-management.mdsecurity-contexts.md详细介绍
Kubernetes 安全策略
有关在 Kubernetes 集群中实施安全策略的全面指南,涵盖 Pod Security Standards、Network Policies、RBAC、安全上下文、准入控制、机密管理和运行时安全,助力构建生产级加固部署。
何时使用此技能
- 在各命名空间中实施 Pod Security Standards(PSS/PSA)
- 设计并实施 Network Policies,实现微隔离
- 配置 RBAC,以最小权限原则控制访问
- 设置安全上下文以加固容器
- 部署准入控制器(OPA/Gatekeeper、Kyverno)
- 安全地管理机密和敏感数据
- 实施镜像安全和漏洞扫描
- 实施运行时安全策略和威胁检测
- 满足合规要求(CIS、NIST、PCI-DSS、SOC2)
- 开展安全审计和加固评估
核心安全概念
Pod Security Standards(PSS): 通过 Pod Security Admission(PSA)实施的三个逐步加强的安全级别:
- 特权: 不受限制(默认)
- 基线: 防止已知的权限提升
- 受限: Pod 加固最佳实践(生产环境推荐)
Network Policies: 通过标签选择器和命名空间隔离控制 Pod 之间及 Pod 与外部之间流量的零信任微隔离。
RBAC(基于角色的访问控制): 遵循最小权限原则,通过 ServiceAccounts、Roles、RoleBindings 控制命名空间范围的权限,并通过 ClusterRoles 控制集群范围的访问。
安全上下文: 容器和 Pod 级别的安全设置,包括用户/组 ID、功能、seccomp 配置文件和文件系统限制。
准入控制: 在 API 准入时使用 OPA Gatekeeper(Rego)或 Kyverno(YAML)实施策略,以验证、修改或拒绝资源。
机密管理: 集成外部机密存储(Vault、AWS Secrets Manager、Sealed Secrets),而非使用 Kubernetes 原生机密。
镜像安全: 漏洞扫描、签名验证、基于摘要的不可变性,以及私有注册表身份验证。
快速参考
| 任务 | 加载参考资料 |
|---|---|
| Pod Security Standards(PSS/PSA) | skills/kubernetes-security-policies/references/pod-security-standards.md |
| Network Policies | skills/kubernetes-security-policies/references/network-policies.md |
| RBAC(Roles、ServiceAccounts) | skills/kubernetes-security-policies/references/rbac.md |
| 安全上下文(功能、seccomp) | skills/kubernetes-security-policies/references/security-contexts.md |
| 准入控制(OPA、Kyverno) | skills/kubernetes-security-policies/references/admission-control.md |
| 机密管理(Vault、ESO) | skills/kubernetes-security-policies/references/secrets-management.md |
| 镜像安全(扫描、签名) | skills/kubernetes-security-policies/references/image-security.md |
| 最佳实践与合规 | skills/kubernetes-security-policies/references/best-practices.md |
安全实施工作流
阶段 1:基线评估
- 使用 kube-bench 或 kubescape 审计当前安全态势
- 识别与 CIS Kubernetes Benchmark 的差距
- 记录合规要求(PCI-DSS、NIST、SOC2)
阶段 2:Pod Security Standards
- 在所有命名空间中启用 PSA 审计模式
- 使用
kubectl get pods -A --show-labels识别违规项 - 修正工作负载,使其符合基线/受限标准
- 逐步实施:dev(警告)→ staging(基线)→ prod(受限)
阶段 3:网络分段
- 在所有命名空间中部署默认拒绝的 NetworkPolicy
- 为必要的流量创建明确的允许规则
- 实施数据库隔离策略
- 添加监控/可观测性例外规则
阶段 4:访问控制(RBAC)
- 使用
kubectl auth can-i --list审核现有 RBAC - 为每个应用创建专用 ServiceAccount
- 定义遵循最小权限原则的 Role,并明确限制资源和操作动词
- 默认禁用
automountServiceAccountToken - 尽量减少 ClusterRole 的使用
阶段 5:准入控制
- 选择策略引擎:OPA Gatekeeper(Rego)或 Kyverno(YAML)
- 实施验证策略:要求设置标签、资源限制,并以非 root 用户运行
- 添加变更策略:注入安全上下文和 sidecar 容器
- 强制执行镜像策略:禁止使用 latest 标签,要求提供签名
阶段 6:密钥管理
- 部署 External Secrets Operator 或 Vault 集成
- 将原生 Secrets 迁移到外部密钥存储
- 启用 etcd 静态数据加密
- 实施密钥轮换策略
阶段 7:镜像安全
- 在 CI/CD 中集成漏洞扫描(Trivy、Snyk)
- 使用 Sigstore/Cosign 实施镜像签名
- 通过准入控制强制验证签名
- 使用不可变的镜像摘要,而非标签
阶段 8:运行时安全
- 部署 Falco 以检测运行时威胁
- 启用 Kubernetes 审计日志
- 针对安全事件配置告警
- 实施入侵检测策略
常见错误
Pod 安全:
- 以 root 身份运行容器(始终设置
runAsNonRoot: true) - 使用特权容器(除非绝对必要,否则应避免)
- 根文件系统可写(设置
readOnlyRootFilesystem: true) - 未设置资源限制(受限 PSS 要求设置资源限制)
网络策略:
- 未设置默认拒绝策略(Pod 间流量不受限制)
- 出站规则过于宽松(允许所有外部流量)
- 忘记设置 DNS 出站规则(Pod 无法解析名称)
- 未设置监控/可观测性例外规则
RBAC:
- ClusterRole 权限过于宽泛(违反最小权限原则)
- 多个应用共用 ServiceAccount
- 在 Role 中使用
*动词或资源 - 未定期审计 RBAC 权限
密钥:
- 将密钥提交到 Git 仓库
- 使用环境变量,而非挂载文件
- 将 Base64 编码当作加密
- 未设置密钥轮换策略
准入控制:
- 未先经过审计阶段就强制执行策略
- 意外阻止 kube-system 命名空间
- 未在预发布环境中测试策略
- 未为系统组件设置豁免
镜像:
- 使用
latest标签(不可变性缺失,会破坏可复现性) - CI/CD 中未进行漏洞扫描
- 在生产环境中使用未签名镜像
- 基础镜像过大(使用 distroless 或 Alpine)
资源
- Pod 安全标准: https://kubernetes.io/docs/concepts/security/pod-security-standards/
- 网络策略: https://kubernetes.io/docs/concepts/services-networking/network-policies/
- RBAC: https://kubernetes.io/docs/reference/access-authn-authz/rbac/
- OPA Gatekeeper: https://open-policy-agent.github.io/gatekeeper/
- Kyverno: https://kyverno.io/docs/
- External Secrets Operator: https://external-secrets.io/
- Falco 运行时安全: https://falco.org/docs/
- CIS 基准: https://www.cisecurity.org/benchmark/kubernetes
- NSA/CISA 加固指南: https://media.defense.gov/2022/Aug/29/2003066362/-1/-1/0/CTR_KUBERNETES_HARDENING_GUIDANCE_1.2_20220829.PDF