保护节点js运行时或禁用调试/检查

时间:2017-10-28 21:18:32

标签: javascript node.js security

我在nodejs上运行了一个javascript应用程序。它读取stdin以获取用户名和密码来访问某些在线服务。

如果需要重新登录,这些凭据会在应用程序运行的整个时间(24/7)保留在变量中。

访问服务器的人是否可以调试"应用程序并以一个人在浏览器中可以做的方式获取这些变量?或任何其他方式。

我对节点的内部工作仍然几乎没有理解。

编辑: 应用程序在Docker容器上运行!

1 个答案:

答案 0 :(得分:2)

这取决于服务器。如果他们有root或管理员privelages,他们可以通过多种方式获得访问权限,包括直接从ram中读取它们。如果他们使用的是标准帐户,只要他们没有与您的应用在同一帐户上运行,您就可能更安全。它总是有可能,但您可以通过使用单独的帐户,限制操作系统用户对计算机的访问权限以及至少加密您的凭据来最小化风险。还要确保设置了权限,以便他们无法编写或读取应用程序代码,如果它们不应该执行它,也会阻止它。至于调试Node,我理解你必须在调试模式下显式运行它。但还有其他方法可以确定,因此最好限制访问,尤其是对服务器的物理访问,并使用加密。如果您可以以加密形式卸载这些凭据并清除任何持有它们的变量,那就更好了。

相关问题