最安全的存储用户名/密码、配置文件、python

Eth*_*Lie 0 python security passwords config

我有一个可以进行各种 API 调用的脚本。该脚本将独立运行,因此我需要将这些服务和其他服务的登录凭据存储在本地配置文件中。

我非常确定将这些敏感数据以明文形式存储在 .txt 文件中是一个可怕的想法。我怎样才能更安全地做到这一点?

我看到了一个类似的问题,但答案非常特定于 C#。如何安全地保存用户名/密码(本地)?

Nei*_*gan 5

如果您加密文件,您将如何保护加密它的密钥?您将购买昂贵的 HSM。

除此之外,一个好的通用解决方案如下:

  1. 创建一个操作系统用户,例如foo
  2. foo使用登录密码为用户创建(永久)操作系统环境变量
  3. 成为foo脚本的所有者并只授予foo运行该脚本的权限
  4. 以用户身份运行脚本foo
  5. 读取脚本中的操作系统环境变量

只能fooroot可以读取foo操作系统的环境变量。无论如何,root 始终可以读取所有内容。