Quel est le meilleur choix: Wireguard ou OpenVPN? Le VPN préféré de Linus Torvalds





Les technologies VPN font rarement l'objet d'un examen approfondi: elles existent et existent. Le créateur de Wireguard, Jason A. Donenfeld, a eu de la chance après l'évaluation très élogieuse de Linus Torvalds sur la qualité du code.



Puis-je encore une fois dire mon amour et espérer qu'il fusionnera bientôt? Peut-être que le code n'est pas parfait, mais je l'ai parcouru et comparé aux horreurs d'OpenVPN et d'IPSec, c'est une œuvre d'art.


Peu de temps après, Wireguard s'est retrouvé en amont du noyau Linux stable. Qu'est-ce qui rend Wireguard si génial et différent des autres VPN?



Chiffrement: différences entre Wireguard et OpenVPN



Wireguard adopte une approche minimaliste et simple du chiffrement, éliminant délibérément la flexibilité et les choix de protocole trop coûteux. S'il n'y a pas de choix de protocoles, il n'y a pas de processus de négociation dans lequel des failles de sécurité sont traditionnellement trouvées. De plus, les vulnérabilités SSL / TLS, venant dans un flux régulier, ne favorisent pas non plus la richesse du choix.



Wireguard





Contrairement à OpenVPN, Wireguard n'utilise pas de certificats X.509 et n'a aucun problème associé . Au lieu de cela, Wireguard utilise un cryptage asymétrique à clé publique et privée.



Protocoles de cryptage OpenVPN



OpenVPN prend en charge de nombreux algorithmes cryptographiques utilisant la bibliothèque OpenSSL . Plus spécifiquement, les algorithmes suivants sont utilisés pour le cryptage et l'authentification. Ces fonctions sont disponibles pour les sommes de hachage. OpenVPN en conjonction avec OpenSSL prend en charge les normes PKI RSA, DSA et ECDSA, mais elles ne sont pas toutes adaptées à tous les scénarios utilisateur. Par exemple, les clés ECDSA n'ont pas encore été largement prises en charge par les autorités de certification racine.



aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb

aes-256-cbc aes-256-ecb aria-128-cbc aria-128-cfb

aria-128-cfb1 aria-128-cfb8 aria-128-ctr aria-128-ecb

aria-128-ofb aria-192-cbc aria-192-cfb aria-192-cfb1

aria-192-cfb8 aria-192-ctr aria-192-ecb aria-192-ofb

aria-256-cbc aria-256-cfb aria-256-cfb1 aria-256-cfb8

aria-256-ctr aria-256-ecb aria-256-ofb base64

bf bf-cbc bf-cfb bf-ecb

bf-ofb camellia-128-cbc camellia-128-ecb camellia-192-cbc

camellia-192-ecb camellia-256-cbc camellia-256-ecb cast

cast-cbc cast5-cbc cast5-cfb cast5-ecb

cast5-ofb des des-cbc des-cfb

des-ecb des-ede des-ede-cbc des-ede-cfb

des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb

des-ede3-ofb des-ofb des3 desx

idea idea-cbc idea-cfb idea-ecb

idea-ofb rc2 rc2-40-cbc rc2-64-cbc

rc2-cbc rc2-cfb rc2-ecb rc2-ofb

rc4 rc4-40 rc5 rc5-cbc

rc5-cfb rc5-ecb rc5-ofb seed

seed-cbc seed-cfb seed-ecb seed-ofb

sm4-cbc sm4-cfb sm4-ctr sm4-ecb












(1:701)$ openssl dgst --list



Supported digests:



-blake2b512 -blake2s256 -md4

-md5 -md5-sha1 -mdc2

-ripemd -ripemd160 -rmd160

-sha1 -sha224 -sha256

-sha3-224 -sha3-256 -sha3-384

-sha3-512 -sha384 -sha512

-sha512-224 -sha512-256 -shake128

-shake256 -sm3 -ssl3-md5

-ssl3-sha1 -whirlpool











  • UDP / TCP - comme protocole de couche de transport;
  • Le secret de transmission parfait est le principe d'empêcher la compromission des clés de session.


Conclusions sur le chiffrement et les normes de sécurité



Wireguard est plus sûr d'un point de vue architectural en raison du fait que la surface d'attaque est beaucoup plus petite que celle d'OpenVPN. Néanmoins, OpenVPN est considéré comme très sûr et fiable, ayant subi plusieurs fois des audits de code indépendants. Pour cette raison, OpenVPN bénéficie d'une approche conservatrice pour choisir une solution VPN.



Dans le même temps, le manque de flexibilité et de choix de la méthode de cryptage crée des obstacles importants pour l'utilisation de Wireguard dans le segment des entreprises des utilisateurs VPN. Imaginez une situation typique pour nos employés dans laquelle les employés se connectent à un réseau de travail via VPN à partir de divers appareils. Dans une telle situation, le manque de flexibilité et de choix créera beaucoup plus de problèmes qu'il ne pourra les éliminer.



Comparaison des performances



Puisque Wireguard est implémenté dans l'espace noyau et qu'OpenVPN est dans l'espace utilisateur, le premier devrait avoir un avantage en termes de vitesse. Cela est dû au fait que les packages sont constamment copiés d'un espace à un autre, et en outre, un service OpenVPN en arrière-plan constant est requis.



Tout cela doit être vérifié dans la pratique, heureusement il existe de nombreuses mesures de vitesse pour les tunnels VPN. Pour commencer, vous pouvez jeter un œil aux résultats du derby VPN de l'auteur de Wireguard lui-même. Voici quelques détails et résultats de mesure.



  • Technologies - IPSEC, OpenVPN et Wireguard;
  • Processeurs IntelCore i7-3820QM et Intel Core i7-5200U;
  • Cartes réseau - Intel 82579LM et Intel I218LM Gigabit Ethernet;






Comparaison des performances VPN de Jason A. Donenfeld



Dans les tests de débit et de réponse ping, Wireguard a nettement surpassé OpenVPN, ainsi que les deux variantes IPSec. De plus, lors du test de débit utilisant OpenVPN et IPSec, l'utilisation du processeur a atteint 100% . Dans le même temps, l'utilisation de Wireguard n'a pas tellement chargé le processeur central, permettant ainsi d'utiliser complètement les ressources de la carte réseau Gigabit Ethernet.



Il est naturel de supposer que l'auteur de Wireguard peut être biaisé dans le script et l'interprétation des résultats de la mesure des performances des technologies VPN. Par conséquent, il est logique de regarder d'autres tests de vitesse de différents VPN. Heureusement, tout ce qui est nécessaire pour cela est un serveur VPS, un VPN et un package iperf3.



Mais d'autres tests similaires montrent la supériorité de Wireguard dans les tests de performance.





Comparaison des performances de Wireguard et d'OpenVPN



Un fait inattendu est qu'openvpn-tcp est plus rapide qu'openvpn-udp, mais en y regardant de plus près, tout se met en place. Le flux TCP a moins de tests terminés que UDP. Dans tous les cas, Wireguard affiche ici aussi les meilleurs résultats de performance.



Dans la même série de tests, il est intéressant de comparer la vitesse d'une connexion VPN en fonction du nombre de sockets ouverts. Avec une augmentation de leur nombre, les performances de Wireguard chutent brusquement, bien qu'elles continuent d'être supérieures à openvpn-tcp et openvpn-udp.





Comparaison des performances de Wireguard et OpenVPN en fonction du nombre de sockets ouverts. TestID 0-600 correspond à openvpn-udp, 700-1200 à openvpn-tcp et 1300-1800 à Wireguard



Conclusions sur la vitesse de connexion VPN



Les tests de vitesse synthétiques de divers auteurs utilisant le package iperf3 suggèrent que Wireguard est plus rapide que OpenVPN.



La confidentialité des données



Les protocoles VPN mettent beaucoup plus l'accent sur la sécurité de la connexion que sur la confidentialité. Cependant, la possibilité de conserver l'anonymat est également importante - qui veut rédiger des notes explicatives sur le fait de télécharger un manuel Oracle ou un émulateur de topologie Cisco? Rien ne trahit une violation ainsi que l'adresse IP de l'utilisateur.



Les paramètres de Wireguard contiennent explicitement les adresses IP des utilisateurs et cette circonstance ne leur permettra pas de passer inaperçu après que le serveur s'intéresse aux forces de l'ordre. Bien sûr, vous ne pourrez pas lire le trafic réseau, mais vous pouvez identifier les participants à la connexion sécurisée.



La configuration d'une connexion sécurisée Wireguard elle-même est assez simple. L'installation d'abord.



(1:530)$ sudo emerge -av wireguard-modules wireguard-tools
These are the packages that would be merged, in order:

Calculating dependencies... done!
[binary  N     ] net-dns/openresolv-3.11.0  USE="(-selinux)" 
[binary  N     ] virtual/resolvconf-1 
[ebuild  N     ] net-vpn/wireguard-modules-1.0.20201221  USE="module -debug -module-src" 
[binary  N     ] net-vpn/wireguard-tools-1.0.20200827  USE="wg-quick" 

Would you like to merge these packages? [Yes/No] 
      
      





Nous créons des clés publiques et privées.



(1:531)$ wg genkey | tee privatekey | wg pubkey > publickey
      
      





Ensuite, vous devez configurer le fichier /etc/wireguard/wg0.conf.



/etc/wireguard/wg0.conf

[Interface]
Address = 10.0.0.1/24, fdc9:1f28:04d7:9ee9::1/64
SaveConfig = true
ListenPort = 51820
PrivateKey = 2JtKAUFzecmgIVzbscQh3iUZrZanxIzvbejcIkvC5Hk= #PEER_A_PRIVATE_KEY

[Peer]
PublicKey = rgqd1cHKgRWX3IkYYSlrKA/SW3qZUhSJMqwTq4+3eFs= #PEER_B_PUBLIC_KEY
PresharedKey = PEER_A-PEER_B-PRESHARED_KEY
AllowedIPs = 10.0.0.2/32, fdc9:1f28:04d7:9ee9::2/128
Endpoint = pb.example.com:51280
      
      





Le deuxième participant de la connexion doit configurer le même fichier en lui-même, en précisant sa clé privée et la clé publique du participant A. Pour établir la connexion, chaque partie l'exécute wg-quick up interface_name.







. visible dans les fichiers journaux système et les tables SNMP jusqu'au redémarrage du serveur.

OpenVPN protège mieux la confidentialité des connexions client, car il ne nécessite pas la saisie des adresses IP ou des noms de réseau des ordinateurs clients avant d'établir une connexion sécurisée.



Conclusions sur la confidentialité des données



Dans cette nomination, OpenVPN a un avantage certain du fait que seul Wireguard assume le stockage des adresses IP des utilisateurs sur un serveur VPN pendant une longue période.



Bottom Line: Quel VPN choisir?



Il existe une myriade de cas d'utilisation de VPN personnalisés, et la même recommandation est peu susceptible d'être bonne pour tout le monde. En conséquence, pour différents scénarios, deux groupes peuvent être distingués avec la solution VPN la plus appropriée.



  • Si vous êtes un utilisateur régulier;
  • Vous avez besoin d'un VPN pour contourner les restrictions ridicules de RKN;
  • la vitesse compte pour vous, par exemple pour le partage de fichiers ou le fonctionnement de votre application;


Utilisez Wireguard.



  • Les utilisateurs professionnels des moyennes et grandes entreprises utilisant VPN pour l'accès à distance au réseau interne;
  • les utilisateurs professionnels qui fournissent un accès à distance via VPN aux ressources informatiques contenant des données confidentielles ou des secrets commerciaux;
  • toute personne qui a besoin d'une solution VPN fiable et éprouvée dans le temps;




Mieux vaut utiliser OpenVPN.



Eh bien, vous savez déjà quel VPS prendre pour VPN.






All Articles