Welches ist besser zu wählen: Wireguard oder OpenVPN? Linus Torvalds Lieblings-VPN





VPN-Technologien werden selten eingehend untersucht: Es gibt und gibt. Wireguard-Erfinder Jason A. Donenfeld hatte Glück, nachdem Linus Torvalds die Codequalität scharf gelobt hatte.



Kann ich noch einmal meine Liebe dazu ausdrücken und hoffen, dass es bald verschmolzen wird? Vielleicht ist der Code nicht perfekt, aber ich habe ihn überflogen und im Vergleich zu den Schrecken von OpenVPN und IPSec ist es ein Kunstwerk.


Kurz danach landete Wireguard im Upstream des stabilen Linux-Kernels. Warum ist Wireguard so großartig und unterscheidet sich von anderen VPNs?



Verschlüsselung: Unterschiede zwischen Wireguard und OpenVPN



Wireguard verfolgt bei der Verschlüsselung einen minimalistischen und sachlichen Ansatz und eliminiert bewusst die zu teuren Flexibilitäts- und Protokolloptionen. Wenn es keine Auswahl an Protokollen gibt, gibt es keinen Verhandlungsprozess, in dem traditionell Sicherheitslücken gefunden werden. Darüber hinaus begünstigen SSL / TLS-Schwachstellen, die in einem gleichmäßigen Strom auftreten, nicht die große Auswahl.



Wireguard





Im Gegensatz zu OpenVPN verwendet Wireguard keine X.509-Zertifikate und hat keine damit verbundenen Probleme . Stattdessen verwendet Wireguard eine asymmetrische Verschlüsselung mit öffentlichen und privaten Schlüsseln.



OpenVPN-Verschlüsselungsprotokolle



OpenVPN unterstützt viele kryptografische Algorithmen, die die OpenSSL- Bibliothek verwenden . Insbesondere werden die folgenden Algorithmen zur Verschlüsselung und Authentifizierung verwendet. Solche Funktionen stehen für Hash-Summen zur Verfügung. OpenVPN in Verbindung mit OpenSSL unterstützt die PKI-Standards RSA, DSA und ECDSA, aber nicht alle sind für alle Benutzerszenarien geeignet. Beispielsweise haben ECDSA-Schlüssel noch keine umfassende Unterstützung von Stammzertifizierungsstellen erhalten.



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 - als Transportschichtprotokoll;
  • Perfekte Vorwärtsgeheimnis ist das Prinzip, um eine Kompromittierung der Sitzungsschlüssel zu verhindern.


Schlussfolgerungen zu Verschlüsselungs- und Sicherheitsstandards



Wireguard ist architektonisch sicherer, da die Angriffsfläche im Vergleich zu OpenVPN erheblich kleiner ist. Trotzdem gilt OpenVPN als sehr sicher und zuverlässig, da es viele Male unabhängige Code-Audits bestanden hat. OpenVPN profitiert daher von einer konservativen VPN-Lösung.



Gleichzeitig schafft die mangelnde Flexibilität und Auswahl der Verschlüsselungsmethode erhebliche Hindernisse für den Einsatz von Wireguard im Unternehmenssegment der VPN-Benutzer. Stellen Sie sich eine typische Situation für unsere Mitarbeiter vor, in der Mitarbeiter von verschiedenen Geräten aus über VPN eine Verbindung zu einem Arbeitsnetzwerk herstellen. In einer solchen Situation führt mangelnde Flexibilität und Auswahl zu viel mehr Problemen, als sie beseitigen können.



Leistungsvergleich



Da Wireguard im Kernel-Space und OpenVPN im User-Space implementiert ist, sollte Ersteres einen Geschwindigkeitsvorteil haben. Dies liegt an der Tatsache, dass Pakete ständig von einem Speicherplatz in einen anderen kopiert werden und außerdem ein OpenVPN-Hintergrunddienst mit konstantem Hintergrund erforderlich ist.



All dies muss in der Praxis überprüft werden. Glücklicherweise gibt es viele Geschwindigkeitsmessungen für VPN-Tunnel. Für den Anfang können Sie sich die VPN-Derby-Ergebnisse des Autors von Wireguard selbst ansehen. Hier einige Details und Messergebnisse.



  • Technologien - IPSEC, OpenVPN und Wireguard;
  • Prozessoren IntelCore i7-3820QM und Intel Core i7-5200U;
  • Netzwerkkarten - Gigabit-Ethernet mit Intel 82579LM und Intel I218LM;






Vergleich der VPN-Leistung von Jason A. Donenfeld



Sowohl bei Durchsatz- als auch bei Ping-Antworttests übertraf Wireguard OpenVPN sowie die beiden IPSec-Varianten deutlich. Während des Durchsatztests mit OpenVPN und IPSec erreichte die CPU-Auslastung außerdem 100% . Gleichzeitig hat die Verwendung von Wireguard den Zentralprozessor nicht so stark belastet, wodurch es möglich wurde, die Ressourcen der Gigabit-Ethernet-Netzwerkkarte vollständig zu nutzen.



Es ist natürlich anzunehmen, dass der Autor von Wireguard bei der Skripterstellung und Interpretation der Ergebnisse der Messung der Leistung von VPN-Technologien voreingenommen sein kann. Daher ist es sinnvoll, andere Geschwindigkeitstests verschiedener VPNs zu betrachten. Glücklicherweise ist hierfür lediglich ein VPS-Server, ein VPN und ein iperf3-Paket erforderlich.



Andere ähnliche Tests zeigen jedoch, dass Wireguard bei Leistungstests überlegen ist.





Vergleich der Wireguard- und OpenVPN-Leistung



Eine unerwartete Tatsache ist, dass openvpn-tcp schneller ist als openvpn-udp, aber bei näherer Betrachtung passt alles zusammen. Der TCP-Stream hat weniger abgeschlossene Tests als UDP. In jedem Fall zeigt Wireguard auch hier die besten Leistungsergebnisse.



In derselben Testreihe ist es interessant, die Geschwindigkeit einer VPN-Verbindung in Abhängigkeit von der Anzahl der offenen Sockets zu vergleichen. Mit zunehmender Anzahl sinkt die Wireguard-Leistung abrupt, obwohl sie weiterhin höher ist als die von openvpn-tcp und openvpn-udp.





Vergleich der Leistung von Wireguard und OpenVPN in Abhängigkeit von der Anzahl der offenen Sockets. TestID 0-600 entspricht openvpn-udp, 700-1200 openvpn-tcp und 1300-1800 Wireguard



Schlussfolgerungen zur Geschwindigkeit der VPN-Verbindung



Synthetische Geschwindigkeitstests verschiedener Autoren, die das iperf3-Paket verwenden, legen nahe, dass Wireguard schneller als OpenVPN ist.



Datenprivatsphäre



VPN-Protokolle legen viel mehr Wert auf Verbindungssicherheit als auf Datenschutz. Die Möglichkeit der Wahrung der Anonymität ist jedoch auch wichtig - wer möchte Erläuterungen zum Herunterladen eines Oracle-Lehrbuchs oder eines Cisco-Topologie-Emulators schreiben? Nichts verrät einen Verstoß sowie die IP-Adresse des Benutzers.



Die Einstellungen von Wireguard enthalten explizit die IP-Adressen der Benutzer, und dieser Umstand lässt sie nicht unbemerkt, nachdem der Server an Strafverfolgungsbehörden interessiert ist. Natürlich können Sie den Netzwerkverkehr nicht lesen, aber Sie können die Teilnehmer an der sicheren Verbindung identifizieren.



Das Einrichten einer sicheren Wireguard-Verbindung selbst ist ziemlich einfach. Installation zuerst.



(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] 
      
      





Wir erstellen öffentliche und private Schlüssel.



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





Als Nächstes müssen Sie die Datei /etc/wireguard/wg0.conf konfigurieren.



/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
      
      





Der zweite Teilnehmer der Verbindung muss dieselbe Datei bei sich selbst konfigurieren und dabei seinen privaten Schlüssel und den öffentlichen Schlüssel von Teilnehmer A angeben. Um eine Verbindung herzustellen, führt jeder Teilnehmer eine Leistung aus. Es wg-quick up interface_name.







ist ersichtlich, dass bei der Konfiguration von Wireguard die IP-Adresse oder der Hostname explizit festgelegt wird und sein wird In Systemprotokolldateien und SNMP-Tabellen sichtbar, bis der Server neu gestartet wird.

OpenVPN schützt die Vertraulichkeit von Clientverbindungen besser, da die IP-Adressen oder Netzwerknamen von Clientcomputern nicht eingegeben werden müssen, bevor eine sichere Verbindung hergestellt werden kann.



Schlussfolgerungen zum Datenschutz



Bei dieser Nominierung hat OpenVPN einen entscheidenden Vorteil, da nur Wireguard davon ausgeht, dass die IP-Adressen der Benutzer lange Zeit auf einem VPN-Server gespeichert werden.



Fazit: Welches VPN soll ich wählen?



Es gibt eine Vielzahl von benutzerdefinierten VPN-Anwendungsfällen, und es ist unwahrscheinlich, dass dieselbe Empfehlung für alle gilt. Dementsprechend können für verschiedene Szenarien zwei Gruppen mit der am besten geeigneten VPN-Lösung unterschieden werden.



  • Wenn Sie ein regulärer Benutzer sind;
  • Sie benötigen ein VPN, um lächerliche RKN-Einschränkungen zu umgehen.
  • Geschwindigkeit ist für Sie wichtig, beispielsweise für die gemeinsame Nutzung von Dateien oder den Betrieb Ihrer Anwendung.


Verwenden Sie Wireguard.



  • Geschäftsanwender mittlerer und großer Unternehmen, die VPN für den Remotezugriff auf das interne Netzwerk verwenden;
  • Geschäftsbenutzer, die über VPN Remotezugriff auf IT-Ressourcen bereitstellen, die vertrauliche Daten oder Geschäftsgeheimnisse enthalten;
  • Jeder, der eine zuverlässige und bewährte VPN-Lösung benötigt.




Verwenden Sie besser OpenVPN.



Nun, Sie wissen bereits, welchen VPS Sie für VPN verwenden müssen.






All Articles