安全地为 Linux 守护进程提供密码

arn*_*hky 8 security linux password daemon

我有一个访问某些服务(db 等)的 linux 守护进程。为此,它需要一些密码。以安全的方式将密码提供给守护进程的最佳方式是什么?

我目前将密码存储在 root-read-only 配置文件中,但依赖权限似乎相当不安全。

我正在考虑在守护程序启动时提示用户输入密码并将密码仅存储在内存中。当然,这对于具有 root 访问权限的专用攻击者来说只是一个小障碍,但至少它可以保护备份、快照等,并且可能会争取一些时间。

其他选择?推荐?

Jen*_*y D 4

有多种设置方法,包括使用与密码不同的身份验证方法。

一种方法可能是使用 TLS/SSL 证书进行连接。但通常情况下,将密码保存在只读文件中就足够了 - 正如 Kondybas 所说,如果 root 帐户被泄露,那么一切都会被泄露......您可能还希望在启动服务之前让 startscript 执行 chmod 400 ,并在启动后 chmod 000 。

因此,您不应该只关注保护实际密码的安全,而是希望在目标服务器上做一些工作。对于数据库,我首先限制哪些主机可以使用 Linux 服务器使用的用户名进行连接。我还会限制用户可以对数据库执行的操作 - 例如,您可能希望 linux 守护进程能够向数据库添加内容,但可能不这样做DROP TABLE

通常,您还应该使服务器尽可能安全。除非绝对必要,否则守护进程不应由 root 运行;SSH 端口不应允许来自 Internet 上的任何主机的访问,当然也不允许 root 登录。

还要确保密码不会在其他地方重复使用,否则该服务器上的泄露可能会导致网络漏洞升级。

您可能还会发现安全搜索很有用。