放置 SSL 证书以供 Apache 2 使用的最佳实践?

放置 SSL 证书以供 Apache 2 使用的最佳实践?

在少数 Apache 服务器运行大量使用 SSL 证书进行 HTTPS 的站点的环境中,这些证书应该放在哪里?在 Debian 或 Ubuntu 中,所有相关文件是否都应放在 /etc/apache2/ssl 中?或者是否有其他更适合的位置?在同一台服务器上为多个网站选择这些文件的位置时,应解决哪些安全问题?

答案1

仅供参考,我使用 Debian。

我将所有私钥放在/etc/ssl/private具有权限模式的中0700。 我将所有证书放在/etc/ssl/certs具有权限模式的中0755。 两者的所有者/组都是 root:root。

答案2

基本上,您的 SSL 密钥文件应该只能由用户读取root(您应该对其发出两个命令:sudo chown root:root /path/to/your/keyfile.keysudo chmod 600 /path/to/your/keyfile.key)。您的证书文件可以是全世界可读的。并且,将密钥和证书放在可通过 Web 访问的文档树之外始终是一个好主意,/etc/apache/ssl应该会很好用。

答案3

对于我来说,以下放置 SSL 证书的最佳实践通常非常有效:

  1. /usr/share/ca-certificates/domainname/*.crt -将从 CA 机构获取的公开文件放在此处
  2. /etc/ssl/certs/usr/share/ca-certificates/domainname/- 创建指向目录中文件的符号链接
  3. /etc/ssl/private/private.key- 私钥直接放入此目录中
  4. /opt/ssl/csr/domainname/domain.csr- 我将原始 CSR 放在此目录中以供将来参考。

如果您计划将 SSL 证书用于 Dovecot 和 Postfix 等服务,您还需要这些*.pem文件。您可以将这些转换后的*.pem文件放入目录/opt/ssl/csr/domainname/*.pem中,并创建指向它们的软链接/etc/ssl/certs

相关内容