保证Kubernetes生产环境安全七条建议
IT科技 2025-10-09 00:31:19
0
限制网络暴露
Kubernetes 重要组件的保证网络暴露必须限制:其中 Kubelet API、Kubernetes Dashboard、生产ETCD 上述组件不要暴露到公网,环境内部暴露也尽量限制范围。安全API server 如果非要对外暴露一定是条建提供HTTPS证书认证的方式。
使用 RBAC
安全领域的保证坚守的准则之一:最小化权限开放。通过RBAC 开放最小化权限。生产因为在k8s中serviceaccount 会自动注入到 pod 中的环境,给予不必要的安全权限非常危险,源码库尤其操作 Pod 的条建权限。
Secret
Secret 管理程序,保证商业的生产有如 Hashicorp Vault,开源的环境有 Sealed Secrets、Kamus 、安全Helm Secerts Plugin。条建原生sercet的base64 实在是太弱了。
Network Policy
Network Policy 作为在 Kubernetes 集群范围内控制应用网络访问范围的有效手段。但这个设置需要谨慎,高防服务器否则很容易导致生产故障。
Security Context
Kubernetes 的 Security Context 定义 Pod 或 Container 的特权与访问控制设置。包括非root运行,开放各种capabilities等。比如,下面通过NET_ADMIN 开启容器配置网络的权限。
apiVersion: v1 kind: Pod metadata: name: security-context-demo-4 spec: containers: - name: sec-ctx-4 image: busybox securityContext: capabilities: add: ["NET_ADMIN"]seccomp
过滤危险的系统调用。
安全容器
部分高危的应用可用采用kata等安全容器部署,减少容器逃逸带来的风险。b2b信息网