【发布时间】:2014-12-16 16:01:45
【问题描述】:
为 apache 使用的数据库存储用户名/密码组合的最安全方法是什么?
必须有比将明文密码存储在单个文件中并将它们放在只有 root 和 apache 可以访问的文件夹中更安全的方法。
【问题讨论】:
标签: apache security encryption
为 apache 使用的数据库存储用户名/密码组合的最安全方法是什么?
必须有比将明文密码存储在单个文件中并将它们放在只有 root 和 apache 可以访问的文件夹中更安全的方法。
【问题讨论】:
标签: apache security encryption
好吧,让我问这个问题:你在保护谁?您想“更安全”,但尚未发现任何攻击媒介。
外部用户
如果您想保护它们免受外部用户的侵害,您有两种选择:
将文件移到 webroot 之外。因此,攻击者无法获取该文件,因为 Apache 不会提供该文件。
在 Apache 中通过权限或拒绝保护文件。这样 Apache 就不会为它服务了。
第一个选项更好,因为错误配置无法公开凭据。
内部用户(有权访问服务器的人)
您无法防御它们。如果攻击者可以进入服务器,他们就可以(通常至少)获得对凭据的访问权。
是的,您可以加密文件。但是 Apache 必须知道如何解密它,这样攻击者才能弄清楚。
您唯一的防御措施是正确设置文件的权限。使其只能由 Apache (nobody) 读取。
简而言之,加密凭据几乎没有任何好处,就好像您的服务器配置正确,它们不可能泄露给他们本来不会泄露给的人。
保护您的应用程序免受其他攻击媒介(SQLi、代码注入、XSS 等)的侵害,因为它们更有可能成为攻击者进入的途径...
【讨论】: