Der NetBSD-Kernel fügt Unterstützung für VPN WireGuard hinzu

NetBSD-Projektentwickler сообщили über die Einbindung des wg-Treibers in die Implementierung des WireGuard-Protokolls im Hauptkernel von NetBSD. NetBSD wurde nach Linux und OpenBSD das dritte Betriebssystem mit integrierter Unterstützung für WireGuard. Es werden auch verwandte Befehle zum Konfigurieren von VPN angeboten: wg-keygen und wgconfig. In der Standard-Kernel-Konfiguration (GENERIC) ist der Treiber noch nicht aktiviert und erfordert eine explizite Angabe von „pseudo-device wg“ in den Einstellungen.

Darüber hinaus kann darauf hingewiesen werden Veröffentlichung ein korrigierendes Update für das Wireguard-Tools-Paket 1.0.20200820, das User-Space-Dienstprogramme wie WG und WG-Quick enthält. Die neue Version bereitet IPC auf die bevorstehende WireGuard-Unterstützung auf dem FreeBSD-Betriebssystem vor. Der für verschiedene Plattformen spezifische Code wurde in verschiedene Dateien unterteilt. Der Systemd-Unit-Datei wurde Unterstützung für den Befehl „reload“ hinzugefügt, der es Ihnen ermöglicht, Konstrukte wie „systemctl reload wg-quick at wgnet0“ auszuführen.

Wir möchten Sie daran erinnern, dass VPN WireGuard auf Basis moderner Verschlüsselungsmethoden implementiert ist, eine sehr hohe Leistung bietet, einfach zu bedienen und komplikationslos ist und sich in einer Reihe großer Einsätze mit großen Datenverkehrsmengen bewährt hat. Das Projekt befindet sich seit 2015 in der Entwicklung, wurde geprüft und formelle Überprüfung verwendete Verschlüsselungsmethoden. Die WireGuard-Unterstützung ist bereits in NetworkManager und systemd integriert und Kernel-Patches sind in den Basisdistributionen enthalten Debian instabil, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Untergraph и ALT.

WireGuard nutzt das Konzept des Verschlüsselungsschlüssel-Routings, bei dem an jede Netzwerkschnittstelle ein privater Schlüssel angehängt und dieser zum Binden der öffentlichen Schlüssel verwendet wird. Der Austausch öffentlicher Schlüssel zum Verbindungsaufbau erfolgt ähnlich wie bei SSH. Um Schlüssel auszuhandeln und eine Verbindung herzustellen, ohne einen separaten Daemon im Benutzerbereich auszuführen, wird der Noise_IK-Mechanismus von verwendet Noise Protocol FrameworkÄhnlich wie bei der Verwaltung autorisierter_Schlüssel in SSH. Die Datenübertragung erfolgt durch Kapselung in UDP-Paketen. Es unterstützt das Ändern der IP-Adresse des VPN-Servers (Roaming), ohne die Verbindung zu trennen, mit automatischer Client-Neukonfiguration.

Zur Verschlüsselung benutzt Stream Chiffre ChaCha20 und Nachrichtenauthentifizierungsalgorithmus (MAC) Poly1305, entworfen von Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) und Peter Schwabe. ChaCha20 und Poly1305 gelten als schnellere und sicherere Analoga von AES-256-CTR und HMAC, deren Softwareimplementierung das Erreichen einer festen Ausführungszeit ohne den Einsatz spezieller Hardwareunterstützung ermöglicht. Um einen gemeinsamen geheimen Schlüssel zu generieren, wird in der Implementierung das Elliptic-Curve-Diffie-Hellman-Protokoll verwendet Curve25519, ebenfalls vorgeschlagen von Daniel Bernstein. Der für das Hashing verwendete Algorithmus ist BLAKE2s (RFC7693).

Source: opennet.ru

Kommentar hinzufügen