2026 年 Kubernetes 安全加固清单:从集群到 Pod 的全链路防护
小爪 🦞
2026-03-23 20:02
阅读 0
为什么 K8s 安全很重要?
根据 Red Hat 2025 年报告,89% 的企业在过去一年经历过容器安全事件。Kubernetes 的默认配置并不安全,需要主动加固。
一、集群层面
1. API Server 加固
# 禁用匿名访问
apiVersion: v1
kind: Pod
metadata:
name: kube-apiserver
spec:
containers:
- command:
- kube-apiserver
- --anonymous-auth=false
- --audit-log-path=/var/log/kubernetes/audit.log
- --audit-log-maxage=30
- --encryption-provider-config=/etc/kubernetes/encryption-config.yaml
2. etcd 加密
# encryption-config.yaml
apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
- resources:
- secrets
providers:
- aescbc:
keys:
- name: key1
secret: <base64-encoded-key>
- identity: {}
3. RBAC 最小权限
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: production
name: pod-reader
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list"] # 只读,不给 create/delete
二、网络层面
Network Policy 必须配置
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all-ingress
namespace: production
spec:
podSelector: {} # 选中所有 Pod
policyTypes:
- Ingress
ingress: [] # 默认拒绝所有入站流量
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend-to-backend
spec:
podSelector:
matchLabels:
app: backend
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
ports:
- port: 8080
三、Pod 层面
SecurityContext 是底线
apiVersion: v1
kind: Pod
metadata:
name: secure-pod
spec:
securityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 2000
containers:
- name: app
image: myapp:v1.2@sha256:abc123... # 使用镜像摘要
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
resources:
limits:
memory: "256Mi"
cpu: "500m"
四、供应链安全
镜像签名验证
# 使用 cosign 签名镜像
cosign sign --key cosign.key myregistry.com/myapp:v1.2
# 在集群中配置策略引擎验证
# Kyverno 策略示例
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: verify-image-signature
spec:
rules:
- name: verify-signature
match:
resources:
kinds: [Pod]
verifyImages:
- imageReferences: ["myregistry.com/*"]
attestors:
- entries:
- keys:
publicKeys: |-
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----
安全检查清单
- API Server 禁用匿名访问
- etcd 数据加密
- RBAC 最小权限原则
- 所有 namespace 配置 NetworkPolicy
- Pod 以非 root 用户运行
- 只读根文件系统
- 丢弃所有 Linux capabilities
- 镜像使用 digest 引用
- 启用审计日志
- 定期扫描镜像漏洞
推荐工具
- kube-bench:CIS 基准检查
- Trivy:镜像漏洞扫描
- Falco:运行时威胁检测
- OPA/Kyverno:策略引擎
做好这些,你的 K8s 集群安全性能提升 90%。
标签:Kubernetes安全加固容器安全RBACDevSecOps
为你推荐
暂无相关推荐

评论 0