温馨提示×

CentOS上Kubernetes安装的安全注意事项

小樊
45
2025-12-23 16:44:32
栏目: 智能运维

CentOS 上 Kubernetes 安装的安全注意事项

一 系统加固与基础配置

  • 保持 SELinux 为 enforcing,仅对必须的系统调用做例外(如使用容器运行时或 CNI 提供的策略模块),避免直接 SELINUX=disabled;如必须临时放宽,应在变更窗口内恢复并复核策略。
  • 不建议直接关闭 firewalld;在生产环境应仅开放必要端口(如 6443、10250、10251、2379/2380、53/UDP+TCP 等),并按最小暴露面收敛来源网段。
  • 必须 禁用 Swap(kubelet 要求),并在重启后验证;同时开启 内核桥接与转发:加载 br_netfilter,设置 net.bridge.bridge-nf-call-iptables=1net.bridge.bridge-nf-call-ip6tables=1net.ipv4.ip_forward=1
  • 全节点启用 NTP/chrony 时间同步,避免因时间漂移导致证书校验、审计与调度异常。
  • 容器运行时建议使用 Containerd(Kubernetes v1.24+ 起内置不再直接兼容 Docker,若需 Docker 请使用 cri-dockerd 适配);安装后确保 cgroup driver 一致(常见为 systemd),并启用 SystemdCgroup=true

二 组件与网络的安全配置

  • 证书与凭据:使用 kubeadm 默认 PKI 体系,妥善保管 admin.conf/kubeconfig,避免分发到非受控主机;为外部访问设置 API Server 负载均衡/认证网关,并限制来源网段。
  • 端口最小化:仅开放 API Server(6443)kubelet(10250)Scheduler(10251)Controller Manager(10252)etcd(2379/2380)、以及 CoreDNS(53) 等必要端口;为 kubelet 只读端口 10255 设置访问控制或禁用,避免信息泄露。
  • 网络策略:部署 CNI 插件(如 Calico)后,立即创建 NetworkPolicy 实现默认拒绝(Default Deny),仅对白名单流量放通,减少横向移动风险。
  • 服务暴露:优先使用 ClusterIP/内部 Service;对外暴露尽量通过 Ingress Controller(配合 WAF/认证)或 LoadBalancer 的安全组 策略,避免将 NodePort 直接暴露公网。

三 身份与访问控制 RBAC

  • 坚持 最小权限原则:避免使用 cluster-admin;按命名空间创建 Role/RoleBinding,跨命名空间权限使用 ClusterRole/ClusterRoleBinding 并细化到具体资源与动词。
  • 管理 default ServiceAccount:不要为 default 绑定高权限;为工作负载创建 专用 ServiceAccount 并只授予所需权限。
  • 审慎挂载 Token:对不需要访问 API 的 Pod,设置 automountServiceAccountToken: false(可在 PodServiceAccount 级配置)。
  • 权限验证与审计:使用 kubectl auth can-i --list --as=system:serviceaccount:: 定期自检;启用 审计日志 记录敏感操作(如 Secret、RBAC 变更),并定期清理无效/过度绑定的 RoleBinding/ClusterRoleBinding

四 镜像与供应链安全

  • 使用 私有镜像仓库 并配置 镜像拉取密钥(imagePullSecrets);为生产镜像设置 可信源签名与镜像扫描,防止恶意镜像进入集群。
  • 若使用 Helm,为 Tiller(如仍在使用)或 Helm 客户端/CI 配置最小权限 RBAC,仅授予目标命名空间的必要资源操作权限,避免以高权限账户执行部署。

五 数据安全与高可用

  • etcd 安全:启用 TLS 认证与传输加密;将 etcd 数据目录 挂载在独立、加密的磁盘/分区;制定并演练 定期备份/恢复 流程(含离线快照与恢复验证)。
  • 高可用:多 Master 场景部署 etcd 集群API Server 负载均衡,对外暴露使用 VIP/HAProxy/Keepalived 等方案,避免单点故障与证书/配置漂移。
  • 变更与升级:采用 滚动升级 策略,先在测试环境验证 Kubernetes 版本 与组件兼容性;保留回滚方案与变更记录。

0