AprĂšs trois ans depuis la publication de la branche 2.6, la version OpenVPN 2.7.0 a Ă©tĂ© prĂ©parĂ©e, un paquet pour crĂ©er des rĂ©seaux privĂ©s virtuels, permettant d'organiser une connexion chiffrĂ©e entre deux machines clients ou de faire fonctionner un serveur VPN centralisĂ© pour plusieurs clients simultanĂ©ment. Le code OpenVPN est distribuĂ© sous la licence GPLv2, des paquets binaires prĂȘts Ă l'emploi sont fournis pour Debian, Ubuntu, CentOS, RHEL et Windows.
Les principales nouveautés :
- Sur VPN-serveurs a ajouté la possibilité d'ouvrir plusieurs sockets d'acceptation de connexions, par exemple, pour accepter simultanément des connexions via UDP et TCP ou sur différents ports réseau.
- Le passage à l'utilisation de la nouvelle version du module DCO, intégré dans le noyau Linux 6.16, a été effectué. Le module, intégré dans le noyau, a une API modifiée et est livré sous le nom de « ovpn ». Le support de l'ancien module ovpn-dco a été interrompu. Le module décharge les opérations de chiffrement, de traitement des paquets et de contrÎle du canal de communication vers le noyau Linux, permettant d'éliminer les frais généraux liés au changement de contexte, d'optimiser le fonctionnement grùce à un accÚs direct aux API internes du noyau et d'éviter la transmission lente 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).
- Dans la version pour Windows : le drapeau block-local a été activé dans les filtres WFP ; la génération d'interfaces réseau supplémentaires a été assurée au besoin ; les services automatiques sont lancés sous un utilisateur non privilégié ; NRPT (Name Resolution Policy Table) est utilisé pour les paramétrages DNS ; l'utilisation du pilote win-dco pour accélérer les serveurs VPN a été autorisée.
- Un nouveau format de clés et de paquets « epoch » a été présenté, qui, contrairement au format standard « DATA_V2 », ajoute une balise AEAD à la fin du paquet, met automatiquement à jour les clés lorsque la limite de leur utilisation est atteinte, dispose d'identifiants de paquets de 64 bits, utilise une opération XOR lors de la création du vecteur d'initialisation.
- Ajout du support de lwipovpn â un Ă©mulateur d'interfaces rĂ©seau tun/tap dans l'espace utilisateur, implĂ©mentĂ© sur la base de la pile TCP/IP lwIP. Avec l'option « âdev-node unix:/path/to/lwipovpn », il est possible d'Ă©muler un client VPN complet sur le mĂȘme systĂšme pour tester et dĂ©boguer OpenVPN.
- Ajout de la possibilité de mettre à jour certaines configurations du client (IP, routage, MTU, DNS) via l'envoi de serveur messages de commande PUSH_UPDATE.
- Dans le client openVPN pour Linux, BSD et macOS, ajout de l'option « âdns-updown » pour exĂ©cuter un script d'application des paramĂštres DNS transmis par le serveur. Le script prend en charge la configuration via /etc/resolv.conf, systemd ou resolveconf.
- Pour la plateforme Linux, ajout de l'option « âroute-table » pour utiliser des tables de routage dĂ©finies par l'utilisateur.
- Ajout du support de la branche mbedTLS 4. Support de TLS 1.3 dans les configurations utilisant la bibliothĂšque cryptographique mbedTLS.
- Ajout du support du systĂšme d'exploitation Haiku.
- ArrĂȘt de la prise en charge du mode de fonctionnement avec des clĂ©s statiques (il est conseillĂ© d'utiliser le mode TLS), NTLMv1, le pilote Windows wintun, OpenSSL 1.0.2, mbedTLS 2.x, la compression des donnĂ©es avant envoi, et des options « âmemstats » et « âopt-verify ».
Source : opennet.ru
