Qu’est-ce que WireGuard ? Nouveau protocole VPN qui fait du bruit dans la sphère Linux
- Damien Tremblay
- 16 juillet 2020
Des utilisateurs du système d’exploitation Linux en passant par son sulfureux créateur Linus Torvalds, il semblerait que de nombreux utilisateurs et cryptographes du monde entier soient en admiration devant le projet WireGuard.
Mais qu’est-ce que ce projet WireGuard et qu’est-ce qui le rend si spécial ?
Qu'est-ce que WireGuard ?
WireGuard est un protocole et service VPN open source facile à configurer, rapide et sécurisé qui utilise une cryptographie de pointe. Son but est de fournir au public un VPN plus rapide, plus simple d’utilisation et plus léger. D’après son créateur, Wireguard peut être facilement déployé à la fois sur des dispositifs « bas de gamme » comme les Raspberry Pi comme sur des serveurs plus haut de gamme.
La plupart des autres solutions actuellement disponibles sur le marché, comme IPsec et OpenVPN, ont été développées il y a plusieurs dizaines d’années maintenant. Jason Donenfeld, chercheur en sécurité et développeur du noyau Linux, est parti du constat que les protocoles utilisés actuellement étaient lents et difficiles à configurer et à gérer correctement.
Il a donc créé un nouveau protocole et une nouvelle solution VPN au code source ouvert. Cette solution se veut plus rapide, plus sûre, plus facile à déployer et à maintenir.
WireGuard a été développé à l’origine pour Linux, mais il est maintenant disponible pour les plateformes Windows, macOS, BSD, iOS et Android. La solution est toujours en cours de développement sur ces plateformes.
Pourquoi WireGuard est-il si populaire ?
Outre le fait qu’il soit multiplateforme, l’un des principaux avantages de WireGuard est sa facilité de déploiement. Configurer et déployer WireGuard est aussi simple que de configurer et d’utiliser SSH.
Consultez le guide de configuration de WireGuard. Il suffit « simplement » d’installer WireGuard, de générer des clés publiques et privées (comme pour SSH), de définir les règles du pare-feu et de démarrer le service. Comparez maintenant avec le guide de configuration d’OpenVPN. Vous devriez rapidement saisir la nuance…
Un autre point est que WireGuard utilise une base de code allégée avec seulement 4000 lignes de code. Comparez ce chiffre aux 100 000 lignes de code d’OpenVPN (un autre protocole VPN open source populaire). Il est clairement plus facile de déboguer WireGuard en cas de soucis.
Attention ne vous fiez toutefois pas à sa simplicité. WireGuard prend en charge toutes les techniques de cryptographie de pointe du moment, comme le fameux Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, par exemple.
Comme WireGuard fonctionne dans l’espace noyau sur les architectures Linux, il permet d’établir des réseaux sécurisés à grande vitesse.
Ce sont quelques-unes des raisons pour lesquelles WireGuard est devenu de plus en plus populaire ces derniers mois, créant un sacré « buzz » dans la communauté. Le créateur de Linux, Linus Torvalds, apprécie vraiment ce protocole au point qu’il a décidé de l’intégrer au noyau Linux 5.6 :
« Puis-je juste une fois de plus déclarer mon amour pour ce protocole et logiciel et espérer qu’il sera bientôt intégré à une version officielle de Linux ? Le code n’est peut-être pas parfait dans l’état des choses, mais je l’ai analysé et, comparé aux aberrations que sont OpenVPN et IPSec, c’est une œuvre d’art selon moi ».
Source : NordVPN
Si WireGuard est déjà disponible, pourquoi s'embêter à l'inclure dans le noyau Linux ?
La raison principale et que cela pourrait être déroutant pour les nouveaux utilisateurs de Linux, en plus du fait que Mr Torvalds ne soit pas le seul à prendre des décisions au sein de la fondation Linux.
Actuellement, vous pouvez installer WireGuard sur Linux en tant que module du noyau. Les applications courantes comme VLC, GIMP, etc. sont installées sur le noyau Linux (dans l’espace utilisateur), et non à l’intérieur de celui-ci.
Lorsque vous installez WireGuard en tant que module du noyau, vous modifiez le noyau Linux de votre propre chef et vous y ajoutez du code. En démarrant le noyau 5.6, vous n’aurez pas besoin d’ajouter manuellement le module du noyau. Il sera inclus dans le noyau par défaut.
L’inclusion de WireGuard dans le noyau 5.6 va très probablement étendre l’adoption de WireGuard et devrait apporter de gros changements sur la scène VPN actuelle.
Principaux atouts du protocole Wireguard :
- Cryptage mis à jour et plus robuste que pour les protocoles les plus utilisés actuellement
- Code relativement simple et minimaliste
- Amélioration des performances (vitesses de transfert, autonomie des appareils utilisant ce protocole, plus de sécurité…)
Inconvénients :
- Encore en phase de développement
- De nombreuses questions subsistent concernant la gestion des logs avec ce protocole
- Adoption encore limitée
Voici les VPN qui supportent actuellement WireGuard ou qui ont confirmé qu’ils le testent actuellement avec l’intention de supporter le protocole quand celui-ci sera prêt :
- NordVPN
- Cyberghost
- Surfshark
- ProtonVPN
- Private Internet Access
- PureVPN
- VyprVPN
- IPVanish
- Trust.Zone
- Mullvad
- AzireVPN
- VPN.ac
- TorGuard
- IVPN
Retrouvez notre guide complet sur les meilleurs VPN Wireguard du marché.
Principal problème de ce protocole
Le principal problème rencontré avec ce protocole VPN vient du fait qu’il n’attribue pas dynamiquement des adresses IP à toutes les personnes connectées à un serveur. Il faut donc stocker au moins quelques données utilisateur sur le serveur, ce qui compromet leur activité en ligne et leur vie privée.
En clair, lorsque votre ordinateur se connecte à la plupart des serveurs distants, VPN ou autres, le serveur distant attribue à votre ordinateur une adresse IP (Internet Protocol) aléatoire et utilise cette adresse pendant toute la durée de la session de connexion.
Ce processus fait partie du protocole de résolution dynamique de l’hôte, ou DHCP. Votre routeur Wi-Fi domestique utilise probablement le DHCP pour attribuer des adresses IP à chaque appareil du réseau Wi-Fi.
La prochaine fois que vous vous connecterez au même serveur, votre ordinateur pourrait se voir attribuer une adresse IP complètement différente. Si c’est le cas, toute personne pouvant voir cette adresse IP pourrait ne pas être en mesure de dire qu’il s’agit du même ordinateur qui se connecte les deux fois.
C’est ainsi que fonctionnent la plupart des serveurs VPN pour faire simple, mais pas les serveurs WireGuard. WireGuard exige plutôt que chaque appareil du réseau reçoive une adresse IP fixe, ou « statique ». La clé de cryptage de chaque appareil étant liée à cette adresse IP.
Cette procédure permet de réduire considérablement la complexité et le temps de traitement. Mais comme cela signifie qu’un appareil qui se reconnecte aura probablement la même adresse IP lors de la connexion suivante, il est beaucoup plus facile de tracer l’activité d’un appareil ou utilisateur spécifique.
NordVPN contourne ce problème ?
NordLynx de NordVPN, le premier gros acteur du marché à donner accès à ces utilisateurs à ce nouveau protocole, combine les vitesses élevées de WireGuard avec le système de traduction d’adresses réseaux (NAT) doublement personnalisé de NordVPN pour aider à protéger la vie privée des utilisateurs.
Le double système NAT de la société permet d’établir une connexion VPN sécurisée sans avoir besoin de stocker des données identifiables sur un serveur. Les adresses IP locales dynamiques ne sont attribuées que lorsque la session est active et l’authentification des utilisateurs se fait à l’aide d’une base de données externe sécurisée.
Comme NordLynx utilise le NAT deux fois, NordVPN dit pouvoir gérer les adresses IP statiques de WireGuard sans avoir à les enregistrer sur ses serveurs.
« Le système de double NAT permet d’établir une connexion VPN sécurisée sans avoir à stocker de données identifiables sur un serveur », explique NordVPN. « Les adresses IP locales dynamiques ne restent attribuées que lorsque la session est active ».
Conclusion
Compte tenu de l’état actuel du projet WireGuard, des implications liées à son utilisation sur la vie privée des utilisateurs et la gestion des logs et du fait que son code n’a pas encore été audité, WireGuard est toujours en phase de test et des progrès sont attendus en matière de gestion et logs des IP.
Un gros poids lourds du marché comme NordVPN a commencé à déployer une nouvelle technologie appelée NordLynx, qui est construite autour du protocole WireGuard, et qui améliore considérablement les vitesses du VPN pour leurs utilisateurs.
Le logiciel Linux de NordVPN offre NordLynx en option depuis juillet 2019. Lors de ses propres tests internes, NordVPN a déclaré que la nouvelle technologie « surpassait de manière significative » OpenVPN et IKEv2/IPsec, les protocoles VPN prédominants utilisés par NordVPN et la plupart des autres fournisseurs de services VPN.
WireGuard est considéré comme « la future norme industrielle » par de nombreux acteurs sur le marché du VPN. NordLynx sera disponible prochainement pour tous les utilisateurs de NordVPN, car la société a ajouté le support de ce protocole à ses clients Windows, Mac, iOS, Android et Linux.
Plus d'actu VPN
Le VPN Google One sur la série Pixel 8 n’encombrera pas vos notifications
iOS peut empêcher les VPN de fonctionner comme prévu et exposer vos données