Ssl 如何在微服务之间实现TLS
有人能对我正在考虑的微服务安全设计进行评论、审查、评论或其他方面的漏洞吗 假设我有三个微服务,每一个都通过REST端点与另外两个进行通信。每个微服务都包含一个密钥库。该密钥库中包含由可信证书颁发机构签名的微服务的私钥/公钥对。该密钥库中还有另外两个微服务的公钥证书,它们是从源微服务的签名/受信任密钥对导出的 这个实现是可行的,但它的某些地方不太对劲 也就是说,每次我引入一个新的微服务时,我必须将a)每个现有微服务的公钥证书添加到其密钥库中,以及b)新微服务的公钥证书添加到每个其他微服务中(假设新微服务必须与每个现有微服务进行双向安全通信) 现在,对第二个密钥对重复上述模式,该密钥对用于对REST调用中提供的身份验证令牌进行签名/验证 我想知道,在所有微服务之间共享单个可信公钥证书是否是a)明智的,b)安全的,而不是上面提到的?完全不同的东西 请有礼貌。我决不是这方面的专家 编辑: 在阅读了对我的原始帖子的回复/评论后,我突然想到,我忽略了可能使问题更清楚的细节,因此评论者能够更好地解决这个问题:Ssl 如何在微服务之间实现TLS,ssl,microservices,pki,Ssl,Microservices,Pki,有人能对我正在考虑的微服务安全设计进行评论、审查、评论或其他方面的漏洞吗 假设我有三个微服务,每一个都通过REST端点与另外两个进行通信。每个微服务都包含一个密钥库。该密钥库中包含由可信证书颁发机构签名的微服务的私钥/公钥对。该密钥库中还有另外两个微服务的公钥证书,它们是从源微服务的签名/受信任密钥对导出的 这个实现是可行的,但它的某些地方不太对劲 也就是说,每次我引入一个新的微服务时,我必须将a)每个现有微服务的公钥证书添加到其密钥库中,以及b)新微服务的公钥证书添加到每个其他微服务中(假设新
再看看这个相关的问题:答案会给你其他的想法,比如使用保险库。如果你的微服务没有暴露在网络上,那么你可以为此目的创建自签名证书。自签名证书用于内部调用。你可以在sslshopper网站上创建它们 此外,不要对所有微服务使用相同的证书。 我已经实施了类似的解决方案,在我们的案例中,我们已经将签名服务设置为另一个微服务,该微服务将满足其他微服务。该自签名服务将连接到HSM或硬件安全模块。所有证书都存储在属于配置文件的HSM中。您可以在HSM和it配置文件创建上进行一些谷歌搜索
信任存储库用于保存公共证书,密钥存储库用于存储私钥。这是标准的,不是通用的,但在理想情况下是这样的。为什么需要添加每个服务公共证书?只要颁发证书的CA是可信的,它们也会是可信的。这就是web本身的工作方式,为什么不呢为您工作?感谢您使用了TLS,而不是其他所有人都错误使用的东西,但请将其从标记中删除。还有java和tls1.2,因为您的问题不是针对这些情况的。@Andreas当您需要对客户端进行身份验证时,这不起作用(对服务器进行身份验证很容易)。服务器需要事先了解一点有关证书的信息,或者使用专用PKI,否则任何人都可以提供任何CA签署的证书。如果可以,请依靠基础结构提供安全通信。例如,如果使用Docker Swarm,则可以激活网络的连接加密:@ConstantinGalbenu encr埃及不是相互认证哇,谢谢你的链接。不能