Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 什么是TLS?我们为什么需要它?_Ssl_Kubernetes_Certificate_Tls1.2_Kubernetes Ingress - Fatal编程技术网

Ssl 什么是TLS?我们为什么需要它?

Ssl 什么是TLS?我们为什么需要它?,ssl,kubernetes,certificate,tls1.2,kubernetes-ingress,Ssl,Kubernetes,Certificate,Tls1.2,Kubernetes Ingress,什么是TLS,为什么我们需要它。有人能给我解释一下它在库伯内特斯扮演什么角色吗? 如果我不使用它会发生什么?有人能给我举个例子解释一下吗 感谢您抽出时间。什么是TLS?我们为什么需要它? : TLS协议的主要目的是在两个或多个通信计算机应用程序之间提供隐私和数据完整性[…] TLS支持许多不同的方法来交换密钥、加密数据和验证消息完整性 它在库伯内特斯扮演什么角色? k8s控制平面使用它对传输中的数据进行加密。数据在客户端和服务器之间移动时,如果通信被截获,传输中的加密将保护您的数据。对于k8s

什么是TLS,为什么我们需要它。有人能给我解释一下它在库伯内特斯扮演什么角色吗? 如果我不使用它会发生什么?有人能给我举个例子解释一下吗

感谢您抽出时间。

什么是TLS?我们为什么需要它? :

TLS协议的主要目的是在两个或多个通信计算机应用程序之间提供隐私和数据完整性[…] TLS支持许多不同的方法来交换密钥、加密数据和验证消息完整性


它在库伯内特斯扮演什么角色? k8s控制平面使用它对传输中的数据进行加密。数据在客户端和服务器之间移动时,如果通信被截获,传输中的加密将保护您的数据。对于k8s,例如kubelet或controller manager通常是客户端,api服务器被视为服务器


如果我不使用它会发生什么? 我不确定你是否能做到这一点(不用它)。我认为它的使用是由k8s组件强制执行的。您所能做的就是忽略证书验证

但是现在让我们设想一下,您成功地引导了一个没有tls的集群,并且所有通信现在都是基于明文的(这意味着没有加密)。现在,如果我设法拦截通信,我(恶意参与者)可以看到您正在向集群发送什么。由于没有强制执行数据完整性的机制,我可以将这些数据更改为我想要的任何内容并将其转发。您将无法检查您是否正在与集群或我交换数据,以及我是否正在更改数据、添加恶意代码或其他


此外,k8s组件使用tls证书进行身份验证。这意味着,例如,为了让kubelet加入集群,它需要证明它有一个由已知权威机构签名的有效证书(这通常意味着自签名),从而证明它可以这样做。您将无法验证kubelet是否是您的,并且这不是我加入您的群集的恶意kubelet。

简单地说,它用于Kubernetes内部的加密,如果没有TLS,也用于主机端的身份验证,这会导致群集和K8s组件的安全性降低。如果您正在讨论K8s内部带有ISTIO等服务网格的MTL您可以忽略它,但最佳实践建议使用它。在集群内部,您可以转发简单的HTTP流量,但最终这取决于应用程序和组织的要求。