Estou curioso sobre as práticas recomendadas ao conectar do aplicativo ao banco de dados em um provedor de nuvem. Um breve resumo da nossa configuração.
Temos 4 servidores no mesmo provedor, na mesma região que o VPS. Ngnix é o proxy reverso, balanceamento de carga para 2 servidores Node.JS. Os servidores do Node.js se conectam a um servidor MongoDB.
Então, minha pergunta é sobre segurança quando se trata do Node.js > Conexão Mongo. Nós temos os servidores Mongo e Node restritos para apenas se conectar uns aos outros através da LAN via tabelas IP. As instâncias do banco de dados e do nó não estão acessíveis fora da rede local. Também habilitamos a autenticação SCRAM-SHA-1 no MongoDB.
Precisamos ativar o TLS / SSL? Quais são os riscos de segurança de um agente mal-intencionado dentro do provedor de nuvem tentando capturar nossa comunicação HTTP de outra forma não criptografada entre o node.js e o servidor mongo.
Estamos pensando em adicionar um certificado autoassinado entre o nó e as máquinas mongo. Isto, naturalmente, adicionará alguma sobrecarga à comunicação.
Interessado em ouvir pensamentos sobre as melhores práticas. Você está criptografando as comunicações dentro da LAN no seu provedor de nuvem ou isso é um exagero?
Corrija-me se estiver errado, mas alguém precisaria basicamente bisbilhotar o tráfego no nível do roteador / switch interno para espionar.