【问题标题】:What's the best way to store API secrets and encryption keys?存储 API 机密和加密密钥的最佳方式是什么?
【发布时间】:2016-10-02 07:22:10
【问题描述】:

我正在使用环境变量来存储 API 机密和数据加密密钥。我想知道环境变量是存储此类数据的最安全方式吗?如果黑客进入我的服务器,他可以访问环境变量吗?

【问题讨论】:

    标签: security


    【解决方案1】:

    这取决于平台,可能有些固执己见,但总的来说我认为环境变量是很多场景下存储秘密的好方法。

    例如,如果您的应用程序容易受到 SQL 注入、本地文件包含或其他一些应用程序级别的漏洞的攻击,那么存储在数据库或文件中的任何秘密都可能很容易受到破坏。如果使用环境变量,则可能无法进行相同的攻击,例如本地文件包含不能用于检索环境变量。

    使用环境变量还有助于解决版本控制问题,它有助于避免将机密检查到您的 VCS。它可以让您更好地跨环境管理秘密,只允许相关人员能够在生产中了解这些秘密。

    但是,如果您的服务器完全受到攻击,攻击者当然也可以检查环境变量。但是,如果你的服务器被入侵到那个级别,你还是输了。

    可能会列出存储机密的更好方法的示例,但它们特定于您使用的环境和技术堆栈。例如,在 Azure 中,Key Vault 有时可能会更好,在 Amazon 中类似的设施是密钥管理服务 (KMS) 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-10
      • 2022-11-03
      • 2010-09-18
      • 2011-06-25
      • 1970-01-01
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多