【问题标题】:Securing NodeRED dashboard from unwanted access保护 NodeRED 仪表板免受不必要的访问
【发布时间】:2020-12-16 14:29:13
【问题描述】:

我正在尝试创建某种用户身份验证,以防止对我的 NodeRED 用户界面进行不必要的访问。我在网上搜索并找到了 2 个解决方案,但由于某种原因没有解决。他们在这里:

  1. 尝试将 httpNodeAuth{user:"user", pass:"password"} 键添加到 bluemix-settings.js 但之后我的仪表板一直提示我输入用户名和密码,即使我输入了定义的密码at pass:“密码”字段。

  2. 添加了用户定义的环境变量 NODE_RED_USERNAME:用户名和 NODE_RED_PASSWORD:密码。但一切都没有改变。

这里推荐了这些解决方案:How could I prohibit anonymous access to my NodeRed UI Dashboard on IBM Cloud(Bluemix)? 谢谢你们的帮助,伙计们!

这里有一点“bluemix-settings.js”

 autoInstallModules: true,

// Move the admin UI
httpAdminRoot: '/red',

// Serve up the welcome page
httpStatic: path.join(__dirname,"public"),

//GUI password authentication (ALEX)
httpNodeAuth: {user:"admin",pass:"$2y$12$W2VkVHvBTwRyGCEV0oDw7OkajzG3mdV3vKRDkbXMgIjDHw0mcotLC"},
functionGlobalContext: { },

// Configure the logging output
logging: {

【问题讨论】:

  • 更新...我尝试在此处对密码进行哈希处理:bcrypt-generator.com,但我仍然收到相同的用户名/密码提示...
  • 请在您的问题中添加更多详细信息。你在云端运行吗?如果有,是哪一个?你用的是什么版本的node-red?默认情况下,一段时间以来,当您在云中启动一个新的 node-red 实例时,您可以选择保护它。让它不安全需要您有意识地选择不安全选项。
  • 网络 bcrypt 生成器可能失败,因为它使用了错误的轮数(它看起来默认为 12,而 Node-RED 预计为 8)
  • 哦,对不起!我忘了提...我正在使用托管在 IBM Cloud 上的 NodeRED,这就是为什么我的设置文件被称为“bluemix-settings.js”的原因。我尝试用 4,8 和 10 轮对密码进行哈希处理并得到相同的输出。即使在输入后它仍然提示我输入用户名/密码
  • 对不起,不是轮数,而是要生成的盐的长度。

标签: ibm-cloud node-red ibm-cloud-functions ibm-cloud-tools


【解决方案1】:

如 Node-RED 文档 here 中所述,您需要将如下部分添加到 settings.js(或者在 Bluemix/IBM Cloud 的情况下为 bluemix-settings.js 文件。

...
httpNodeAuth: {user:"user",pass:"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."},
...

pass 文件是密码的 bcrypt 哈希。 docs 中列出了 2 种关于如何正确生成哈希的方法。

  1. 如果您安装了 Node-RED 的本地副本,则可以使用以下命令:

    node-red admin hash-pw
    
  2. 只要您安装了本地 NodeJS,您就可以使用以下内容:

    node -e "console.log(require('bcryptjs').hashSync(process.argv[1], 8));" your-password-here
    

    您可能需要先安装bcryptjs,然后再安装npm install bcryptjs

【讨论】:

  • 感谢您的帮助!是的,我添加了 httpNodeAuth 部分,但我认为我遗漏了一些东西,因为我一遍又一遍地收到相同的提示,要求我输入用户名和密码,就像我输入错误一样。
  • Edit 问题以显示您已编辑到 bluemix-settings.js 中的部分,以便我们可以在上下文中看到它
  • 你也用过我说的方法,不是网站?
  • 我已经添加了一些“bluemix-settings.js”,如果还不够,我可以添加更多甚至上传文件。关于你提到的方法,因为我在 IBM 上运行 NodeRED,有没有办法让我运行这些命令?或者也许改变 bcrypt-generator.com 上盐的长度?谢谢!
  • 第二个选项是您可以在自己的机器上本地运行的选项
猜你喜欢
  • 2021-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-19
  • 2016-06-23
  • 2022-11-06
  • 2011-11-15
相关资源
最近更新 更多