Ubuntu上Kubernetes安全策略有哪些
导读:Ubuntu 上可用的 Kubernetes 安全策略全景 在 Ubuntu 节点上,Kubernetes 的安全策略通常覆盖系统层、控制面与节点通信、网络层、准入控制、身份与授权、审计与密钥等多个维度,形成多层纵深防御。 一 策略分类与关...
Ubuntu 上可用的 Kubernetes 安全策略全景
在 Ubuntu 节点上,Kubernetes 的安全策略通常覆盖系统层、控制面与节点通信、网络层、准入控制、身份与授权、审计与密钥等多个维度,形成多层纵深防御。
一 策略分类与关键措施
| 策略类别 | 关键措施 | 在 Ubuntu 上的要点 |
|---|---|---|
| 系统与主机加固 | 禁用 Swap、内核网络参数、最小服务暴露 | 关闭 Swap;设置 net.bridge.bridge-nf-call-iptables=1、net.ipv4.ip_forward=1;仅开启必要服务与端口 |
| 防火墙与端口管控 | 主机防火墙、边界访问控制 | 使用 UFW 或 nftables 限制入站;仅放通 22/6443/10250/2379-2380/53 等必要端口;NodePort 范围 30000-32767 按需开放 |
| 加密与证书管理 | TLS 全链路、证书有效期与轮换 | 启用 TLS;定期执行 kubeadm certs check-expiration / renew all;为 API Server 设置 SAN |
| 网络策略 NetworkPolicy | 命名空间与 Pod 间白名单 | 部署 Calico/Cilium;以白名单模式限制 Ingress/Egress;可按命名空间设置默认拒绝 |
| 准入控制与 Pod 安全 | 准入 Webhook、Pod 安全基线 | 使用 OPA Gatekeeper 实施策略即代码;以 Pod Security Admission(替代 PSP)约束特权、根用户、卷挂载等 |
| 身份与授权 RBAC | 最小权限、职责分离 | 使用 Role/ClusterRole + RoleBinding/ClusterRoleBinding 精细化授权;定期审计 |
| 审计与监控告警 | API 审计、指标与日志 | 启用 API Server 审计日志;部署 Prometheus/Grafana 设置异常调用与资源异常告警 |
| 镜像与供应链安全 | 可信镜像、镜像扫描 | 使用私有仓库(Harbor/Quay);定期用 Trivy/Clair 扫描镜像漏洞 |
| 数据与密钥管理 | Secret 管理、数据面加密 | 使用 Secret 存储凭据;对 etcd 与持久卷按需启用加密;定期备份关键数据 |
| 平台与组件配置 | 安全启动、组件加固 | 启用 Secure Boot;禁用 kubelet 只读端口 10255;为 kubeconfig 设置最小权限与凭据轮换 |
二 关键策略实施要点
-
主机与防火墙
- 禁用 Swap:编辑 /etc/fstab 注释 swap 行并执行 swapoff -a;内核网络参数写入 /etc/sysctl.d/kubernetes.conf 并执行 sysctl -p。
- UFW 示例:仅允许管理网段访问 22/TCP,API Server 仅内网访问 6443/TCP,etcd 仅主节点互通 2379-2380/TCP,Kubelet 10250/TCP,DNS 53/TCP/UDP;按需限制 NodePort 30000-32767 的来源。完成后用 ufw status numbered 与 nc -zv 验证。
-
加密、证书与 API 审计
- 初始化集群时启用 TLS;为 API Server 证书添加 SAN(–apiserver-cert-extra-sans)以覆盖外网域名/IP。
- 证书生命周期:kubeadm certs check-expiration 检查;kubeadm certs renew all 续期;重启 kubelet 与相关控制面 Pod 生效。
- 审计策略示例:/etc/kubernetes/audit/audit-policy.yaml 定义规则;在 kube-apiserver 启动参数中加入 --audit-policy-file、–audit-log-path、–audit-log-maxsize、–audit-log-maxbackup、–audit-log-maxage;审计日志位于 /var/log/kubernetes/audit.log。
-
网络策略与 CNI
- 部署 Calico/Cilium 启用 NetworkPolicy;以白名单模式控制 Pod 间与命名空间间通信。
- 默认拒绝示例:对 default 命名空间设置 podSelector: { } 且 policyTypes 为 Ingress/Egress,ingress/egress 为空列表,再按需添加允许规则(可按 IPBlock、namespaceSelector、podSelector 组合)。
-
准入控制与 Pod 安全
- 使用 OPA Gatekeeper 通过准入 Webhook 实施组织级策略(如镜像来源、资源配额、标签规范等),实现“策略即代码”。
- 由于 PSP 已在 v1.25 被弃用,推荐使用 Pod Security Admission(PSA)在 v1.23+ 强制 Pod 安全基线(restricted 模式),或通过 Gatekeeper 实现更细粒度约束。
-
身份与授权、镜像与供应链
- RBAC 按最小权限分配:为团队/系统拆分 Role/ClusterRole,使用 RoleBinding/ClusterRoleBinding 绑定;定期审计绑定与权限蔓延。
- 镜像治理:仅从可信源拉取;使用 Harbor/Quay 托管私有镜像;定期用 Trivy/Clair 扫描并修复漏洞。
三 快速落地清单
- 节点与边界:关闭 Swap;设置内核网络参数;用 UFW 仅开放 22/6443/10250/2379-2380/53;限制 NodePort 来源;验证规则生效。
- 控制面与证书:启用 TLS 与 SAN;执行证书到期检查与定期轮换;重启相关组件使证书生效。
- 网络:安装 Calico/Cilium;按“默认拒绝 + 显式允许”配置 NetworkPolicy;跨命名空间与跨 Pod 通信按需放行。
- 准入与 Pod 安全:部署 OPA Gatekeeper 实施策略;启用 PSA restricted 模式或等效约束,禁止特权容器、根用户、危险挂载。
- 审计与监控:启用 API Server 审计日志并集中分析;部署 Prometheus/Grafana 设置异常 API 调用与资源异常告警。
- 镜像与密钥:使用私有仓库与镜像扫描;Secret 管理凭据;对 etcd/PV 按需加密;定期备份关键数据与证书。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu上Kubernetes安全策略有哪些
本文地址: https://pptw.com/jishu/757926.html
