1. 系统基础安全加固
ntpdate)同步系统时间,避免因时间偏差导致的认证失效。/etc/fstab注释Swap行并执行swapoff --all,防止容器过度占用内存导致系统不稳定。/etc/sysctl.d/kubernetes.conf,启用桥接网络过滤(net.bridge.bridge-nf-call-ip6tables = 1、net.bridge.bridge-nf-call-iptables = 1)和IP转发(net.ipv4.ip_forward = 1),确保容器网络与Kubernetes组件通信正常。2. 控制面安全配置
kubeadm init自动生成证书),配置客户端证书认证;限制API Server访问来源(如仅允许集群内节点IP访问6443端口),禁用不必要的API功能(如--anonymous-auth=false)。--address设置为127.0.0.1,防止绑定到非回环地址;设置--profiling=false减少攻击面;启用--use-service-account-credentials=true,确保控制环路以最小权限运行。--client-cert-auth=true),限制Etcd集群通信仅允许主节点间访问(如UFW规则开放2379/2380端口至主节点IP);设置强密码并定期更换Etcd认证信息。3. 镜像安全管控
ImagePolicyWebhook准入控制器拒绝未列入白名单的镜像。4. 网络安全隔离
NetworkPolicy资源限制Pod间通信(如仅允许同一命名空间且带有app: frontend标签的Pod访问app: backend的80端口);默认启用default-deny-all策略,禁止未明确允许的流量。5. 访问控制与权限管理
Role(命名空间级)和ClusterRole(集群级)定义细粒度权限,结合RoleBinding或ClusterRoleBinding将权限授予用户或组;遵循最小权限原则,避免授予cluster-admin等高权限角色。restricted)限制Pod权限,禁止特权模式(privileged: false)、共享主机命名空间(hostPID: false、hostIPC: false)、使用不安全卷(如hostPath),并将容器根文件系统设为只读(readOnlyRootFilesystem: true)。6. 运行时安全防护
securityContext配置Seccomp(限制系统调用,如runtime/default)、AppArmor(限制资源访问,如runtime/default)、SELinux(限制标签访问,如spc_t),增强容器运行时安全性。7. 持续安全运维