【发布时间】:2016-04-18 07:15:07
【问题描述】:
我有两台 VPS Ubuntu 服务器受到 SYN Flood DoS 攻击的危害。
服务器环境是运行在端口:3000 上的 Node.js 服务器,我以 root 用户身份开始使用 pm2 守护进程。
我还有 LAMP(Apache Web 服务器、PHP、MySQL 和 phpMyAdmin)在同一个 VPS(默认端口:80)上运行 MySQL 和 phpMyAdmin,它们都是安全的。
我的问题是,以 root 用户身份通过 pm2 在端口:3000 上运行我的节点服务器脚本是否安全?我已经在多个网站上阅读过它的安全性,除非它在端口:80 上运行。 - 显然,Web 服务器文件夹(位于外部)无法访问节点服务器脚本。
我还阅读了以 root 用户身份登录时运行“node server.js”是不安全的。设置一个“安全用户”(要求输入密码)会更安全。 > source(1) 或这样做> source(2)。
有人对如何锁定 Node.js 有任何提示吗?
【问题讨论】:
-
不以 root 身份运行节点服务器是最安全的。然后,服务器所做的任何事情都不会公开只能作为 root 使用的东西。我的服务器以普通用户(而不是 root)在 8081 上运行,并且我将端口 80 转发到 8081,因此来自外部的所有 Web 流量似乎都在端口 80 上,但我不必以 root 身份运行为端口 80 提供服务。这需要您编写服务器,因此它不需要 root 权限(无论如何,这通常是一件好事)。
-
@jfriend00 谢谢!所以您的服务器无法从外部从端口访问:8081?我不需要通过端口运行的节点服务器:80 - 我只将它与 socket.io 一起使用,所以我可以连接到任何端口号。您还使用普通用户来运行 pm2 和您的节点服务器吗?
-
我正在使用一个普通用户来运行我的节点服务器。如果您可以在高端口号上运行您的服务器,那么您不需要端口转发 - 我只需要能够在端口 80 上运行。
-
@jfriend00 感谢您确认!将尝试以普通用户身份运行,希望能够解决这些攻击..
标签: node.js security ubuntu lamp