我正在用 PHP 编写一组数据库驱动的应用程序。这些应用程序将作为自己的用户在 Linux 服务器上运行。其他用户有时可能会在系统上,但访问权限受到严格控制。他们根本无法访问其他服务器。我还将向需要编写使用 DBI 和我编写的一组函数访问数据库的 Perl 脚本的开发人员公开一个限制存储过程 API。
我的问题是保护包含连接字符串的配置文件的最佳方式是什么?
对文件具有 [4+]00 权限的其他用户是否足够?我应该加密它们吗?这似乎只是将问题转移到别处,所以我担心在哪里存储加密 key 。我意识到 Perl 开发人员需要有自己的连接字符串,因为他们只有执行数据库权限。
最佳答案
如果机器真的以传统的 Unix 方式进行管理,其中 J. Random 用户不会一直关闭 su-ing 到 root,我会说文件系统权限是你最好的选择。如果有人获得未经授权的 root 访问权限,再多的愚蠢加密也无法“保护”连接字符串。
我会将带有连接字符串的文件标记为“脚本用户”所有,并按照您的描述授予他们访问权限。
(在这个例子中,意识到加密连接字符串不会给你带来任何好处,真是太棒了。通过默默无闻的安全性会适得其反。)
关于php - 保护数据库连接字符串的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/334776/