apache2重启时的SSL密码

ryw*_*ryw 35 ssl apache-2.2

我在 Apache2 上从 Godaddy 设置了通配符 SSL 证书。每当服务器重新启动时,它都会要求输入 SSL 证书私钥的密码。

消除这个重启障碍的最佳方法是什么,因为当日志文件轮换重启发生在半夜时,服务器没有恢复,早上我接到一个不愉快的客户端调用,因为它是一个共享服务器.

小智 32

要让 apache 在每次重启时都收到密码,请将其添加到 httpd.conf 中:

SSLPassPhraseDialog exec:/path/to/passphrase-file
Run Code Online (Sandbox Code Playgroud)

在您的密码文件中:

#!/bin/sh
echo "passphrase"
Run Code Online (Sandbox Code Playgroud)

并使密码文件可执行:

chmod +x passphrase-file
Run Code Online (Sandbox Code Playgroud)

  • 假设两个文件的所有者都需要是 root 用户,那么存储具有 600 个权限的密钥(带有密码)和这个具有 700 个权限的脚本比仅存储具有 600 个权限的没有密码的密钥更安全,对吗? (6认同)
  • ***记住在包含密码短语的脚本上设置适当的权限***,否则你已经有效地删除了密码短语给你的任何安全性。(您还应该为密钥设置适当的权限,如 Max 的回答中所述)。 (5认同)
  • 我同意; 这是毫无意义的安全。一定要从密钥中删除密码,以便自动重启;但不要认为您可以以任何方式弥补刚刚造成的安全损失。这通常是一个很好的权衡,但它**是**一个权衡。 (5认同)

Max*_*nin 29

您需要像这样从您的私钥文件中删除加密:

openssl rsa -in server.key -out server.key.new

mv server.key.new server.key

确保新的密钥文件只能由 root 读取 - 否则任何对该服务器具有 shell 访问权限的人都将能够获取私钥并冒充您的服务器。

要使密钥只能由 root 读取,请在交换密钥之前执行“chmod 600 server.key.new”。

  • +1 因为这不是一个“想法”,而是一个实际的过程 (4认同)
  • @user2693017 - 此处描述的 openssl 命令将询问加密私钥的密码。如果不知道密码,删除它是行不通的。 (3认同)
  • 如果您可以在不需要密码的情况下轻松删除它,密码如何使 ssl 证书更安全?(或者它是否要求您输入密码?) (2认同)