Security Https证书和Kubernetes(EKS)
我想保护在Kubernetes(EKS)上运行的web应用程序的安全。连接到群集的所有节点都在专用子网上运行 我有一个前端服务和一打后端服务 前端服务是运行在端口80上的容器的吊舱。它被配置为连接到ELB,该ELB仅接受来自443的具有https证书的流量Security Https证书和Kubernetes(EKS),security,https,kubernetes,Security,Https,Kubernetes,我想保护在Kubernetes(EKS)上运行的web应用程序的安全。连接到群集的所有节点都在专用子网上运行 我有一个前端服务和一打后端服务 前端服务是运行在端口80上的容器的吊舱。它被配置为连接到ELB,该ELB仅接受来自443的具有https证书的流量 apiVersion: v1 kind: Service metadata: name: service_name labels: app: service_name annotations: service.be
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
后端服务是运行同样在端口80上运行的容器的吊舱。它们都未配置为可从集群外部访问。后端服务通过指向(而不是https)相互对话,因为我使用此模板配置了它们:
apiVersion: v1
kind: Service
metadata:
name: service_name
spec:
ports:
- port: 80 # Exposed port
targetPort: 80 # Container port
selector:
app: service_name
这一切都是可行的,但是否足够
前端/后端容器是否也应该将certificate/443与通配符https证书一起使用?这个配置应该在容器内部还是在服务的配置上进行?我现在已经做了很多调查,下面是我的结论 我的所有EKS EC2实例都在专用子网上运行,这意味着它们无法从外部访问。是的,默认情况下Kubernetes不会加密POD之间的流量,这意味着访问我的VPC的黑客(可能是一名无赖的AWS工程师,可能是一名设法实际访问AWS数据中心的人,可能是设法访问我的AWS帐户的人…)将能够嗅探网络流量。同时,我觉得在这种情况下,黑客将获得更多!例如,如果他有权访问我的AWS帐户,他可以自己下载https证书。如果他设法走进一个(高安全性)AWS数据中心并找到了我的服务器,最好将他必须承担的风险与您的数据的价值进行比较。如果您的数据包括信用卡/付款或敏感个人数据(出生日期、健康详细信息…),则必须使用SSL加密。 无论如何,为了保证pods的流量,有两种选择