在 docker 中使用自托管注册表和自己的证书有哪些风险?



设置:

我有一个自托管注册表并使用自己的证书。除非将注册表设置为不安全,否则我无法登录。

现在一切正常,但 ofc 它说这不安全。

这样的设置有什么风险?

您必须指示每个 docker 守护程序信任您的证书,但安全消息仍然会显示出来。

基本上,这只是关于使用自签名证书与 CA 签名证书的辩论。在安全方面,它们的工作方式相同。因此,出于测试目的,它完全足够了。

使用自签名证书的缺点:

  • 其他应用程序/操作系统不信任这些证书。这可能会导致身份验证错误等。

  • 自签名证书的生存期通常为 1 年。这些证书需要每年更新/更换,这是一个很大的麻烦 保持。

  • 自签名证书可以使用低哈希和密码技术。因此,自签名实现的安全级别 证书可能不满足当前的安全策略等。

  • 不支持高级PKI(公钥基础设施(功能(例如在线检查吊销列表等(。

  • 服务器端应用程序的大多数高级羽毛都需要嵌入 PKI(公钥基础结构(。由此, 自签名证书的优点不能使用

缺点取自: https://www.sslsupportdesk.com/what-are-self-signed-certificates-and-disadvantages/

不安全的注册表可以被中间的人替换,被DNS损坏劫持,监视以收集密码以及受属性配置的TLS/SSL连接保护的任何其他攻击。恶意注册表服务器可能导致代码在主机上以 root 身份运行。所以总的来说,这是建议反对的。唯一默认的不安全注册表是本地主机,因为如果它被劫持,主机已经受到损害。

与其切换到不安全的注册表,请尝试让您的自签名 CA 受到 docker 本身的信任,或者在最坏的情况下,整个主机信任。大多数文档都描述了使用/etc/docker/certs.d/host:port/ca.crt执行此操作。对于 Windows,有一个描述此问题的旧问题,因为路径不同,并且目录名称中不允许使用冒号。结论似乎是C:ProgramDatadockercerts.dmyregistrydomain.com5000ca.crt或可能C:Users<user>.dockercerts.dmyregistrydomain.com5000ca.crt,也可能因Windows上的不同安装方法而异。您可以在此处查看此问题和链接的文档:

https://github.com/moby/moby/issues/21189 https://docs.docker.com/docker-for-windows/faqs/#certificates https://docs.docker.com/engine/security/certificates/

相关内容

最新更新