提供凭证以安全方式进行处理

提供凭证以安全方式进行处理

在系统启动时,我需要启动一个需要凭据才能与其他服务(数据库等)交互的进程。出于安全原因,我显然不想将这些存储在磁盘上。

我正在想办法在启动时向进程提供这些凭据 - 并且仅在启动时提供。此后,它们应该只对进程可用。

这有可能吗?最重要的是让入侵者尽可能难以获得这些凭证。

答案1

这有可能吗?最重要的是让入侵者尽可能难以获得这些凭证。

将密码放在只有进程用户可以访问的文件中。如果它以 开头root,则使其root仅由 拥有可读权限。如果它以 开头apache,则apache

如果它开始于共享用户喜欢nobody(或者甚至apache,如果 Web 服务器不以拥有脚本的用户身份运行脚本),那么您就陷入困境。没有万无一失的方法可以使其仅在特定机器状态下由一个进程读取(例如,在重新启动后)。

理想情况下,您的流程将从root您可以读取配置的地方开始,然后切换到非特权用户。这也取决于您的用户拥有的访问级别:如果他们可以sudo,您可以忘记一切他们可以查看strace进程、转储内存或嗅探网络来查看凭证。

相关内容