如何在具有不同组名的多个守护程序之间共享Letsencrypt证书文件

时间:2018-08-07 23:01:40

标签: apache nginx file-permissions lets-encrypt bind9

多个守护程序应用程序希望访问相同的TLS证书(或链或私有)密钥。

  • NGINX希望访问/etc/letsencrypt/live/example.org/privkey.pem
  • Apache也是如此。
  • 还有绑定。
  • 还有我最喜欢的[sftdyn] Github软件包。

他们都使用不同的GID和组名运行守护进程。

我尝试以安全的方式保护私钥,但又通过以下各种方法(以及后来的一些替代方法)在不同的守护进程(具有自己的GID)之间共享私钥:

  1. 将文件权限设置为“荣耀之光” chmod a+rwx。由于无法将秘密privkey.pem文件透露给整个文件系统,因此无法解决问题。

  2. 创建一个新组keys并添加nginxapachenamed(或bind)和sftdyn组到/ etc / group中的keys组(或使用adduser nginx keys)。在PEM文件上使用新的keys组。然后使用chmod 0640限制PEM文件的权限。

  3. 使用setfacl

以2或3中的哪个来解决这个棘手的问题最合适?

1 个答案:

答案 0 :(得分:1)

我的系统管理员非常相信“保持简单”,并说要通过“键”组(或ssldaemons或您想为其命名的任何东西)做到这一点-我认为组名称应尽可能描述成员资格或目的)和常规的旧文件系统权限。

另一方面,如果您已经在使用ACL,则仅使用另一个或三个ACL规则更适合您的工作流程/政策/管理风格。

如果您还没有使用ACL,那么我不会走这条路-无需使事情变得过于复杂。除非您当然需要管理的借口:)