AprĂšs deux ans et demi depuis la publication de la version 2.5, la version OpenVPN 2.6.0 a Ă©tĂ© prĂ©parĂ©e, un package pour la crĂ©ation de rĂ©seaux privĂ©s virtuels permettant d'organiser une connexion chiffrĂ©e entre deux machines clientes ou de faire fonctionner un serveur VPN centralisĂ© pour permettre le fonctionnement simultanĂ© de plusieurs clients. Le code OpenVPN est distribuĂ© sous la licence GPLv2, des paquets binaires prĂȘts sont formĂ©s pour Debian, Ubuntu, CentOS, RHEL et Windows.
Les principales nouveautés :
- Le support d'un nombre illimité de connexions est assuré.
- Le module noyau ovpn-dco est inclus, permettant d'accroßtre considérablement les performances. VPN. L'accélération est atteinte en déplaçant toutes les opérations de chiffrement, le traitement des paquets et la gestion du canal de communication du cÎté du noyau Linux, ce qui permet de se débarrasser des surcharges liées au changement de contexte, et permet d'optimiser le travail grùce à un accÚs direct aux API internes du noyau, tout en éliminant le transfert lent de données entre le noyau et l'espace utilisateur (le chiffrement, le déchiffrement et le routage sont effectués par le module sans envoyer le trafic au gestionnaire dans l'espace utilisateur).
Lors de tests comparant la configuration basée sur l'interface tun, l'utilisation du module cÎté client et serveur avec le chiffrement AES-256-GCM a permis d'atteindre une augmentation de la bande passante de 8 fois (de 370 Mbit/s à 2950 Mbit/s). Lorsque le module est appliqué uniquement du cÎté du client, la bande passante a triplé pour le trafic sortant et est restée inchangée pour le trafic entrant. Avec le module appliqué uniquement du cÎté du serveur, la bande passante a quadruplé pour le trafic entrant et augmenté de 35 % pour le trafic sortant.
- La possibilitĂ© d'utiliser le mode TLS avec des certificats auto-signĂ©s a Ă©tĂ© offerte (en utilisant l'option «âpeer-fingerprint», il n'est pas nĂ©cessaire de spĂ©cifier les paramĂštres «âca» et «âcapath» et il est possible de se passer du serveur PKI basĂ© sur Easy-RSA ou d'un logiciel similaire).
- Le serveur UDP implĂ©mente un mode d'Ă©tablissement de connexion basĂ© sur les cookies, oĂč un cookie basĂ© sur HMAC est utilisĂ© comme identifiant de session, permettant au serveur de procĂ©der Ă la vĂ©rification sans conserver d'Ă©tat.
- La prise en charge de la compilation avec la bibliothĂšque OpenSSL 3.0 a Ă©tĂ© ajoutĂ©e. Un paramĂštre «âtls-cert-profile insecure» a Ă©tĂ© ajoutĂ© pour sĂ©lectionner le niveau de sĂ©curitĂ© minimale d'OpenSSL.
- De nouvelles commandes de gestion remote-entry-count et remote-entry-get ont été ajoutées pour compter le nombre de connexions externes et afficher leur liste.
- Lors de l'approbation des clés, la méthode de récupération la plus prioritaire pour la génération de clés est désormais le mécanisme EKM (Exported Keying Material, RFC 5705), au lieu du mécanisme spécifique d'OpenVPN PRF. L'utilisation d'EKM nécessite la bibliothÚque OpenSSL ou mbed TLS 2.18+.
- La compatibilité avec OpenSSL en mode FIPS a été assurée, ce qui permet d'utiliser OpenVPN sur des systÚmes satisfaisant aux exigences de sécurité FIPS 140-2.
- Dans mlock, une vĂ©rification de la rĂ©servation d'une taille de mĂ©moire suffisante a Ă©tĂ© mise en Ćuvre. En cas de disponibilitĂ© de moins de 100 Mo de RAM, l'appel Ă setrlimit() est effectuĂ© pour augmenter la limite.
- Une option « --peer-fingerprint » a été ajoutée pour vérifier la validité ou l'association du certificat en fonction de l'empreinte par hachage SHA256, sans utiliser tls-verify.
- Pour les scripts, une possibilité d'authentification différée (deferred) a été mise en place grùce à l'option « --auth-user-pass-verify ». Dans les scripts et les plugins, la prise en charge de l'information au client sur l'attente (pending) d'authentification a été ajoutée lors de l'utilisation de l'authentification différée.
- Un mode de compatibilitĂ© (âcompat-mode) a Ă©tĂ© ajoutĂ©, permettant de se connecter Ă de vieux serveurs exĂ©cutant OpenVPN 2.3.x ou des versions antĂ©rieures.
- Dans la liste transmise via le paramÚtre « --data-ciphers », il est maintenant permis d'indiquer le préfixe « ? » pour définir des chiffres optionnels qui seront activés seulement s'ils sont supportés par SSL-la bibliothÚque.
- Une option « --session-timeout » a été ajoutée, permettant de limiter la durée maximale d'une session.
- Dans le fichier de configuration, il est permis d'indiquer un nom et un mot de passe Ă l'aide de la balise <auth-user-pass></auth-user-pass>.
- La possibilité de configurer dynamiquement le MTU du client, basée sur les données MTU fournies par le serveur, a été offerte. Pour modifier la taille maximale du MTU, une option « --tun-mtu-max » a été ajoutée (par défaut 1600).
- Un paramÚtre « --max-packet-size » a été ajouté pour définir la taille maximale des paquets de gestion.
- Le support du mode de dĂ©marrage OpenVPN via inetd a Ă©tĂ© supprimĂ©. L'option ncp-disable a Ă©tĂ© retirĂ©e. Les options verify-hash et le mode de clĂ©s statiques sont dĂ©sormais obsolĂštes (seul TLS est conservĂ©). Les protocoles TLS 1.0 et 1.1 ont Ă©tĂ© dĂ©clarĂ©s obsolĂštes (le paramĂštre tls-version-min est par dĂ©faut rĂ©glĂ© sur 1.2). L'implĂ©mentation intĂ©grĂ©e du gĂ©nĂ©rateur de nombres pseudo-alĂ©atoires (âprng) a Ă©tĂ© supprimĂ©e, il faut utiliser l'implĂ©mentation PRNG des bibliothĂšques cryptographiques mbed TLS ou OpenSSL. Le filtrage de paquets PF (Packet Filtering) n'est plus supportĂ©. Par dĂ©faut, la compression est dĂ©sactivĂ©e (âallow-compression=no).
- Le chiffre CHACHA20-POLY1305 a été ajouté à la liste des chiffres par défaut.
Source : opennet.ru
