O desafio com o OpenVPN
Em 2017, o Veeam PN foi lançado como parte do Veeam Recovery para Microsoft Azure. O caso de uso do Veeam PN foi além da extensão de redes do Azure para a recuperação de cargas de trabalho e foi adotado rapidamente por entusiastas de TI para a conectividade remota com laboratórios domésticos e a conectividade de redes remotas que podiam se espalhar entre plataformas locais de nuvem.
Nosso roteiro de desenvolvimento para o Veeam PN já estava traçado, mas descobrimos que nossos clientes queriam mais. Eles queriam usá-lo para a proteção de dados, combinando-o com o Veeam Backup & Replication para mover dados entre locais. Ao mover dados de backup, é fundamental utilizar ao máximo as conexões físicas subjacentes. Nossa equipe de P&D descobriu que, com o OpenVPN, não era possível escalonar e obter um desempenho de acordo com as expectativas, independentemente de qual combinação de CPU e outros recursos aplicássemos.
Veeam Powered Network v2 com WireGuard
Acreditamos firmemente que o WireGuard é o futuro das VPNs, com vantagens significativas em relação a protocolos mais estabelecidos como OpenVPN e IPsec. O WireGuard é mais escalável e provou ter desempenho superior ao OpenVPN em termos de taxa de transferência. Por isso tomamos a dura decisão de retirar o OpenVPN e substituí-lo pelo WireGuard para VPNs site a site. Para os desenvolvedores do Veeam PN, isso representou a ruptura e a substituição do código-fonte existente e, para os usuários existentes do Veeam PN, significou que não poderiam mais fazer um upgrade sem a desinstalação.
Além de nossa própria crença no WireGuard, também o vemos como protocolo preferencial, devido à sua ascensão no mundo do código aberto como um novo padrão em tecnologias VPN. O WireGuard oferece um grau maior de segurança por meio de uma criptografia aprimorada que opera de maneira mais eficiente, gerando mais desempenho e segurança. Ele consegue isso operando dentro do kernel e usando menos linhas de código (4.000, em comparação a 600.000 do OpenVPN), oferecendo mais confiabilidade ao conectar centenas de sites… Mais uma vez, pensamos em desempenho e escalabilidade para casos de uso mais específicos de backup e replicação.
O suporte recente ao WireGuard como um padrão de VPN foi ratificado por Linus Torvalds:
“Posso, mais uma vez, declarar meu amor ao [WireGuard] e esperar que ele seja mesclado [ao nosso código] logo? O código pode não ser perfeito, mas eu o examinei rapidamente e, em comparação ao horror do OpenVPN e do IPsec, é uma obra de arte.”
Linus Torvalds, na lista de discussão do kernel Linux
Mais segurança e desempenho
A segurança do WireGuard também foi um fator para substituirmos o OpenVPN. A segurança sempre é questão importante com qualquer VPN e o WireGuard adota uma abordagem mais simples em relação à segurança, ao utilizar cripto versionamento para lidar com ataques criptográficos. Em resumo, é mais fácil passar por versões de primitivos para autenticar em vez da negociação entre cliente e servidor quanto ao tipo de cifra e comprimento de chave.
Graças a essa abordagem simplificada de criptografia, além da eficiência do código, o WireGuard pode ter desempenho superior ao OpenVPN; com isso, o Veeam PN pode sustentar taxas de transferência significativamente mais altas (testes demonstraram aumento de cinco a 20 vezes no desempenho, dependendo da configuração de CPU), o que abre caminho para casos de uso além do escritório remoto básico ou do laboratório doméstico. Agora, o Veeam PN pode ser considerado como um modo de conectar vários sites com a capacidade de transferir e sustentar centenas de Mb/s, o que é perfeito para cenários de recuperação de desastres e proteção de dados.
Resolvendo o problema do UDP, configuração fácil e conectividade de local a site
Uma das limitações evidentes do WireGuard é o fato de que ele faz todo o seu trabalho por meio de UDP, o que pode causar desafios na implantação em redes restritas que, por padrão, confiam mais nas conexões TCP do que nas UDP. Para resolver esse potencial obstáculo à adoção, nossos desenvolvedores encontraram uma maneira de encapsular (com o mínimo de sobrecarga) o tráfego UDP do WireGuard sobre o TCP, de modo que os clientes possam escolher, dependendo da sua configuração de segurança de rede.
Ao incorporar o WireGuard em um appliance tudo em um (ou o instalando com um script simples em um Ubuntu Server já pronto), tornamos a instalação e configuração de VPNs complexas mais simples e confiáveis. Mantivemos o OpenVPN como protocolo para conectar de ponto a site, por enquanto, devido à distribuição mais ampla de clientes OpenVPN entre todas as plataformas. O acesso do cliente por meio do Veeam PN Hub é feito pelo OpenVPN; o acesso site a site é controlado pelo WireGuard.
Outras melhorias
Reduzir a complexidade era algo que queríamos conseguir com o Veeam PN, e quisemos garantir que isso permanecesse, independentemente de qual elemento subjacente estivesse fazendo o trabalho pesado. Certamente o acréscimo do WireGuard é a maior melhoria em relação ao Veeam PN v1; no entanto, há algumas outras melhorias listadas abaixo:
- Encaminhamento e configuração de DNS para resolver FQDNs em sites conectados.
- Novo relatório de processo de implantação.
- Melhorias na integração com o Microsoft Azure.
- Implantação manual e fácil do produto.
Conclusão
Mais uma vez, a premissa do Veeam PN é oferecer aos clientes da Veeam uma ferramenta gratuita que simplifica o processo tradicionalmente complexo de configuração, criação e gerenciamento de redes VPN, de site a site e local a site. A inclusão do WireGuard como plataforma de VPN de site a site permitirá que o Veeam PN vá além de seus casos de uso básicos iniciais e se torne uma opção para mais aplicações críticas, graças às melhorias que o WireGuard oferece. Reiteramos que escolhemos o WireGuard por acreditarmos que ele é o futuro dos protocolos VPN e estamos empolgados em levá-lo aos nossos clientes com o Veeam PN v2.
Recursos úteis:
WireGuard é marca registrada de Jason A. Donenfeld.