使用密码保护的SSL密钥在Apache 2上由logrotate引起的故障
时间:2020-03-05 18:57:23 来源:igfitidea点击:
我在Debian上安装了Apache 2,安装了mod_ssl。服务器私钥受启动时需要输入的通行阶段的保护。错误和访问日志每周都会进行logrotate。我发现在logrotate运行后不久,Apache崩溃并显示与密码相关的错误。
我了解到logrotate在归档日志后将SIGHUP发射到Apache,我怀疑这会导致重新加载以及随后获取服务器密钥密码失败。
好吧,就我的理论而言,这是一个问题:
是否有一种"最佳实践"方式来配置Apache,以允许其SSL服务器密钥受到密码短语的保护(而不将密码短语存储在文件中的某个位置),以便在logrotate运行时不会崩溃?
可以要求用户在服务器启动时输入信息,但不要重新启动或者重新加载。
解决方案
回答
一种选择是使用Apache提供的日志轮换工具。它的配置与系统logrotate略有不同,但是由于它与管道一起使用,因此可以在不重新启动Apache的情况下移动文件。
回答
我们可以使用Cronolog,它不需要长按。这是一个例子:
CustomLog "| /usr/sbin/cronolog /pathtologs/%Y_%m/sitename.com-%Y%m%d.log" combined
回答
我们还可以使用以下命令关闭密码:
openssl rsa -in example.tld.key -out example.tld.key