Possibilidades de proteger o tráfego de rede no datacenter sem adicionar muita latência

Possibilidades de proteger o tráfego de rede no datacenter sem adicionar muita latência

Estou procurando possibilidades (e seus prós e contras) para proteger o tráfego de rede dos componentes de um aplicativo de tempo crítico em um data center. O objetivo é minimizar os danos que um invasor pode causar se conseguir comprometer uma VM. Será impossível ler o tráfego entre outras VMs (não comprometidas). Isto poderia ser conseguido através de criptografia ou limitando o acesso à rede.

Temos um ambiente VMware, vários hosts ESXi e um firewall Fortigate. Partes do tráfego interno ainda não estão criptografadas porque o aplicativo abre diversas conexões, uma após a outra. E há um limite de latência em todo o processo.

Devido ao limite de latência, o uso (trivial) de TLS para cada conexão não é uma opção. Talvez isso pudesse ser feito com proxies em todos os sistemas que mantêm as conexões TLS abertas independentemente do que o aplicativo está fazendo.

Acho que usar uma VPN entre todos os sistemas envolvidos (cerca de 50) seria um pesadelo de gerenciamento. Usamos keepalived, o que provavelmente torna a solução VPN ainda pior.

Também penso em usar entradas ARP permanentes como proteção contra falsificação de ARP. VMware evita falsificação de MAC. Isso não acrescentaria nenhuma latência e evitaria a necessidade de criptografia. Mas não funciona bem com o Fortigate e nem com IPs virtuais.

Estou interessado em opiniões sobre as abordagens mencionadas e outras abordagens das quais ainda não tenho conhecimento.

O que outras organizações com microsserviços e restrições de tempo fazem? Não exijo uma declaração sobre qual é a melhor solução. Gostaria de saber o que se mostrou (não) viável.

Responder1

Parece que você está procurando o que hoje é chamado de "microssegmentação" como parte de uma arquitetura de confiança zero.

Basicamente, com a segmentação tradicional (firewall e vLAN), você limita as comunicações entre sub-redes - evita que alguém se comunique, a menos que atenda aos critérios determinados. Na microssegmentação, você limita e/ou inspeciona o tráfego entre aplicativos/serviços que residem na mesma sub-rede. Isso é mais facilmente realizado no nível do hipervisor, já que o hipervisor pode ver nativamente todo o tráfego que passa de/para seus convidados.

E confiança zero refere-se ao antigo ditado de segurança de “não confiar em ninguém”, nem mesmo nos seus próprios sistemas. Você estende o nível mínimo de confiança, basicamente o equivalente operacional da “necessidade de saber” para obter informações. Os servidores de aplicativos podem se comunicar com o mundo externo apenas como respostas a solicitações TLS, nada mais é permitido - etc. Você limita a confiança a requisitos explícitos para operações, não permitindo nada mais.

Por exemplo, você poderia usar a microssegmentação para dizer que o Front-End-App-Server-A pode se comunicar com o Mid-Tier-Logic-Server-A que pode, por sua vez, se comunicar com o Database-Server-A. Mas o servidor front-end não pode se comunicar diretamente com o servidor de banco de dados. E o Front-End-A não pode se comunicar com o Front-End-B, mesmo que estejam na mesma sub-rede.

Ultimamente, a VMware tem feito um grande alarde sobre o uso da microssegmentação em sua plataforma. Parece que você deveria dar uma olhada:https://www.vmware.com/solutions/micro-segmentation.html

Isso ignora as restrições de tempo de criação de sessão para criptografia. Além disso, faz o que a criptografia não consegue. (VPNs ou SSL/TLS protegem os dados em trânsito, mas na verdade não limitam os danos que um invasor pode causar uma vez dentro da rede "segura". A segmentação com confiança limitada limita os próximos passos possíveis dos invasores - basicamente, eles precisam derrotar um novo firewall cada vez que eles tentam migrar para um novo vetor.) E tudo é feito no nível do hipervisor/rede; o que significa que você não precisa reescrever seus aplicativos para usá-lo. Configure-o no nível da infraestrutura e deixe seus aplicativos continuarem fazendo o que estão fazendo.

Responder2

Basicamente, a VPN teria um impacto de desempenho semelhante ao do TLS. Então você precisa de uma solução mais barata em termos de latência.

  1. Você pode usar o Firewall ESXi. (Basicamente, a tecnologia VMware é próxima do Linux e a filtragem L2 e L3 em pontes e outros componentes de rede virtual é possível).

  2. Você pode usar um tipo de segmentação de rede – o uso de vários adaptadores de rede atribuídos a diferentes grupos de convidados ou convidados pode criar algumas barreiras adicionais.

  3. Você pode usar alguma configuração de VLAN, mas IMHO é uma estratégia um pouco superestimada.

informação relacionada