No final de julho, os desenvolvedores do túnel VPN WireGuard propuseram , que irão tornar seu software para organização de túneis VPN parte do núcleo do Linux. No entanto, a data exata de implementação da «ideia» ainda permanece desconhecida. Abaixo, vamos falar mais sobre essa ferramenta.
/ фото
Um resumo sobre o projeto
WireGuard — um túnel VPN de nova geração criado por Jason Donenfeld, chefe da empresa Edge Security. O projeto foi desenvolvido como simples e rápida ao OpenVPN e IPsec. A primeira versão do produto continha apenas 4 mil linhas de código. Para comparação, o OpenVPN possui cerca de 120 mil linhas, enquanto o IPSec tem 420 mil.
De acordo com desenvolvedores, WireGuard é fácil de configurar, e a segurança do protocolo é alcançada . : Wi-Fi, LTE ou Ethernet, é necessário reconectar-se ao servidor VPN a cada vez. Servidores WireGuard, por outro lado, não interrompem a conexão, mesmo que o usuário tenha recebido um novo endereço IP.
Apesar de WireGuard ter sido inicialmente desenvolvido para o núcleo Linux, os desenvolvedores com uma versão portátil da ferramenta para dispositivos Android. O aplicativo ainda está em desenvolvimento, mas já pode ser testado. Para isso, você precisa .
No geral, WireGuard tem ganhado bastante popularidade e até foi adotado por vários provedores de VPN, como Mullvad e AzireVPN. Uma grande quantidade de existem guias preparados pelos autores do projeto. .
(p.18) foi observado que a largura de banda do WireGuard é quatro vezes maior do que a do OpenVPN: 1011 Mbit/s contra 258 Mbit/s, respectivamente. WireGuard também supera a solução padrão para Linux, IPsec — que tem 881 Mbit/s. Ele se destaca também pela simplicidade de configuração.
Em Após a troca de chaves (a conexão VPN é inicializada quase como no SSH) e o estabelecimento da conexão, o WireGuard resolve todas as outras tarefas automaticamente: não há necessidade de se preocupar com roteamento, controle de estado, etc. Esforços adicionais de configuração são necessários apenas se você quiser implementar criptografia simétrica.
Anders Hojbjerg

/ фото
Para a instalação, será necessário um distribuidor com núcleo Linux "superior" a 4.1. Ele pode ser encontrado nos repositórios dos principais distribuidores Linux.
$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools
Como observam os editores xakep.ru, a montagem manual a partir do código fonte também não é difícil. Basta levantar a interface e gerar as chaves pública e privada:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard interface para trabalhar com o provedor criptográfico . Em vez disso, é usado um cifrador de fluxo , criptográfico Poly1305 e suas próprias funções de hash criptográfico.
A chave secreta é gerada com a aplicação do baseado em curvas elípticas . Ao realizar a hash, são empregadas e . Devido ao formato de timestamps o protocolo descarta pacotes com um valor de timestamp inferior, evitando assim e .
Nesse processo, o WireGuard utiliza a função ioctl para controlar a entrada/saída (anteriormente utilizava-se ), o que torna o código mais limpo e simples. É possível verificar isso ao olhar o .
Planos dos desenvolvedores
Atualmente, o WireGuard é um módulo do núcleo fora da árvore. Mas o autor do projeto, Jason Donenfeld , acredita que já é hora de uma implementação total no núcleo Linux, pois é mais simples e confiável do que outras soluções. Jason, nesse aspecto, é até mesmo elogiado por Linus Torvalds — ele chamou o código do WireGuard de "obra de arte".
No entanto, ninguém fala sobre datas exatas de implementação do WireGuard no núcleo. E que isso aconteça com o lançamento do núcleo Linux 4.18 em agosto. Contudo, há a probabilidade de que isso ocorra em um futuro próximo: na versão 4.19 ou 5.0.
Quando o WireGuard for adicionado ao núcleo, os desenvolvedores aperfeiçoar o aplicativo para dispositivos Android e começar a desenvolver um aplicativo para iOS. Além disso, está previsto concluir as implementações em Go e Rust e portá-las para macOS, Windows e BSD. Também está planejada a implementação do WireGuard para sistemas mais "exóticos": , , assim como muitas outras coisas interessantes. Todas elas estão listadas no dos autores do projeto.
P.S. Mais alguns artigos do nosso blog corporativo:
A principal direção da nossa atividade — fornecimento de serviços em nuvem:
| | | | | |
Fonte: habr.com
