在 .env 文件中保存敏感数据的坏习惯

Bad practise saving sensitive data in .env file

如果我们有一个私人 github 存储库,我们在其中保存机密并从 .env 文件加载它,这将保留敏感信息,例如用户名、密码、api-密钥、访问密钥等到单一事实来源,但在安全方面这是不好的做法吗?

数据在技术上是通过应用程序公开的,如果一些恶意实体获得了源代码的访问权限,他们将能够看到所有的秘密,就好像存储库访问被泄露一样?

另一种方法是在运行时注入数据(通过脚本、Docker 容器等),这将消除此漏洞,但有必要吗?

首先,建议 不要.env 提交到 git(将其添加到 .git忽略),而是 [= =11=] 其中列出了所有相关变量(没有值或具有虚拟值),并有代码注释解释每个变量在做什么。

其次,你的问题的答案是,你永远不应该向git提交秘密,即使你提交然后删除并再次提交它仍然生活在 git 历史中也很糟糕。

今天有很多恶意脚本扫描 github 回购以寻找此类数据,我不止一次听说 AWS 帐户因此类错误而被黑客入侵,所以最重要的是: 确保您的数据安全!

最后,即使您的 github 存储库是私有的,您也希望保留这些做法,因为它可能会被 public 错误地创建,然后您的数据被获取只是几秒钟的事情暴露了!