使用堡垒的kubectl exec vs ssh

时间:2018-08-10 08:16:22

标签: security kubernetes kubectl kops

通过KOPS,我们可以创建一个Kubernetes集群以及一个可以通过ssh访问集群节点的堡垒

使用此设置,仍然认为使用kubectl与Kubernetes API服务器进行交互是安全的吗?

kubectl是否还可以与Pod上的外壳进行交互?这需要任何限制吗?

需要采取哪些预防措施? 是否还应该仅通过堡垒才能访问Kubernetes API服务器?

2 个答案:

答案 0 :(得分:2)

使用默认的Kops设置部署Kubernetes集群根本不安全,因此不应在生产中使用。使用kops edit命令可以完成多个配置设置。通过Kops创建Kubnertes集群后,应考虑以下几点:
  • 专用子网中的群集节点(可以使用具有最新版本kops的--subnets指定现有的专用子网)
  • 私有API LoadBalancer(-api-loadbalancer类型内部)
  • 将API负载平衡器限制为特定的私有IP范围(--admin-access 10.xx.xx.xx / 24)
  • 将对群集节点的SSH访问限制为特定的IP(--ssh-access xx.xx.xx.xx / 32)
  • 也可以将Hardened Image设置为群集节点(--image)
  • 授权级别必须为RBAC。在最新的Kubernetes版本中,默认情况下启用RBAC。
  • 可以通过Kops编辑集群中的配置来启用审核日志。 kubeAPIServer: auditLogMaxAge: 10 auditLogMaxBackups: 1 auditLogMaxSize: 100 auditLogPath: /var/log/kube-apiserver-audit.log auditPolicyFile: /srv/kubernetes/audit.yaml

答案 1 :(得分:0)

Kops提供了合理的默认值,因此简单的答案是:在进行调配后,使用kops调配的基础架构是相当安全的。