【发布时间】:2016-11-11 17:38:19
【问题描述】:
我正在尝试保护 Node Redis IPC 服务器以使用私钥/公钥。我关注了this tutorial,它使用stunnel,它将Redis使用的隧道包装在SSL层下。
该示例不适用于 Node,但它确实保护了连接,如果我在配置文件中包含认证,我只能连接到服务器,否则连接会被重置。
但是,我无法使用 NodeJS 复制它。在我的服务器计算机上,我有:
var redis = require('redis');
var client = redis.createClient();
client.auth('myPassword');
client.publish('instances', 'start');
我的客户端计算机上有:
var redis = require('redis');
var client = redis.createClient();
client.auth('myPassword');
client.subscribe('instances');
client.on('message', function (channel, message) {
console.log("Got message " + message + " from channel " + channel);
})
但是,无论我是否在我的 stunnel 配置文件中包含认证,这两个设备都会进行通信。如何确保此连接安全?
干杯
【问题讨论】:
-
可能您在服务器上暴露了非安全端口并与客户端连接到该端口。您必须禁用与服务器上非安全端口的连接。
标签: node.js security ssl redis stunnel