多个守护程序应用程序想要访问相同的 TLS 证书(或链,或私有)密钥。
- NGINX 想要访问 /etc/letsencrypt/live/example.org/privkey.pem
- 阿帕奇也是如此。
- 和绑定。
- 还有我最喜欢的 [sftdyn] Github 包。
他们都使用不同的 GID 和组名运行他们的守护进程。
我尝试以安全的方式保护私钥,但通过以下各种方法(以及后来被取消的一些方法)在不同的守护进程(拥有自己的 GID)之间共享它:
将文件权限设置为“荣耀之光”
chmod a+rwx
。这被否决了,因为它向整个文件系统揭示了秘密 privkey.pem 文件。创建一个新组
keys
并将nginx
,apache
,named
(或bind
)和sftdyn
group 添加到keys
/etc/group 中的组(或使用adduser nginx keys
)。keys
在 PEM 文件上使用新组。然后用 .cap 限制 PEM 文件的权限chmod 0640
。使用
setfacl
.
2 或 3 中哪一个最适合解决这个棘手的问题?