我知道我的凭据可以存储在var/目录中,但这对我来说不对。如何添加额外的安全层以确保凭据安全?
凭据应存储在文件中。例如,这可以是 php 文件或 .env 文件。
凭据可以以纯文本形式存储。
您的第一道防线是将这些文件存储在无法通过您的网络服务器访问的文件夹中。
例如:
/home/you/www/public -> public files go here, e.g your index.php
/home/you/www -> all other files, including vendor libs etc, and your config files
(public
文件夹应在虚拟主机配置中定义为服务文件夹(
您的第二道防线正在您的系统上发生。例如,也许您有一个特殊用户,该用户具有特定站点的强密码。基本上,在第二道防线中,您真正指定了谁可以访问您的文件,谁具有SSH访问权限等。
第三道防线是正确配置数据库。例如,您可能只需要允许本地访问?
现在,您的第四道防线是确保您的凭据永远不会打印在错误消息或日志中,尤其是不会打印给 Web 用户的错误。区分脚本中的develop
和production
状态。
还有更多(监控不正确的登录,fail2ban等(,但这些都是基础。它们中的大多数都是在使用php框架时处理的,比如Laravel。Laravel区分公共和非公共,使用.env文件,允许您定义production
状态,并将错误输出限制为用户。