Se eu tiver várias instâncias do AWS EC2 e do Azure em execução em regiões separadas. Estou usando o rabbitmq para trocar mensagens entre eles. Devo me preocupar em adicionar TLS e criptografar essas conexões?
Em outras palavras, se o servidor A estiver na AWS us-east, por exemplo, e o servidor B estiver no azure, quão ruim será se eles trocarem informações sem que sejam criptografadas? Somente o provedor de serviços de Internet e a Amazon/Microsoft poderão ver esses dados não criptografados corretos?
Obviamente, vou criptografar qualquer coisa que lide com o cliente. Estou apenas curioso sobre 2 servidores back-end conversando entre si.
Editar
Obrigado pela ajuda pessoal. Eu sei como criptografar a conexão e também como configurar uma VPN. Desculpe eu formulei a pergunta incorretamente.
Eu só queria saber quem poderá ver esse tráfego entre esses servidores. Por que será arriscado? Eu sei que vai ser arriscado eu acredito em você lol. Eu só quero saber o porquê. Além disso, quão ruim será gerar meus próprios certificados SSL e confiar neles em cada servidor.
Sim.
O pensamento de segurança moderno é que você não considera sua própria rede / datacenter como mais confiável (do que sua WAN ou a Internet comum).
Tradicionalmente, seria permitido padrões de segurança mais relaxados no datacenter, dentro do perímetro "seguro" de sua própria rede. Ambos os sistemas internos e usuários seriam confiáveis, implicitamente esperados para serem seguros e nunca abusivos ou maliciosos. Um só adicionou, por exemplo, TLS para conexões que cruzam o perímetro e as fronteiras de sua rede interna "segura".
Hoje em dia, o conceito de segurança cada vez mais prevalente é o de " confiança zero " , que abandona o conceito de redes/sistemas/usuários internos seguros e confiáveis e aplica o mesmo nível rigoroso de segurança em todos os lugares, independentemente.
Portanto, para dois servidores de back-end trocando informações entre si:
Em resposta à sua edição
A menos que a Amazon e a Microsoft tenham seus próprios interlinks físicos de datacenter, o tráfego entre as nuvens AWS e Azure será roteado pela internet pública e/ou transitará um ou mais segmentos de rede operados por terceiros. O caminho exato do seu tráfego e quais terceiros podem mudar a qualquer momento devido ao modo como os protocolos de roteamento e a internet funcionam.
Quando você não configura a criptografia de transporte, o tráfego estará em texto não criptografado e qualquer pessoa com acesso a qualquer segmento pode espionar trivialmente.
Dependendo das apostas, não se pode rotular como "confiável" uma rede física que não seja fisicamente visível de ponta a ponta.
Para um ser humano com visão média, isso equivale a um cabo entre dois computadores em uma única mesa.
De certa forma, você pode rotular uma rede como "confiável" se a operar, gerenciar e controlar fisicamente.
A Internet não é apenas de propriedade, controlada e operada por várias partes. Pode-se até não ter certeza de que o caminho que os pacotes percorrem hoje entre os pontos A e B será o mesmo amanhã.
Pacotes entre dois datacenters diferentes na mesma cidade podem passar por outro continente. Isso pode acontecer mesmo que esses datacenters tenham uma conexão direta dedicada entre eles. A conexão direta pode falhar ou ser comprometida de várias maneiras e a conectividade será mantida por outros meios.
E então, existem coisas como https://en.wikipedia.org/wiki/BGP_hijacking - um ataque que direciona o tráfego de interesse para dispositivos que o invasor controla.
Do ponto de vista da segurança é razoável proteger as conexões caso elas saiam do datacenter/provedor de serviços. Isso pode ser feito adicionando SSL/TLS a ambas as partes. Além disso, você pode estabelecer autenticação mútua (certificados cliente/servidor). Outra abordagem é estabelecer uma conexão VPN entre os hosts e encapsular toda a comunicação.