É seguro passar meus arquivos ssl key e cert para socket.io? [fechadas]

2

Estou criando um bate-papo na web usando o socket.io

Para se comunicar na porta 3000 por meio do https, preciso passar meus arquivos ssl key e cert.

O socket.io é um código aberto e não sei como é confiável permitir que ele acesse arquivos protegidos como meus arquivos de certificados e chaves.

Aqui está o código do socket.io que é executado no lado do servidor pelo nodeJS:

var fs = require('fs');
var https = require('https');

var express = require('express');
var app = express();

var options = {
  key: fs.readFileSync('../chat/file.pem'),
  cert: fs.readFileSync('../chat/file.crt')
};

var server = https.createServer(options, app);
var io = require('socket.io')(server);
    
por Niv Apo 01.02.2017 / 19:52

1 resposta

4

Este é o código que você está executando em seu próprio sistema. Se você não confia, não dê acesso a segredos. Se você confia, então vá em frente.

Sem pagar por uma auditoria de segurança completa do código, não há muito o que fazer sobre isso. Você deve considerar que sim, enquanto sua chave TLS é realmente secreta, provavelmente não é a única informação privada que você estará confiando a este código. Você confia nele para gerenciar todos seus dados corretamente, não apenas sua chave?

Em suma, só você pode determinar se confia no código socket.io o suficiente para fornecer acesso a informações secretas.

Se você decidir que não confia no socket.io com seus segredos, então talvez você possa usar o nginx como um proxy reverso na frente do socket.io, e o nginx pode manipular a terminação do TLS. Claro, então você precisa fazer a pergunta: você confia no nginx?

    
por 01.02.2017 / 20:28