VPN em ambientes de servidor de hospedagem em nuvem / servidor dedicado, túneis IPSec x tinc

9

Estou no processo de projetar uma configuração de rede virtual privada para um ambiente de hospedagem em nuvem. Dados nossos requisitos, eu realmente não vejo isso como diferente de um ambiente de servidor dedicado. A idéia é que queremos permitir que os clientes possam exigir que seus usuários se conectem a máquinas virtuais específicas ou servidores dedicados usando uma VPN que possa fornecer criptografia auxiliar (por exemplo, para trabalhos de impressão enviados de volta às redes dos clientes).

Queremos oferecer suporte a host IPSec (ESP e AH) e, é claro, túneis SSH, mas nenhum deles realmente oferece a capacidade de usar adaptadores VPN. Estamos considerando, consequentemente, adicionar pelo menos alguns dos itens a seguir, mas como o espaço é escasso, queremos padronizar não mais que um ou dois deles (um seria melhor):

  1. Suporte ao túnel IPSec no host virtual ou dedicado
  2. tinc
  3. PPTP

Como nossos servidores que fazem backups etc. podem estar em diferentes datacenters, preferimos poder reutilizar nossa abordagem de VPN aqui. Isso parece excluir o PPTP. Meu pensamento atual é que o IPSec provavelmente será melhor porque podemos usar adaptadores VPN padrão, mas a configuração do roteamento (com base nos requisitos do cliente) provavelmente será significativamente mais difícil, e é por isso que também estamos analisando o tinc.

Qual destes dois é preferível? É meu medo que o gerenciamento de roteamento provavelmente seja uma forte dor de cabeça com o IPSec injustificado? Existe uma maneira fácil de contornar isso? Há outras dicas sobre tinc que estou perdendo (ou seja, além de exigir um cliente separado)?

Atualização em resposta à resposta de @ Wintermute :

Sim, esta pergunta é da perspectiva do servidor. O motivo é que esses servidores são efetivamente desconectados das redes do cliente. Sim, nosso mercado alvo é a rede de PME. Sim, esperamos usar IPs públicos para cada servidor cliente, a menos que eles precisem de algo diferente (e então possamos conversar).

A solução na qual estamos nos inclinando é aquela em que os clientes definem túneis IP e os intervalos de rede acessíveis por esses túneis e os unimos com nossas próprias ferramentas de gerenciamento (que estão em desenvolvimento), que conectam as solicitações dos clientes às alterações de configuração. O problema é que, como não é provável que rodemos software de roteamento nos vms e servidores, a tabela de roteamento precisa ser gerenciada estaticamente para que os clientes que cometerem erros na configuração descobrirão que as VPNs não funcionam corretamente.

Também é provável que usaremos o ESP pela rede para nossas próprias operações internas (para coisas como backups). Toda a configuração é bastante complexa e possui muitas perspectivas diferentes, de centralizada no servidor (nosso VPN de cliente a instância hospedada), centralizada em rede (material interno) e centralizada em banco de dados (nossas ferramentas). Portanto, eu não diria que a pergunta é representativa de toda a nossa abordagem (e as perguntas estão sendo feitas em vários sites de SE).

Nada disso realmente afeta a questão como um todo. Talvez seja um contexto útil.

Chris Travers
fonte

Respostas:

6

Não tenho certeza sobre o tinc, mas o IPSEC é quase obrigatório. Nenhum negócio sério confiaria no PPTP.

Não tenho certeza de como o IPSEC afeta o roteamento. Um túnel é um túnel, independentemente da criptografia. Você encontrará os mesmos problemas: dividir o túnel ou não, fazer com que os clientes entendam o conceito / veja os conflitos de IP da LAN de um cliente em particular com o pool de VPN que você escolheu etc.

Parece que você está visando o mercado de PMEs (servidores individuais, login direto etc.), de modo que exclua soluções mais sofisticadas, mas listarei duas abordagens possíveis de qualquer maneira

  • algum tipo de concentrador de VPN que permite perfis. Todos os clientes efetuam login no concentrador de VPN e, dependendo do perfil / grupo / qualquer que seja a teminologia do fornecedor, obtêm permissões para usar o protocolo X para IP Y (ou seja, seu próprio servidor).

  • Roteadores virtuais Cisco ASR1000V - cada cliente recebe um, você pode executar túneis IPSEC diretos (com VTIs para facilitar o roteamento) ou até direcionar o MPLS de volta aos clientes para que o roteador apareça como apenas mais uma ramificação em sua topologia e aloque seus VNICs VLANs etc., por dentro, para que eles tenham uma boa ramificação virtual.

  • em uma versão em escala menor do anterior, usamos o monowall com grande efeito para essa finalidade (ou seja, cada cliente obtém um dispositivo virtual de camada 3 que atua como um roteador / firewall, faz VPN neste dispositivo e obtém acesso apenas às suas VLANs) , no entanto, cada roteador / firewall precisará de seu próprio endereço IP público.

Re: sua abordagem atual, você percebe que cada servidor precisa de um IP público ou que possui um sistema complicado e complicado de NATs onde o caminho VPN de cada cliente recebe uma única porta ou similar.

Eu recomendo que um networker em tempo integral analise qualquer projeto / proposta que você tenha, parece que você está vindo disso de um servidor em segundo plano.

wintermute000
fonte
2
Além disso, isso pode parecer um pequeno detalhe, mas você não pode mapear o ESP de volta pela porta TCP sem configurar um túnel anterior sobre outro protocolo. Isso ocorre porque o ESP funciona no nível do IP e, portanto, não tem acesso aos números de porta. Existe o Nat-T, que é ESP sobre UDP, mas isso é ainda mais complexo. Enfim, imaginei que eu sugeriria essa edição.
Chris Travers
1

Sim, você está certo. Parece que você terá que lidar com IPs separados, a menos que se agregue por meio de um concentrador de VPN. Como o concentrador é provavelmente a melhor aposta, você precisará de apenas 1 IP extra para todas as conexões VPN, mas sua interface externa precisará residir em uma sub-rede / VLAN diferente dos hosts IP públicos. Eu diria que, caso contrário, você está configurando a VPN IPSEC diretamente em cada servidor individual, que pesadelo

wintermute000
fonte