如何在多个具有不同组名的守护进程之间共享 Letsencrypt 证书文件
How to share Letsencrypt cert files amonst several daemons having different group name
多个守护程序应用程序想要访问相同的 TLS 证书(或链,或私有)密钥。
- NGINX 想要访问 /etc/letsencrypt/live/example.org/privkey.pem
- Apache 也是。
- 和绑定。
- 还有我最喜欢的 [sftdyn] Github 包。
而且他们都 运行 他们的守护进程具有不同的 GID 和组名。
我尝试以一种安全的方式保护私钥,但在不同的守护进程(拥有自己的 GID)之间共享它,并采用以下各种方法(有些后来被否决)是:
将文件权限设置为 "blaze of glory" chmod a+rwx
。这被禁止了,因为它向整个文件系统揭示了秘密 privkey.pem 文件。
创建一个新组keys
并添加nginx
、apache
、named
(或bind
)和sftdyn
组到/etc/group中的keys
组(或使用adduser nginx keys
)。在 PEM 文件上使用新的 keys
组。然后用 chmod 0640
.
限制 PEM 文件的权限
使用setfacl
.
2 或 3 中的哪一个最能解决这个棘手的问题?
我的系统管理员方面坚信 "keep it simple" 并说通过 "keys" 组(或 ssldaemons 或任何你想命名的 - 我认为组名应该描述成员身份)或目的(如果可能)和常规的旧无聊文件系统权限。
另一方面,如果您已经在使用 ACL,那么仅使用另一个或三个 ACL 规则会更适合您的工作 flow/policy/admin 风格。
如果您还没有使用 ACL,那么我不会走那条路——没必要让事情变得过于复杂。当然,除非你需要一个借口让管理层去做:)
多个守护程序应用程序想要访问相同的 TLS 证书(或链,或私有)密钥。
- NGINX 想要访问 /etc/letsencrypt/live/example.org/privkey.pem
- Apache 也是。
- 和绑定。
- 还有我最喜欢的 [sftdyn] Github 包。
而且他们都 运行 他们的守护进程具有不同的 GID 和组名。
我尝试以一种安全的方式保护私钥,但在不同的守护进程(拥有自己的 GID)之间共享它,并采用以下各种方法(有些后来被否决)是:
将文件权限设置为 "blaze of glory"
chmod a+rwx
。这被禁止了,因为它向整个文件系统揭示了秘密 privkey.pem 文件。创建一个新组
keys
并添加nginx
、apache
、named
(或bind
)和sftdyn
组到/etc/group中的keys
组(或使用adduser nginx keys
)。在 PEM 文件上使用新的keys
组。然后用chmod 0640
. 限制 PEM 文件的权限
使用
setfacl
.
2 或 3 中的哪一个最能解决这个棘手的问题?
我的系统管理员方面坚信 "keep it simple" 并说通过 "keys" 组(或 ssldaemons 或任何你想命名的 - 我认为组名应该描述成员身份)或目的(如果可能)和常规的旧无聊文件系统权限。
另一方面,如果您已经在使用 ACL,那么仅使用另一个或三个 ACL 规则会更适合您的工作 flow/policy/admin 风格。
如果您还没有使用 ACL,那么我不会走那条路——没必要让事情变得过于复杂。当然,除非你需要一个借口让管理层去做:)