以下是一份Ubuntu Kubernetes安全设置指南:
系统基础安全
- 禁用Swap:编辑
/etc/fstab注释掉Swap行,执行swapoff --all。 - 配置NTP:安装
ntpdate和ntp,用ntpdate命令同步时间。 - 调整内核参数:添加
net.bridge.bridge-nf-call-ip6tables = 1等参数到/etc/sysctl.d/kubernetes.conf,执行sysctl -p。
集群通信安全
- 启用TLS加密:初始化集群时用
kubeadm init命令相关参数配置证书,如--apiserver-cert-extra-sans等,确保组件间通信加密。 - 配置RBAC:创建角色、集群角色及绑定,限制用户和服务账户权限,如为开发人员创建最小权限角色并绑定到相应命名空间。
网络安全
- 配置防火墙:用UFW限制非必要端口,仅开放API Server等必需端口,如
sudo ufw allow 6443/tcp等。 - 部署网络策略插件:如Calico,通过配置网络策略限制Pod间通信和命名空间隔离。
容器安全
- 使用安全镜像:从可信源拉取镜像,定期更新,用Trivy等工具扫描镜像漏洞。
- 配置容器安全上下文:限制容器权限,如禁止特权容器,限制CPU和内存使用等。
监控与审计
- 启用审计日志:配置审计策略文件,记录API访问等关键操作,定期分析日志。
- 部署监控工具:如Prometheus和Grafana,实时监控集群状态,设置异常告警。