我是否需要多个证书来运行多个服务

我是否需要多个证书来运行多个服务

我对此进行了大量研究,但我仍然不清楚我需要为我的私人服务器上运行的每个服务自签名多少个证书。情况如下:

我正在 raspberry Pi(raspbian~debian)上创建自己的服务器来运行自己的 VPN 服务器、日历/联系人服务器(Darwin)以及将来可能的电子邮件服务器和 Web 服务器。

首先,我使用 easy RSA 配置了 openvpn 服务器(客户端使用密钥和密码进行身份验证:按照此教程)值得注意的是,easy RSA 似乎与 openVPN 相关。

现在,我需要设置日历服务器并强制使用 TLS 连接以确保安全。但我不确定是否需要自签名另一个证书或只是重复使用旧证书。这次客户端将仅使用密码进行身份验证。我是否为每个服务设置不同的自签名证书?

还有 ssl-cert-snakeoil.key,我可以使用吗?

答案1

SSL 证书基本上是告诉远程方,他们所连接的 IP 或 DNS 名称已设置公钥和私钥,并且公钥已由某个证书颁发机构 (CA)“签名”,属于该 DNS 名称或 IP 地址上的服务。证书可以(最近)包括 subjectAlternateNAmes(SAN),表明该证书对其他几个 DNS 名称或 IP 号码也有效。

现在回到您的问题:如果所有服务都使用同一个名称(即“myhost.dyn-provider.net”),那么您只需要一个 myhost.dyn-provider.net 证书。

但是,如果您需要为 mywww.dyn-provider.net (HTTPS)、mycal.dyn-provider.net (iCal)、mysmtp.dyn-provider.net (电子邮件) 和 myftps.dyn-provider.net (FTPS) 等提供证书,那么您要么需要为每台服务器提供证书,或者你可以使用额外的 SAN/subjectAlternateName 条目生成单个证书(谷歌搜索,easyrsa 3.0.x 也对此有帮助:easyrsa help altname了解更多信息)

答案2

如果您对两个服务使用相同的 URL,则使用相同的证书。但是自分配的证书是无用的。为什么不使用真正的证书https://letsencrypt.org/免费。

相关内容