Criptografia transparente para aplicativos entre servidores implementados na nuvem

2

Sou engenheiro de software e não necessariamente um funcionário de operações, além de ter participado do desenvolvedor ao lidar com problemas de implantação.

Os componentes individuais do aplicativo da Web em que estou trabalhando serão distribuídos em VMs distintas baseadas na nuvem. Qual é a melhor ou pelo menos uma boa prática para fazer a criptografia de comunicação entre, por exemplo, http-services e o banco de dados baseados em node.js - cada um vivendo em suas próprias instâncias?

Eu estava pensando em SSH -tunnels entre as caixas ... O que você diz pros serverfault?

    
por codesurgeon 05.11.2012 / 14:04

2 respostas

2

Isso parece perigosamente próximo de uma questão de compra, que é proibida pelo SF (e outros sites da SE, aparentemente) pelo FAQ. Você também não menciona qual sistema operacional será executado nos servidores em nuvem; mas vou seguir em frente e assumir que é o Linux.

Dito isso, minha primeira preferência seria pelo IPSec, já que ele é incorporado ao Linux, é incrivelmente robusto e está bem integrado no nível da rede (para que você não precise mexer nas tabelas de roteamento). Não haverá problemas com a autenticação, pois tudo é feito com chaves ou certificados pré-compartilhados. Ele se integra bem com iptables firewalls. Ele recupera bem após interrupções de rede estendidas. Ele aparece automaticamente no momento da inicialização por meio dos scripts padrão /etc/rcN.d . Com os túneis IPSec no lugar, os aplicativos só precisam lançar pacotes nos endereços IP; a criptografia acontece way na pilha a partir daí.

Em caso negativo, OpenVPN. É mais complexo que o IPSec, mas compartilha muitas das mesmas vantagens.

Se isso não acontecer, os túneis ssh devem ser - mas você estará sempre correndo atrás deles quando as interrupções da rede tiverem caído. Eu prefiro ter (ainda mais) trabalho de canal radicular do que isso com túneis ssh.

    
por 05.11.2012 / 14:10
1
O

stunnel também pode ser uma opção interessante. Se você tiver várias VMs (não apenas duas), configurar uma VPN para elas e rotear todo o tráfego entre os nós também pode ser sensato até certo ponto - ela protegeria "tudo para sempre" - se você adicionar outra interconexão, ela será criptografado por padrão sem a necessidade de configurar encaminhamentos ssh / stunnel adicionais. A imposição do IPSec pode ser outra opção.

    
por 05.11.2012 / 14:30