我有两台VPS服务器被SYN洪水DoS攻击所破坏。
服务器环境是运行在端口: 3000上的Node.js服务器,我开始使用pm2守护进程作为根用户。
我还有LAMP (Apache服务器、PHP服务器、MySQL和phpMyAdmin)运行在同一个VPS (默认端口: 80)上,MySQL和phpMyAdmin都是安全的。
我的问题是,通过pm2作为根用户在端口: 3000上运行我的节点服务器脚本安全吗?我在多个网站上读到了它的安全,除非它运行在端口上: 80。-显然,web服务器文件夹(位于外部)无法访问节点服务器脚本。
我还读过在作为根用户登录时运行"node server.js“是不安全的。设置一个“安全用户”(询问密码)会更安全。> source(1)或者做这个> source(2)。
有人知道如何锁定Node.js吗?
发布于 2016-04-26 08:37:07
我的NodeJS服务器还在被黑!!在使用pm2用户锁定"safe user"之后,不以root用户的身份运行node。
所以我开始四处寻找这些害虫进入的其他方式。我遇到了用于节点客户机/服务器通信的身份验证方法。这里有一种使用唯一键/代码查询服务器的简单方法。如果服务器在查询参数中没有接收到正确的密钥/代码,则拒绝客户端的连接。
客户端:
var socket = io("http://127.0.0.1:3000/", { query: "foo=bar" });服务器端:
io.use(function(socket, next){
console.log("Query: ", socket.handshake.query);
if (socket.handshake.query.foo == "bar") {
return next();
}
next(new Error('Authentication error'));
});到目前为止还不错..。如果不起作用的话会报告的。
https://stackoverflow.com/questions/36687554
复制相似问题