分发包含我的自签名证书的 docker 映像是个好主意吗?

Is it a good idea to distribute docker image containing my selfsigned certificate?

提问人:Panicking Developer 提问时间:6/28/2023 更新时间:6/28/2023 访问量:33

问:

我有一个作为 Docker 映像(SpringBoot Web 应用程序)分发的应用程序。流量和用户数据的加密是必不可少的,因此我想默认启用SSL支持。有些人发现很难生成自己的证书和 java 密钥库。因此,我考虑生成自己的自签名证书并将其包含在 Docker 容器中。加密方面至关重要,“信任”部分可以忽略不计。该图像将向所有人公开。我认为它很容易使用 - 只需运行容器,打开浏览器并配置“证书例外”,流量就会被加密。他们这样做有什么缺点吗?

安全 SSL Web 密钥库

评论


答:

0赞 Steffen Ullrich 6/28/2023 #1

加密方面至关重要,“信任”部分可以忽略不计。

不幸的是,这是一个常见的误解:服务器证书只是为了证明身份,并没有说明对服务器本身的“信任”,即服务器是恶意的、易受攻击的......相反,服务器证书是为了确保一个服务器实际上连接到预期的服务器,而不是连接到中间攻击者的某个人。

如果不正确验证证书(即不盲目地跳过由自签名证书引起的警告),攻击者可能会破坏与中间人攻击的连接:加密仍在进行,但不是与目标服务器进行端到端加密,而是在客户端和攻击者之间加密,然后再次从攻击者到服务器进行加密,以便攻击者可以读取和操纵流量。这显然破坏了加密所期望的完整性和机密性。

有些人发现很难生成自己的证书和 java 密钥库。

这些技术水平较低的用户中的大多数可能也无法理解盲目信任自签名证书的影响。到目前为止,使用预先创建的自签名证书并让用户使用它并不是一个好主意。