mcpField
K
kubernetes-hardening

kubernetes-hardening

github.com/bagelhole安全1.2k368 次安装23 周前更新
代码仓库

关于 kubernetes-hardening

kubernetes-hardening 是面向 Kubernetes 集群和工作负载安全加固的技能,适用于负责集群安全的团队。内容涵盖 Pod 安全、网络策略和 RBAC 配置等实践。

主要功能

  1. 01配置 Pod Security Standards
  2. 02设置安全上下文
  3. 03配置网络策略
  4. 04实施最小权限 RBAC
  5. 05集群加固实践

适用场景

  1. 01为生产命名空间启用受限策略
  2. 02限制 Pod 网络流量
  3. 03为应用配置最小权限角色

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bagelhole/devops-security-agent-skills --skill kubernetes-hardening

安装后在 Claude Code 中输入/kubernetes-hardening确认已加载。

详细介绍

Kubernetes 加固

保护 Kubernetes 集群和工作负载。

何时使用此技能

在以下情况下使用此技能:

  • 加固 Kubernetes 集群
  • 实施 Pod 安全标准
  • 配置网络策略
  • 满足安全合规要求

Pod 安全标准

# Namespace with restricted policy
apiVersion: v1
kind: Namespace
metadata:
  name: production
  labels:
    pod-security.kubernetes.io/enforce: restricted
    pod-security.kubernetes.io/audit: restricted
    pod-security.kubernetes.io/warn: restricted

安全上下文

apiVersion: v1
kind: Pod
metadata:
  name: secure-pod
spec:
  securityContext:
    runAsNonRoot: true
    runAsUser: 1000
    runAsGroup: 1000
    fsGroup: 1000
    seccompProfile:
      type: RuntimeDefault
  containers:
  - name: app
    image: myapp:latest
    securityContext:
      allowPrivilegeEscalation: false
      readOnlyRootFilesystem: true
      capabilities:
        drop: ["ALL"]

网络策略

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny-all
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-web
spec:
  podSelector:
    matchLabels:
      app: web
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend
    ports:
    - port: 8080

RBAC

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: app-reader
rules:
- apiGroups: [""]
  resources: ["pods", "services"]
  verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: app-reader-binding
subjects:
- kind: ServiceAccount
  name: myapp
roleRef:
  kind: Role
  name: app-reader
  apiGroup: rbac.authorization.k8s.io

最佳实践

  • 启用 Pod 安全标准
  • 实施网络策略
  • 遵循最小权限原则使用 RBAC
  • 启用审计日志
  • 使用加密保护 etcd
  • 使用服务网格实现 mTLS
  • 定期进行安全扫描

相关技能

评论

支持 Markdown