OpenVPN 2.6.0 ist verfügbar

Nach zweieinhalb Jahren seit der Veröffentlichung der Version 2.5 wurde das Release von OpenVPN 2.6.0 vorbereitet, einem Paket zur Erstellung von virtuellen privaten Netzwerken, das eine verschlüsselte Verbindung zwischen zwei Client-Rechnern ermöglicht oder den Betrieb eines zentralen VPN-Servers für die gleichzeitige Nutzung mehrerer Clients gewährleistet. Der OpenVPN-Code wird unter der GPLv2-Lizenz verbreitet, fertige Binärpakete werden für Debian, Ubuntu, CentOS, RHEL und Windows erstellt.

Hauptneuheiten:

  • Die Unterstützung für eine unbegrenzte Anzahl von Verbindungen wurde sichergestellt.
  • Das Modul ovpn-dco wurde in das Paket aufgenommen, was eine deutliche Leistungssteigerung ermöglicht. VPN. Die Beschleunigung erfolgt durch die Auslagerung aller Verschlüsselungsoperationen, Paketverarbeitung und Kommunikationskanalverwaltung in den Linux-Kernel, was dazu beiträgt, Overheadkosten aufgrund von Kontextwechsel zu vermeiden, die Arbeit durch direkten Zugriff auf die internen Kernel-APIs zu optimieren und langsame Datenübertragungen zwischen Kernel und Benutzerspace (Verschlüsselung, Entschlüsselung und Routing werden vom Modul ohne Übermittlung des Verkehrs an den Handler im Benutzerspace durchgeführt) auszuschließen.

    In durchgeführten Tests im Vergleich zu einer Konfiguration auf Basis der tun-Schnittstelle ermöglichte der Einsatz des Moduls sowohl auf der Client- als auch auf der Serverseite bei Verwendung der AES-256-GCM-Verschlüsselung einen Anstieg der Bandbreite um das Achtfache (von 370 Mbit/s auf 2950 Mbit/s). Bei der Verwendung des Moduls nur auf der Clientseite stieg die Bandbreite für den ausgehenden Datenverkehr um das Dreifache und änderte sich für eingehenden Verkehr nicht. Bei der Verwendung des Moduls nur auf der Serverseite stieg die Bandbreite für eingehenden Datenverkehr um das Vierfache und um 35 % für ausgehenden.

  • Es wird die Möglichkeit angeboten, den TLS-Modus mit selbstsignierten Zertifikaten zu nutzen (bei Verwendung der Option "—peer-fingerprint" ist es nicht erforderlich, die Parameter "—ca" und "—capath" anzugeben, und es ist keine PKI-Server-Implementierung mit Easy-RSA oder ähnlicher Software erforderlich).
  • Im UDP-Server wurde ein Verbindungsmanagementmodus auf Basis von Cookies implementiert, bei dem ein Cookie auf Basis von HMAC als Sitzungsidentifikator verwendet wird, was dem Server ermöglicht, die Verifizierung ohne Speicherung des Zustands durchzuführen.
  • Die Unterstützung für die Erstellung mit der OpenSSL 3.0-Bibliothek wurde hinzugefügt. Ein neuer Parameter "—tls-cert-profile insecure" wurde hinzugefügt, um das Mindestniveau der Sicherheit von OpenSSL auszuwählen.
  • Neue Steuerbefehle remote-entry-count und remote-entry-get wurden hinzugefügt, um die Anzahl der externen Verbindungen zu zählen und deren Liste anzuzeigen.
  • Im Prozess der Schlüsselverhandlung ist das EKM (Exported Keying Material, RFC 5705) jetzt die vorrangige Methode zur Beschaffung von Material für die Schlüsselgenerierung, anstelle des spezifischen OpenVPN PRF-Mechanismus. Für die Verwendung von EKM wird die OpenSSL-Bibliothek oder mbed TLS 2.18+ benötigt.
  • Kompatibilität mit OpenSSL im FIPS-Modus wurde sichergestellt, sodass OpenVPN auf Systemen verwendet werden kann, die den Sicherheitsanforderungen FIPS 140-2 entsprechen.
  • In mlock wurde eine Überprüfung der Reservierung von ausreichend Speicher implementiert. Bei weniger als 100 MB RAM wird der Aufruf setrlimit() zur Erhöhung des Limits durchgeführt.
  • Die Option „—peer-fingerprint“ wurde hinzugefügt, um die Richtigkeit oder Bindung des Zertifikats anhand des Fingerprints basierend auf dem SHA256-Hash ohne Verwendung von tls-verify zu überprüfen.
  • Für Skripte wurde die Möglichkeit einer verzögerten (deferred) Authentifizierung eingeführt, die mit der Option „—auth-user-pass-verify“ umgesetzt wird. In Skripten und Plugins wurde die Unterstützung zur Benachrichtigung des Clients über den Wartestatus (pending) bei der Anwendung von verzögerter Authentifizierung hinzugefügt.
  • Ein Kompatibilitätsmodus (—compat-mode) wurde hinzugefügt, der eine Verbindung zu älteren Servern ermöglicht, auf denen OpenVPN 2.3.x oder frühere Versionen verwendet werden.
  • In der Liste, die über den Parameter „—data-ciphers“ übergeben wird, ist es nun erlaubt, das Präfix „?“ anzugeben, um optionale Chiffren zu definieren, die nur verwendet werden, wenn sie von der SSL-Bibliothek unterstützt werden.
  • Die Option „—session-timeout“ wurde hinzugefügt, mit der die maximale Sitzungsdauer begrenzt werden kann.
  • In der Konfigurationsdatei ist es erlaubt, Benutzername und Passwort mit dem Tag <auth-user-pass></auth-user-pass> anzugeben.
  • Es wurde die Möglichkeit zur dynamischen MTU-Konfiguration des Clients hinzugefügt, basierend auf den vom Server übermittelten MTU-Daten. Um die maximale MTU-Größe zu ändern, wurde die Option „—tun-mtu-max“ (Standardwert 1600) hinzugefügt.
  • Ein Parameter „—max-packet-size“ wurde hinzugefügt, um die maximale Größe der Steuerpakete zu definieren.
  • Der Support für den Startmodus OpenVPN über inetd wurde entfernt. Die Option ncp-disable wurde ebenfalls entfernt. Die Optionen verify-hash und der Modus für statische Schlüssel (nur TLS bleibt erhalten) wurden als veraltet erklärt. Die Protokolle TLS 1.0 und 1.1 wurden ebenfalls als veraltet eingestuft (der Parameter tls-version-min ist standardmäßig auf 1.2 gesetzt). Die integrierte Implementierung des Pseudozufallszahlengenerators (—prng) wurde entfernt; es sollte die PRNG-Implementierung aus den Kryptobibliotheken mbed TLS oder OpenSSL verwendet werden. Die Unterstützung für das Packet Filtering PF wurde eingestellt. Die Kompression ist standardmäßig deaktiviert (—allow-compression=no).
  • Der Standard-Verschlüsselungsalgorithmus CHACHA20-POLY1305 wurde zur Liste hinzugefügt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4