保护nodeJS数据库配置文件

时间:2016-11-15 11:01:16

标签: node.js database config

我创建了一个config.js文件,用于存储我的所有数据库连接信息。我在db-connect.js中要求这个。配置文件是gitignored,因此不会提交。但是,我想知道这是否安全,或者是否可以采取更多措施来保护这些信息?

Config.js目前看起来像这样:

var dbconfig = {
    database: 'dbname',
    username: 'dbusername',
    password: 'dbpassword'
};

 module.exports = dbconfig;

这里有类似的问题,但只是说不提交文件 - 但是,对我而言,这似乎仍然没有那么安全吗?

2 个答案:

答案 0 :(得分:1)

我想补充一个建议​​,因为在配置文件中保留配置机密绝对是一个安全(和可管理性)问题。您可以使用https://www.npmjs.com/package/masterkey将密钥存储在Azure Key-Vault等安全位置!

答案 1 :(得分:0)

可能没有正确答案,以下是您的选择

  1. 环境变量: 我见过人们更喜欢将他们的配置保存在他们的〜/ .bashrc文件的临时环境变量中,例如:

    〜/ .bashrc

    export DB_USER=username

    export DB_PASS=password

    <强>临时 DB_USER =用户名DB_PASS =密码节点./app.js

  2. 将您的配置文件与项目分开,并从绝对路径中请求它,例如:

    var config = require('/<path>/<to>/config.js');

    所以这样你就可以确保你的应用程序永远不会提供你的配置文件,因为它不是web根目录的一部分。

  3. 加密您的配置文件,并在每次应用程序重新启动并读取时对其进行解密。

  4. 在大多数应用程序中,我更喜欢1和2。