开发过程中涉及使用后台服务时需要配置数据库连接、敏感 IP端口、Tokens、SSH密钥等敏感凭据,开发人员通常会将这些配置信息大量以明文或者硬编码的方式编码到代码中作为快捷方式,造成敏感信息泄漏。因此对这类配置文件的敏感信息需要应用密码技术进行加密保护。
当Python脚本中需要使用本地敏感信息凭据时,为避免将敏感凭据(如密码等)明文存储在代码中,可以使用配置文件、环境变量或密钥管理服务来存储凭据,实现代码和敏感信息凭据分离,提供其安全性。
1)使用配置文件:将凭据存储在一个单独的配置文件(INI、JSON或YAML格式)中,并存放在只有受信任的用户可以访问的安全位置。
2)使用环境变量存储敏感信息,在代码中通过使用环境变量获取敏感凭据环境变量:将凭据存储为环境变量,可以通过os.environ在Python脚本中访问它们。这种方式可以避免将凭据明文存储在代码或配置文件中。
设置环境变量存储敏感凭据
通过环境变量获取敏感凭据
3)使用编译后的文件存储敏感信息对凭据进行加密
创建敏感信息存储文件.py
编译敏感信息存储文件,python -m py_compile敏感信息存储文件.py
保留敏感信息存储文件.pyc,删除原始敏感信息存储文件.py
读取敏感信息存储文件获取敏感信息凭据