保护 Kubernetes API 端口

保护 Kubernetes API 端口

我们有一个 Kubernetes 集群 (kube-),分布在 4 个运行 CoreOS 的节点上。我们最重要的服务将在此 Kubernetes 环境中运行,我们正在尽一切努力使其尽可能安全,但我们计划将 API 端口 (6443) 暴露给互联网。

这样做是否安全?

到目前为止,我们做了以下工作:

  • 我们禁用了匿名访问(使用--anonymous-auth = false标志)。

  • 证书检查似乎工作正常,但如果不提供客户端证书数据,我就无法访问集群上的任何内容。

  • 我们计划使用 RBAC 授权。

  • 我们目前已安装最新版本的 kubernetes(并且我们计划在新的修复发布时快速更新)。

  • 我们设置了速率限制的防火墙来缓解暴力攻击。

  • 我们为服务器购买的交换机支持DDoS保护。

我们还可以采取其他措施来确保该暴露端口的安全吗?或者这样做完全不明智吗?

答案1

您采取的步骤似乎足以保护 api 端口

唯一需要验证的是,如果您使用的是 K8s v1.10 之前的版本,则可以通过设置 -- 禁用不安全端口insecure-port=0,这样就只允许加密流量。

有时这是不可能的,因为健康检查配置或引导机制。如果是这种情况,请用防火墙阻止公共和内部访问端口。此标志自 v1.10 起已弃用。

本文可能还有助于安全最佳实践

相关内容