gpt4 book ai didi

security - HTTPS 证书和 Kubernetes (EKS)

转载 作者:行者123 更新时间:2023-12-02 11:32:43 27 4
gpt4 key购买 nike

我想保护在 Kubernetes (EKS) 上运行的 Web 应用程序。连接到集群的所有节点都在私有(private)子网上运行。

我有一个前端服务和十几个后端服务。

前端服务是一个运行容器的 pod,该容器在端口 80 上运行。它被配置为附加到一个 ELB,该 ELB 仅接受来自 443 的流量和一个 https 证书。

apiVersion: v1
kind: Service
metadata:
name: service_name
labels:
app: service_name
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: xxxxxxxxxx
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
spec:
ports:
- port: 443 # Exposed port
targetPort: 80 # Container port
selector:
app: service_name
type: LoadBalancer

后端服务是运行容器的 pod,它们也在端口 80 上运行。它们都没有被配置为可以从集群外部访问。后端服务通过指向 http://service_name 相互通信(不是 https),因为我使用此模板配置它们:
apiVersion: v1
kind: Service
metadata:
name: service_name
spec:
ports:
- port: 80 # Exposed port
targetPort: 80 # Container port
selector:
app: service_name

这一切都有效,但足够了吗?

前端/后端容器是否也应该使用带有通配符 https 证书的证书/443?这个配置应该在容器内还是在服务的配置上完成?

最佳答案

我现在已经做了很多调查,这就是我的结论。

我所有的 EKS EC2 实例都在私有(private)子网上运行,这意味着它们无法从外部访问。是的,默认情况下 Kubernetes 不会加密 pod 之间的流量,这意味着获得了我的 VPC 访问权限的黑客(可能是流氓 AWS 工程师、设法物理访问 AWS 数据中心的人、设法访问我的 AWS 账户的人.. .) 将能够嗅探网络流量。同时,我觉得在这种情况下,黑客将可以访问更多!如果他可以访问我的 AWS 账户,他可以自己下载 https 证书。如果他设法走进(高安全性)AWS 数据中心并找到我的服务器 - 最好将他必须承担的风险与您的数据值(value)进行比较。如果您的数据包括信用卡/付款或敏感的个人数据(出生日期、健康详情...),则 SSL 加密是必须的。
无论如何,为了保护 pod 流量,有 2 个选项。

  • 更新所有 pod 源代码并在那里添加证书。如果您运行许多 pod 并且证书每隔一年到期,则需要大量维护。
  • 添加一个额外的“网络层”,如 https://istio.io/ .这将增加您的集群的复杂性,对于 EKS,AWS 的支持将是“尽力而为”。理想情况下,您会为 Istio 支持付费。

  • 对于负载均衡器,我决定向集群添加一个入口(Ngnix、Traefik...)并使用 https 进行设置。这一点至关重要,因为 ELB 位于公共(public)子网上。

    关于security - HTTPS 证书和 Kubernetes (EKS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53169659/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com