保护节点Redis

Kou*_*sha 2 security ssl stunnel redis node.js

我正在尝试保护Node Redis IPC服务器使用私钥/公钥。我遵循了本教程该教程stunnel将Redis 使用的隧道包装在SSL层下。

该示例不是针对Node的,但它确实确保了连接的安全,并且如果我在配置文件中包含证书,则只能连接到服务器,否则将重置连接。

但是,我无法使用NodeJS复制它。在服务器计算机上,我有:

var redis = require('redis'); 
var client = redis.createClient();

client.auth('myPassword');
client.publish('instances', 'start');
Run Code Online (Sandbox Code Playgroud)

在我的客户端计算机上,我有:

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);
})
Run Code Online (Sandbox Code Playgroud)

但是,这两个设备会通信我是否在stunnel配置文件中包括该证书。如何确保此连接的安全?

干杯

Sco*_*mer 7

您可以通过在创建客户端时像这样传递tls配置来完成此操作

var redis = require("redis");

var client = redis.createClient(6380,'location.of.server', {auth_pass: 'password', tls: {servername: 'location.of.server'}});
Run Code Online (Sandbox Code Playgroud)