zoo_live_crew Asked: 2017-01-06 11:36:30 +0800 CST2017-01-06 11:36:30 +0800 CST 2017-01-06 11:36:30 +0800 CST Config.php 文件有明文的 Mysql 密码,这样做明智吗? 772 标题基本上说明了一切,安装我的客户购买的 CRM 产品/前端 (SugarCRM) 时创建的默认 config.php 文件以纯文本形式存储了 MySQL db 用户的密码? 有什么好的方法来加密密码本身,这样它就不仅仅是放在容易阅读的文件中了吗? 还是只是如果有人已经可以访问该文件,那么您已经陷入了麻烦,因为他们已经在您的系统中? 只是想知道这种情况的最佳实践是否/是什么? php security sugarcrm 3 个回答 Voted longneck 2017-01-06T11:44:06+08:002017-01-06T11:44:06+08:00 还是只是如果有人已经可以访问该文件,那么您已经陷入了麻烦,因为他们已经在您的系统中? 是的。 Best Answer Shyam Sundar C S 2017-01-06T12:00:01+08:002017-01-06T12:00:01+08:00 Web 应用程序的配置文件通常以纯文本形式包含秘密。 大多数云托管供应商 (IaaS/PaaS) 支持在启动实例时传递自定义数据,以便它们可用作环境变量。但是,必须修改应用程序以支持从环境变量中读取机密。参考 Heroku 的一个例子。 有什么好的方法来加密密码本身,这样它就不仅仅是放在容易阅读的文件中了吗? 文件的权限不应该是世界可读的。 还是只是如果有人已经可以访问该文件,那么您已经陷入了麻烦,因为他们已经在您的系统中? 是的。访问系统是一个将死的情况。强化系统是第一步。必须在所有层、应用程序、数据库、操作系统、网络等进行加固。 请记住,安全是一个不断变化的目标,永远不会完成。 T. B. 2017-01-06T12:26:07+08:002017-01-06T12:26:07+08:00 有一些方法可以通过加密方案、将密码等直接加载到内存等来部分缓解这种情况,但这些方案实际上是关于混淆的。如果你想让某个东西自动登录到其他东西,你别无选择,只能设置某种秘密,无论是否纯文本,以赋予它这样做的能力。一旦你这样做了,系统泄露总是意味着秘密也被泄露了。使这变得更加困难的模式就是这样做的……它们并没有使它成为不可能。 需要自动登录的高安全性系统通常使用详细监控来检测滥用模式,而不是禁止访问。 唯一可以确定的方法是永远不要将密码提交到数字存储中,并让人类输入。 将来,我们会有人工智能来为我们做这件事,但现在,这就是我们所拥有的。
是的。
Web 应用程序的配置文件通常以纯文本形式包含秘密。
大多数云托管供应商 (IaaS/PaaS) 支持在启动实例时传递自定义数据,以便它们可用作环境变量。但是,必须修改应用程序以支持从环境变量中读取机密。参考 Heroku 的一个例子。
文件的权限不应该是世界可读的。
是的。访问系统是一个将死的情况。强化系统是第一步。必须在所有层、应用程序、数据库、操作系统、网络等进行加固。
请记住,安全是一个不断变化的目标,永远不会完成。
有一些方法可以通过加密方案、将密码等直接加载到内存等来部分缓解这种情况,但这些方案实际上是关于混淆的。如果你想让某个东西自动登录到其他东西,你别无选择,只能设置某种秘密,无论是否纯文本,以赋予它这样做的能力。一旦你这样做了,系统泄露总是意味着秘密也被泄露了。使这变得更加困难的模式就是这样做的……它们并没有使它成为不可能。
需要自动登录的高安全性系统通常使用详细监控来检测滥用模式,而不是禁止访问。
唯一可以确定的方法是永远不要将密码提交到数字存储中,并让人类输入。
将来,我们会有人工智能来为我们做这件事,但现在,这就是我们所拥有的。