繁体   English   中英

在哪里保留Web应用程序的私钥和凭据?

[英]Where to keep private keys and credentials for a web app?

我有一个Web应用程序,该应用程序使用键和凭据从诸如支付网关,数据库提供者之类的外部服务调用API端点。

我谨记以下这些选项来保持这些值:

  1. 在应用启动之前设置环境变量,并在应用运行时加载它们。 如果所需的值不可用(例如未设置),请退出应用程序。
  2. 在应用启动时,要求用户(我自己或管理员)输入凭据。 如果必填字段为空,请退出,否则继续加载应用程序。
  3. 将它们作为纯值保存在配置文件中。 对我来说,这是最不推荐的方法。

如果我想尽可能安全地保管钥匙,应该使用哪个?

我会使用用户环境变量 ,这是googleamazon都建议的。

如果要存储为纯文本文件,请记住不要将其保留在应用程序的源代码树中(如果使用某些版本控制,则可能最终将其公开)。

另外,请记住要定期重新生成密钥。

我认为您应该像您所说的那样使用配置文件。 也许加密它?

如果要管理很多键,则环境变量会变得笨拙。 混合方法对我有用:加密秘密并将其全部放入config(通常为base64)中。 对所有密钥使用相同的加密密钥,并将其作为环境变量传递。

因此,您只需要设置一个环境变量即可根据需要保护尽可能多的其他机密。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM