温馨提示×

centos k8s部署中安全措施有哪些

小樊
33
2025-12-31 11:28:36
栏目: 智能运维

CentOS 上部署 Kubernetes 的安全措施清单

一 系统与主机加固

  • 保持系统基线安全:及时执行 yum 更新与内核升级,修补高危漏洞;仅启用必需服务,禁用不必要的网络服务与自启项。
  • 强化账户与权限:禁用不必要的 root 等效账户,删除无用账户;设置复杂度合规的口令策略,限制 su 使用范围;对关键文件(如 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow)设置不可更改属性。
  • 启用审计与日志:开启 rsyslog,使用 auditd 记录关键文件与命令访问,便于取证与合规。
  • 时间同步:配置 NTP 保证节点间时间一致,避免证书校验与审计时序错乱。
  • 防火墙精细化:使用 firewalld/iptables 仅放行控制面与工作负载所需端口,避免“全开”。
  • 内核与网络参数:按需启用并持久化 br_netfilter,设置 net.bridge.bridge-nf-call-iptables=1net.bridge.bridge-nf-call-ip6tables=1,确保桥接流量进入 iptables 规则链。
  • 关于 SELinux 与 Swap:生产环境建议保持 SELinux 为 enforcing 并通过策略放行所需路径/进程,避免直接 disabled;Kubernetes 要求关闭 Swap(如临时关闭后务必在 /etc/fstab 中注释对应条目,防止重启恢复)。

二 集群身份与访问控制

  • 组件通信与 API 安全:为 kube-apiserver、kubelet、etcd 等组件启用 TLS/mTLS;对外最小化暴露 API Server,使用 认证(客户端证书、bootstrap token、OIDC、Webhook 等)与 RBAC 细粒度授权,遵循最小权限原则。
  • Secrets 与凭据治理:使用 Kubernetes Secrets 管理敏感信息,避免明文;结合镜像仓库凭据 Secret 与 imagePullSecrets;定期轮换密钥/证书。
  • ServiceAccount 最小权限:为 Pod 绑定最小化的 ServiceAccount,通过 Role/ClusterRoleRoleBinding/ClusterRoleBinding 控制 API 访问范围。
  • 准入控制与策略:启用 准入控制插件(如 PodSecurity 准入);在 v1.21 之前可用 PodSecurityPolicy,在新版本使用内置的 Pod Security Standards(restricted 为基线)。

三 容器与镜像安全

  • 镜像供应链安全:优先使用 私有镜像仓库,启用镜像签名与 镜像扫描(如 Trivy、Clair 等),及时修复高危 CVE。
  • 运行时权限最小化:在 Pod/Container SecurityContext 中设置 runAsNonRootrunAsUser/runAsGroupreadOnlyRootFilesystemallowPrivilegeEscalation=falsecapabilities.drop 不必要的 Linux 能力,禁用特权容器。
  • 资源与故障隔离:为容器设置 requests/limits(CPU/内存),配置 PodDisruptionBudget拓扑分散约束,降低资源耗尽与级联故障风险。
  • 网络最小暴露:仅暴露必要端口与协议,使用 Ingress Controller 集中暴露 HTTP/HTTPS,对外最小化。

四 网络与数据面安全

  • 网络微分段:使用 NetworkPolicy 实现 L3/L4 微分段,按 标签/Pod/命名空间定义 Ingress/Egress 规则;建议采用“默认拒绝(default-deny)”策略,仅对白名单流量显式放行。
  • 跨命名空间与出口控制:限制 dev 访问 prod;对数据库、支付等敏感后端仅允许来自特定前端/中间件的流量;必要时使用 IPBlock 限制出站网段。
  • 服务网格与 L7 策略:在需要更细粒度控制时,采用 Cilium 等服务网格/网络方案,实现 **L7(HTTP 方法/路径/头部)**策略与 FQDN 出口限制。
  • 数据面加密:为 Pod 间/服务间通信启用 mTLS;对 etcd 数据配置 静态加密(EncryptionConfiguration)。

五 运维监控与持续合规

  • 日志、审计与监控:启用 审计日志 记录 API 关键操作,结合 Prometheus/Grafana 与告警规则进行实时监控与异常检测;对网络策略命中与拒绝流量进行可观测性分析。
  • 合规与安全基线:定期运行 kube-bench 检查控制面/节点安全基线,结合漏洞扫描与配置基线审计形成闭环。
  • 变更与版本管理:制定 变更流程与回滚预案,保持 Kubernetes 组件与节点及时更新,修复已知漏洞;定期复盘最小权限、网络策略与密钥轮换执行情况。

0