WireGuard VPN : principes de base (2024)

FlashMovieShutterstock

WireGuard est un logiciel libre permettant de mettre en place un réseau virtuel privé (VPN). Un VPN ouvre un tunnel virtuel entre deux machines sur Internet. La connexion réseau passe par le tunnel comme si les machines étaient directement reliées à l’aide d’un câble réseau. Les VPN sont souvent utilisés par les grandes organisations telles que les instituts de recherche, les ministères et les entreprises. Cette méthode permet de réguler l’accès à certaines ressources du réseau et d’isoler le flux de données des utilisateurs par rapport au monde extérieur.

Il existe toute une palette de piles de protocoles VPN sophistiquées comme IPsec, OpenVPN, L2TP et PPTP. Les fournisseurs de solutions VPN s’appuient sur ces protocoles pour donner aux utilisateurs la possibilité de faire passer leur trafic Internet par le VPN. En raison des avantages de WireGuard, de plus en plus de fournisseurs de VPN intègrent ce protocole dans leurs applications.

Sommaire

  1. Qu’est-ce que WireGuard?
    1. Quelles sont les fonctionnalités de WireGuard?
    2. Quels sont les avantages de WireGuard?
  2. Comment fonctionne WireGuard?
  3. Premiers pas avec WireGuard
    1. Installer WireGuard sur votre système
    2. Générer une clé WireGuard
    3. Configurer les paramètres réseau pour WireGuard

Qu’est-ce que WireGuard?

WireGuard est une application et un protocole réseau permettant de mettre en place un tunnel VPN chiffré. Ce logiciel est un logiciel libre sous licence GPLv2 et est disponible sur toutes les plateformes. WireGuard est écrit dans les langages «C» et «Go» et fonctionne sous Windows, macOS, BSD, iOS et Android.

WireGuard permet de créer un tunnel crypté. Les flux de données passent par ce tunnel et sont ainsi protégés de tout accès par des personnes non autorisées. En dehors d’un cryptage fort, WireGuard offre également des optimisations pour les systèmes mobiles et les appareils de l’«Internet des objets (IdO)».

Depuis le printemps 2020, WireGuard est directement intégré dans le noyau Linux. Comme Linux sert de système d’exploitation standard à des milliards d’appareils connectés dans le monde, WireGuard peut être utilisé pratiquement partout. Cette large utilisation est également due à la légèreté du logiciel et à ses faibles exigences en termes de matériel.

Quelles sont les fonctionnalités de WireGuard?

La caractéristique centrale du protocole WireGuard est le routage Cryptokey. Ce routage consiste à attribuer les plages d’adresses IP autorisées au sein d’un tunnel à la clé publique du partenaire de connexion. Les paquets entrants du partenaire de connexion sont chiffrés à l’aide de la clé publique. Une fois cryptés, les paquets entrants sont uniquement distribués s’ils proviennent d’une adresse IP correspondant à la clé. Dans le cas contraire, le paquet est rejeté.

Contrairement aux piles de protocoles VPN établies, comme IPsec et OpenVPN, WireGuard n’est pas un protocole agile: au lieu de traiter les bases de chiffrement à utiliser individuellement lors de la phase de handshaking, WireGuard se limite à quelques options. Les fonctions de chiffrement utilisées sont segmentées ensemble. Si l’une des bases venait à être compromise, une nouvelle version plus sûre du protocole WireGuard serait publiée. Si les deux partenaires de la communication utilisent la nouvelle version, le flux de données sera alors sécurisé.

Au moment de la rédaction de cet article, les protocoles et les technologies de chiffrement suivants sont utilisés:

  • Noise protocol framework
  • Curve25519
  • ChaCha20
  • Poly1305
  • BLAKE2
  • SipHash24
  • HKDF

Quels sont les avantages de WireGuard?

L’un des plus grands avantages de WireGuard est la base de code ordonnée. La totalité du code noyau s’étend sur environ 4000 lignes de code seulement. Par comparaison, la taille du code d’une implémentation d’OpenVPN ou d’IPsec est d’environ 100000 à 600000 lignes. Une base de code plus petite est intrinsèquement plus sûre puisque les bugs peuvent être trouvés beaucoup plus facilement et la fenêtre d’attaque est réduite à un minimum.

Connu pour son style incisif et ses accès de colère occasionnels, le célèbre inventeur de Linux Linus Torvalds a rendu hommage à WireGuard après avoir procédé à une inspection du code:

Citation

“Maybe the code isn’t perfect, but I’ve skimmed it, and compared to the horrors that are OpenVPN and IPSec, it’s a work of art.” – Source: netdev - Re: GIT Networking

Traduction: «Le code n’est probablement pas parfait, mais je l’ai parcouru et comparé aux horreurs que sont OpenVPN et IPSec: c’est un chef d’œuvre.»

La faible complexité du logiciel implique une plus grande sécurité mais suppose également une plus grande performance. WireGuard fournit une vitesse de transfert plus importante et une plus faible latence que les protocoles concurrents. D’autre part, WireGuard n’est pas un protocole «bavard» («it is not a chatty protocol»): tant que l’utilisateur n’envoie pas de données à travers le tunnel, WireGuard reste en veille, ce qui consomme moins d’énergie et augmente la durée de vie des batteries.

Cette efficacité énergétique est tout particulièrement importante pour les appareils mobiles. Par plusieurs aspects, WireGuard est d’ailleurs bien positionné dans ce domaine. Le protocole supporte par exemple l’itinérance, c’est-à-dire le passage automatique du Wi-Fi au réseau mobile et vice versa. Si la connexion devait malgré tout s’interrompre, WireGuard permet généralement de rétablir la connexion plus rapidement que les protocoles concurrents.

Comment fonctionne WireGuard?

Sur le principe, WireGuard est un protocole VPN pair-à-pair décentralisé. Plutôt que de recourir impérativement à un serveur, WireGuard permet d’ouvrir directement un tunnel entre deux machines. Un «serveur» WireGuard est une machine simple sur laquelle les configurations pour les connexions avec plusieurs pairs sont enregistrées.

Avec WireGuard, la connexion est établie de façon similaire à Secure Shell (SSH): avec ce protocole, les utilisateurs (appelés «pairs») génèrent une clé publique et se l’échangent. Cette clé permet aux pairs de s’authentifier mutuellement et de chiffrer les paquets de données pour l’autre interlocuteur.

En dehors de la génération de la clé cryptographique, différents paramètres réseau doivent être paramétrés sur chaque pair (à ce sujet, voir notre guide sur la mise en place de WireGuard disponible ci-dessous). Pour permettre l’échange de données, les plages d’adresses IP autorisées sont associées à la clé cryptographique sur les pairs. Les paquets ne provenant pas des plages d’adresses autorisées sont rejetés. Avec WireGuard, l’envoi des données a lieu via le User Datagram Protocol (UDP).

Sur la machine d’un pair, la configuration est réalisée à l’aide de l’outil de commande de WireGuard ainsi que d’autres outils intégrés par défaut à Linux. Bien que la configuration du logiciel soit considérée comme relativement simple, WireGuard sert uniquement de base; une application basée sur ce protocole peut aider l’utilisateur lors des différentes étapes de la configuration et de l’établissem*nt de la connexion. Les utilisateurs des services VPN commerciaux peuvent ainsi profiter des avantages de ce protocole VPN moderne même sans ligne de commande.

Premiers pas avec WireGuard

En principe, WireGuard peut être installé et configuré assez simplement sur un système Linux. Il est par exemple possible de mettre en place un serveur VPN avec Raspberry Pi. La procédure diffère toutefois selon l’utilisation prévue, le système d’exploitation utilisé et l’environnement réseau existant. Dans notre exemple, nous pouvons uniquement vous donner une procédure approximative. Veuillez uniquement utiliser nos instructions pour réaliser des tests.

Conseil

Installez WireGuard sur un vps IONOS et créez votre propre VPN.

Installer WireGuard sur votre système

Exécutez les commandes suivantes dans l’invite de commande afin d’installer WireGuard sur votre système Linux:

# pour Ubuntu à partir de la version 19.10sudo apt install wireguard# pour les versions d’Ubuntu antérieures à 19.10sudo add-apt-repository ppa:wireguard/wireguardsudo apt-get updatesudo apt-get install wireguard

Note

Nous vous présentons ici l’installation sous Linux Ubuntu. Sur d’autres systèmes, vous devrez peut-être adapter le code.

Générer une clé WireGuard

À l’instar de SSH et PGP, les clés cryptographiques constituent la base de l’utilisation de WireGuard. Comme à l’accoutumée, il existe une clé privée qui doit être impérativement gardée secrète. Par ailleurs, une clé publique est créée à partir de la clé privée et est partagée avec les pairs. Elle permet aux pairs de chiffrer et d’échanger les données. Finalement, les pairs utilisent leur clé privée afin de déchiffrer les données cryptées.

Exécutez les commandes suivantes dans l’invite de commande afin de générer une clé WireGuard privée et publique:

# Créer un répertoire pour les clés# ATTENTION: uniquement à des fins de test, le code n’est pas sécurisé!mkdir ~/.wireguard/ && cd ~/.wireguard/# Définir les droits sur le fichierumask 077# Générer la clé privéewg genkey > privatekey# Générer la clé publique à partir de la clé privéewg pubkey < privatekey > publickey

Configurer les paramètres réseau pour WireGuard

L’installation de WireGuard et la génération de la clé sont des préparatifs de base se déroulant de façon plus ou moins similaire sur chaque système. En revanche, la configuration de WireGuard dépend des paramètres réseau locaux. Par conséquent, nous pouvons uniquement vous donner un schéma général et nous vous recommandons le guide Quick Start du projet WireGuard pour une utilisation plus approfondie.

La procédure générale pour mettre en place une connexion réseau avec WireGuard suit le schéma suivant:

# Ajouter l’interface réseau WireGuardip link add dev wg0 type wireguard# Configurer les adresses IPip address add dev wg0 192.168.2.1 peer 192.168.2.2# Configurer l’interface réseau en utilisant le fichier de configurationwg setconf wg0 myconfig.conf# Activer l’interface réseauip link set up dev wg0

En résumé

WireGuard est un concurrent moderne et léger des piles de protocoles VPN vieillissantes que sont IPsec et OpenVPN et pourrait bien les remplacer très largement dans un avenir proche.

  • Outils
  • Sécurité
WireGuard VPN : principes de base (2024)

FAQs

Can WireGuard VPN be detected? ›

Yes, WireGuard can be detected. It doesn't do VPN obfuscation, mostly because of the insistence on UDP transmission mode.

Can WireGuard be trusted? ›

WireGuard is generally considered one of the safest protocols today with its simple design, less code, and fewer possible bugs.

What are the limitations of WireGuard? ›

WireGuard explicitly does not support tunneling over TCP, due to the classically terrible network performance of tunneling TCP-over-TCP. Rather, transforming WireGuard's UDP packets into TCP is the job of an upper layer of obfuscation (see previous point), and can be accomplished by projects like udptunnel and udp2raw.

What is the vulnerability of WireGuard VPN? ›

The WireGuard client 0.5. 3 on Windows insecurely configures the operating system and firewall such that traffic to a local network that uses non-RFC1918 IP addresses is blocked. This allows an adversary to trick the victim into blocking IP traffic to selected IP addresses and services even while the VPN is enabled.

Can WireGuard VPN be tracked? ›

WireGuard does not provide obfuscation, meaning that internet service providers (ISPs) can see when you are using it — although, of course, they can't see what you're using it for.

How do I make my VPN undetectable? ›

You can, however, use additional tips and tricks to make yourself as close to undetectable as possible:
  1. Switch VPN servers.
  2. Change your VPN protocol.
  3. Use obfuscated servers or a stealth VPN.
  4. Get a dedicated IP address.
  5. Change ports.
  6. Change your DNS settings.
  7. Send your VPN traffic through a proxy.
  8. Swap to mobile data.

Why not to use WireGuard? ›

It is extensible that new cryptographic primitives can be added. WireGuard does not have that. That means WireGuard will break at some point, because one of the cryptographic primitives will weaken or entirely break at some point.

Can WireGuard be hacked? ›

VPN protocols are sets of rules that define how data and traffic are routed between your device and the VPN server. Protocols such as OpenVPN, WireGuard, or IKEv2 have no known vulnerabilities and are considered secure.

Does WireGuard hide your IP? ›

As explained above WireGuard does not allocate a dynamic IP address to the VPN user. And, it indefinitely stores user IP addresses on the VPN server until the server reboots. So, there is no anonymity and privacy in WireGuard.

Is anything better than WireGuard? ›

Verdict on Security

There are no known security flaws in either protocol. If security is your topmost priority, the conservative option is OpenVPN. It has simply been around much longer than WireGuard, gone through more third-party security audits, and has a far longer track record than WireGuard.

How much does WireGuard cost? ›

Since WireGuard and OpenVPN are free software, there is no expense associated with using them. Though there are some free solutions, you'll still need to pay for a VPN subscription. Since WireGuard and OpenVPN are free software, there is no expense associated with using them.

Is WireGuard private? ›

When you connect to our VPN server via WireGuard, your device can only see the IP address 10.2. 0.2, and the website you visit can only see the public IP address of our VPN server. Your true IP address remains secure and private, just as it would with OpenVPN.

What is the risk of using a VPN? ›

One of the major drawbacks of a VPN is how quickly someone can gain access if they're able to receive the credentials to one user's VPN. If an individual wants access to your company's entire network, all a criminal would need to do to gain access is to receive the credentials of one employee's VPN.

Is WireGuard the best VPN? ›

WireGuard is a secure tunneling protocol. In fact, owing to its use of modern, well-vetted cryptography, WireGuard is one of the safest VPN protocols out there. Without compromising either the VPN server or your client device, an external attacker can't figure out much about your browsing.

Does WireGuard encrypt all traffic? ›

The traffic that flows within the tunnel is of course encrypted, but it must emerge unencrypted on the other end to reach its destination.

Is WireGuard port detectable? ›

UDP: WireGuard uses UDP as its transport protocol. There is no standard port and typically WireGuard is detected through heuristics.

Is it possible to detect if someone is using a VPN? ›

Overview of VPN detection methods. VPNs can be detected through simple mechanisms like comparing the actual browser timezone with the target server's exit node or by using databases that store information about whether a given IP address belongs to the VPN.

Is My VPN Traceable? ›

No. Your data is encrypted, so your ISP can't see its contents. This includes DNS requests , which are sent through the VPN tunnel and resolved by the VPN provider. Your ISP can see the IP address of the VPN server you're connected to, but it can't see any connections made after that.

References

Top Articles
Latest Posts
Article information

Author: Terrell Hackett

Last Updated:

Views: 5898

Rating: 4.1 / 5 (72 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Terrell Hackett

Birthday: 1992-03-17

Address: Suite 453 459 Gibson Squares, East Adriane, AK 71925-5692

Phone: +21811810803470

Job: Chief Representative

Hobby: Board games, Rock climbing, Ghost hunting, Origami, Kabaddi, Mushroom hunting, Gaming

Introduction: My name is Terrell Hackett, I am a gleaming, brainy, courageous, helpful, healthy, cooperative, graceful person who loves writing and wants to share my knowledge and understanding with you.