以下是一份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,實時監控集群狀態,設置異常告警。