Ubuntu Kubernetes 安全如何保障
导读:Ubuntu 上 Kubernetes 安全的分层加固方案 一 基础系统与节点加固 保持系统与组件及时更新,最小化安装,关闭不必要的内核模块与服务,减少攻击面。 配置时间同步(如 NTP),避免因时间漂移导致证书校验、审计与调度异常。 在...
Ubuntu 上 Kubernetes 安全的分层加固方案
一 基础系统与节点加固
- 保持系统与组件及时更新,最小化安装,关闭不必要的内核模块与服务,减少攻击面。
- 配置时间同步(如 NTP),避免因时间漂移导致证书校验、审计与调度异常。
- 在 Ubuntu 上禁用 Swap(Kubernetes 要求),并调整内核网络参数以满足容器网络与转发需求:
- net.bridge.bridge-nf-call-ip6tables = 1
- net.bridge.bridge-nf-call-iptables = 1
- net.ipv4.ip_forward = 1
- 选择并锁定容器运行时(如 containerd),使用系统服务管理,限制容器特权与能力。
- 对 SSH 等管理通道实施源地址限制与密钥登录,禁用密码登录与不必要的端口。
以上措施为后续 kube-apiserver、kubelet、网络策略等安全能力提供稳固的底层基础。
二 传输加密与 API 访问控制
- 全链路启用TLS:确保 API Server、etcd、kubelet、kube-proxy 等组件间通信均使用证书加密,杜绝明文通道。
- 使用 kubeadm 初始化集群时,证书由工具自动生成与管理;上线后定期检查与轮换证书,避免长期有效凭据被滥用。
- 禁用不安全入口:确保 kube-apiserver 的insecure-port=8080与insecure-bind-address=0.0.0.0未被启用,所有管理流量走 6443 的 secure port。
- 对外暴露最小化:API Server 仅对管理网段/跳板机开放 6443;NodePort 默认端口段 30000–32767 仅在必要时开放且限制来源。
- 身份与授权:启用 RBAC,遵循最小权限原则;按需集成 OIDC 等外部身份源,集中审计与统一身份治理。
这些措施覆盖认证、授权与传输加密的关键环节,显著降低凭证泄露与横向移动风险。
三 网络与 Pod 运行时安全
- 部署 CNI 网络策略插件(如 Calico/Cilium),优先采用“默认拒绝(Default Deny)”基线,再按业务显式放行必要流量。
- 典型策略范式:
- 全局默认拒绝入/出站,保障命名空间与 Pod 间隔离;
- 为 kube-dns 放通 TCP/UDP 53,保障服务发现;
- 按应用划分东西向通信白名单,缩小攻击面。
- 运行时安全:
- 采用 Pod Security Admission(PSA) 替代已弃用的 PSP,为命名空间设置 restricted 级别,强制非 root、只读根文件系统、禁止特权与危险挂载;
- 结合 OPA/Gatekeeper 等准入控制,对镜像来源、资源配额、安全上下文进行策略化约束;
- 镜像安全:仅使用可信源与签名镜像,定期用 Trivy/Clair 扫描漏洞并修复。
以上策略从网络层到运行时层构建“零信任”访问与最小暴露面。
四 密钥与数据、审计与持续合规
- 敏感信息管理:使用 Secrets 管理密码、令牌、证书;结合 RBAC 控制访问;对 etcd 数据启用静态加密(EncryptionConfiguration),保护数据落盘安全。
- 审计与监控:启用 API Server 审计日志,记录关键操作(如 create/delete/patch);结合 Prometheus/Grafana 建立指标与异常告警,覆盖 API 异常调用、资源突增等。
- 备份与恢复:对 etcd 快照与PKI/证书定期备份,演练恢复流程,确保事件响应与业务连续性。
- 合规与自检:定期运行 kube-bench 对集群进行 CIS 基准检查,使用 kubesec 等工具对清单进行安全评估,形成整改闭环。
- 安全运营:建立安全 SOP、变更评审与最小权限审批流程,持续关注 Kubernetes 安全通告并及时修补。
五 快速检查清单与常用命令
- 节点与内核:
- 确认 Swap 已关闭:
sudo swapon --show应为空; - 检查内核参数:
sysctl -p | egrep 'bridge-nf-call|ip_forward'。
- 确认 Swap 已关闭:
- 防火墙与端口:
- UFW 状态:
sudo ufw status numbered;仅开放 22/6443/10250/2379-2380/53 等必要端口,来源限制到管理网段; - 如不使用 NodePort,建议限制或关闭 30000–32767 段。
- UFW 状态:
- API 与证书:
- 访问检查:
kubectl cluster-info(应为 HTTPS/6443); - 证书有效期:
sudo kubeadm certs check-expiration;必要时sudo kubeadm certs renew all并重启控制面组件。
- 访问检查:
- 网络策略:
- 组件就绪:
kubectl get pods -n calico-system; - 验证隔离:跨命名空间 Pod 互访应被策略阻断。
- 组件就绪:
- 审计与镜像:
- 审计日志路径:/var/log/kubernetes/audit.log(按策略落盘与轮转);
- 镜像扫描:
trivy image < image>,修复 HIGH/CRITICAL 漏洞后再上线。
以上命令覆盖加固后的关键验证点,便于快速确认配置是否生效。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Kubernetes 安全如何保障
本文地址: https://pptw.com/jishu/766724.html
