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
