我们有一个微服务架构,并且有 REST 服务通过 HTTP 相互交互。所有这些服务都托管在 Kubernetes 集群上。我们是否需要对此类服务交互进行显式身份验证,或者 Kubernetes 是否为其提供了足够的安全性?
2 回答
0
它完全取决于您如何设计、架构师以及如何为您的系统创建 SDD。在设计时,必须考虑并优先考虑安全加固。软件和工具带来了它们的功能,但是,你如何采用很重要。Kubernetes 也不例外。
您正在使用 HTTP 和在生产系统中运行微服务,即使它在 Kubernetes 集群中运行,您也无法相信您的系统是安全的。Kubernetes 从安全角度带来了很酷的功能,如 RBAC、CRD 等,您可以在此处找到Kubernetes 1.8 安全性、工作负载和功能深度。但是,仍然仅利用这些功能是不够的。内部服务应该和外部一样安全。以下是在将工作负载运行到 Kubernetes 集群后应该注意的几件事,
- 扫描所有 docker 镜像以进行漏洞测试。
- 使用 RBAC 而不是 ABAC,并为各个团队分配最佳权限。
- 为运行您的服务的 pod 配置安全上下文。
- 避免未经授权的内部访问服务数据并保护所有微服务端点。
- 加密密钥应在一段时间内轮换。
- Kubernetes 集群的 etcd 等数据存储必须受到保护。
- 只有管理员应该有权访问
kubectl
. - 使用基于令牌的验证并在所有 REST api 调用上启用身份验证。
- 持续监控所有服务、分析日志、健康检查、容器内运行的所有进程。
希望这可以帮助。
于 2018-08-19T20:55:13.340 回答