WireGuard « viendra » dans le noyau Linux – pourquoi ?

Fin juillet, les développeurs du tunnel VPN WireGuard ont proposé ensemble de patchs, ce qui intégrera leur logiciel de tunneling VPN au noyau Linux. Cependant, la date exacte de mise en œuvre de « l’idée » reste inconnue. Ci-dessous la coupe, nous parlerons de cet outil plus en détail.

WireGuard « viendra » dans le noyau Linux – pourquoi ?
/ photo Tambako le jaguar CC

En bref sur le projet

WireGuard est un tunnel VPN de nouvelle génération créé par Jason A. Donenfeld, PDG d'Edge Security. Le projet a été développé comme simplifié et une alternative rapide à OpenVPN et IPsec. La première version du produit ne contenait que 4 120 lignes de code. À titre de comparaison, OpenVPN compte environ 420 XNUMX lignes et IPSec - XNUMX XNUMX.

Sur СЃР »РѕРІР ° Рј développeurs, WireGuard est facile à configurer et la sécurité du protocole est assurée grâce à des algorithmes cryptographiques éprouvés. Lors d'un changement de réseau: Wi-Fi, LTE ou Ethernet doivent se reconnecter au serveur VPN à chaque fois. Les serveurs WireGuard ne mettent pas fin à la connexion, même si l'utilisateur a reçu une nouvelle adresse IP.

Bien que WireGuard ait été initialement conçu pour le noyau Linux, les développeurs pris en charge et sur une version portable de l'outil pour les appareils Android. L'application n'est pas encore entièrement développée, mais vous pouvez l'essayer dès maintenant. Pour cela il vous faut devenez l'un des testeurs.

En général, WireGuard est très populaire et a même été mis en œuvre plusieurs fournisseurs VPN, tels que Mullvad et AzireVPN. Publié en ligne un grand nombre guides de configuration cette décision. Par exemple, il y a des guides, qui sont créés par les utilisateurs, et il existe des guides, préparé par les auteurs du projet.

Détails techniques

В documents officiels (p. 18) on constate que le débit de WireGuard est quatre fois supérieur à celui d'OpenVPN : 1011 Mbit/s contre 258 Mbit/s, respectivement. WireGuard est également en avance sur la solution standard pour Linux IPsec : elle dispose de 881 Mbit/s. Il le surpasse également en termes de facilité d’installation.

Une fois les clés échangées (la connexion VPN est initialisée un peu comme SSH) et la connexion établie, WireGuard gère lui-même toutes les autres tâches : il n'y a pas besoin de s'inquiéter du routage, du contrôle de l'état, etc. requis si vous souhaitez utiliser le cryptage symétrique.

WireGuard « viendra » dans le noyau Linux – pourquoi ?
/ photo Anders Hojbjerg CC

Pour l'installer, vous aurez besoin d'une distribution avec un noyau Linux antérieur à 4.1. On le trouve dans les référentiels des principales distributions Linux.

$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools

Comme le notent les éditeurs de xakep.ru, l'auto-assemblage à partir des textes sources est également facile. Il suffit d'ouvrir l'interface et de générer des clés publiques et privées :

$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey

WireGuard n'utilise pas interface pour travailler avec un fournisseur de cryptographie Cryptoapi. Au lieu de cela, un chiffrement de flux est utilisé ChaCha20, cryptographique insert d'imitation Poly1305 et fonctions de hachage cryptographique propriétaires.

La clé secrète est générée à l'aide Protocole Diffie-Hellman basé sur une courbe elliptique Curve25519. Lors du hachage, ils utilisent fonctions de hachage BLAKE2 и SipHash. En raison du format d'horodatage TAI64N le protocole rejette les paquets avec une valeur d'horodatage plus petite, ce qui empêcher le DoS- и rejouer les attaques.

Dans ce cas, WireGuard utilise la fonction ioctl pour contrôler les E/S (précédemment utilisée Lien réseau), ce qui rend le code plus propre et plus simple. Vous pouvez le vérifier en regardant code de configuration.

Offres de développeur

Pour l'instant, WireGuard est un module de noyau hors arborescence. Mais l'auteur du projet est Jason Donenfeld dit, que le moment est venu pour une implémentation complète dans le noyau Linux. Parce que c’est plus simple et plus fiable que les autres solutions. Jason à cet égard soutient le même Linus Torvalds lui-même a qualifié le code WireGuard d'« œuvre d'art ».

Mais personne ne parle des dates exactes d'introduction de WireGuard dans le noyau. ET à peine cela se produira avec la sortie du noyau Linux 4.18 en août. Cependant, il est possible que cela se produise dans un avenir très proche : dans la version 4.19 ou 5.0.

Lorsque WireGuard est ajouté au noyau, les développeurs хотят finalisez l'application pour les appareils Android et commencez à écrire une application pour iOS. Il est également prévu d'achever les implémentations dans Go et Rust et de les porter sur macOS, Windows et BSD. Il est également prévu d'implémenter WireGuard pour des systèmes plus « exotiques » : DPDKName, FPGA, ainsi que bien d'autres choses intéressantes. Tous sont répertoriés dans liste de choses à faire auteurs du projet.

PS Quelques articles supplémentaires de notre blog d'entreprise :

L'orientation principale de notre activité est la fourniture de services cloud :

Infrastructure virtuelle (IaaS) | Hébergement PCI DSS | Nuage FZ-152 | Hébergement SAP | Stockage virtuel | Cryptage des données dans le cloud | Stockage en ligne

Source: habr.com

Ajouter un commentaire