Доступний OpenVPN 2.6.0

Після двох з половиною років з моменту публікації гілки 2.5 підготовлено реліз OpenVPN 2.6.0, пакет для створення віртуальних приватних мереж, що дозволяє організувати шифроване з'єднання між двома клієнтськими машинами або забезпечити роботу централізованого VPN-сервера для одночасної роботи кількох клієнтів. Код OpenVPN розповсюджується під ліцензією GPLv2, готові бінарні пакети формуються для Debian, Ubuntu, CentOS, RHEL та Windows.

Основні нововведення:

  • Забезпечено підтримку необмеженої кількості сполук.
  • До складу включено модуль ядра ovpn-dco, що дозволяє суттєво прискорити продуктивність VPN. Прискорення досягається за рахунок винесення всіх операцій шифрування, обробки пакетів та управління каналом зв'язку на бік ядра Linux, що дозволяє позбавитися від накладних витрат, пов'язаних з перемиканням контексту, дає можливість оптимізувати роботу за рахунок прямого звернення до внутрішніх API ядра і виключає повільну передачу даних між ядром та простором користувача (шифрування, розшифровка та маршрутизація виконується модулем без відправки трафіку в обробник у просторі користувача).

    У проведених тестах порівняно з конфігурацією на основі інтерфейсу tun застосування модуля на стороні клієнта та сервера при використанні шифру AES-256-GCM дозволило досягти приросту пропускної спроможності у 8 разів (з 370 Mbit/s до 2950 Mbit/s). При застосуванні модуля лише за клієнта пропускна спроможність зросла втричі для вихідного трафіку і змінилася для вхідного. При застосуванні модуля лише за сервера пропускна здатність зросла вчетверо для вхідного трафіку і 4% для вихідного.

  • Надано можливість використання режиму TLS із самопідписаними сертифікатами (при застосуванні опції «peer-fingerprint» можна не вказувати параметри «ca» і «capath» і обійтися без запуску PKI-сервера на базі Easy-RSA або схожого ПЗ).
  • У UDP-сервері реалізовано режим узгодження з'єднання на основі Cookie, при якому як ідентифікатор сеансу використовується Cookie на основі HMAC, що дозволяє серверу проводити верифікацію без збереження стану.
  • Додано підтримку збірки з бібліотекою OpenSSL 3.0. Додано параметр «—tls-cert-profile insecure» для вибору мінімального рівня безпеки OpenSSL.
  • Додано нові керуючі команди remote-entry-count та remote-entry-get для підрахунку числа зовнішніх підключень та виведення їх списку.
  • У процесі узгодження ключів пріоритетнішим методом отримання матеріалу для генерації ключів є механізм EKM (Exported Keying Material, RFC 5705), замість специфічного механізму OpenVPN PRF. Для використання EKM потрібна бібліотека OpenSSL або mbed TLS 2.18+.
  • Забезпечена сумісність із OpenSSL у FIPS-режимі, що дозволяє використовувати OpenVPN на системах, що відповідають вимогам безпеки FIPS 140-2.
  • У mlock реалізовано перевірку резервування достатнього розміру пам'яті. При доступності менше 100 МБ ОЗУ підвищення ліміту здійснюється виклик setrlimit().
  • Додано опцію «—peer-fingerprint» для перевірки коректності або прив'язки сертифіката з fingerprint-відбитку на основі хеша SHA256, без застосування tls-verify.
  • Для скриптів надано можливість відкладеної (deferred) аутентифікації, що реалізується за допомогою опції auth-user-pass-verify. У скриптах та плагінах додано підтримку інформування клієнта про очікування (pending) аутентифікації при застосуванні відкладеної аутентифікації.
  • Додано режим сумісності (compat-mode), що дозволяє підключатися до старих серверів, на яких використовується OpenVPN 2.3.x або більш старі версії.
  • У списку, що передається через параметр "-data-ciphers", дозволено вказівку префікса "?" визначення необов'язкових шифрів, які будуть задіяні лише за наявності підтримки в SSL-бібліотеці.
  • Додано опцію «-session-timeout» за допомогою якої можна обмежити максимальний час сеансу.
  • У файлі конфігурації можна вказати ім'я та пароль за допомогою тега .
  • Надано можливість динамічного налаштування MTU клієнта, на основі даних про MTU, переданих сервером. Для зміни максимального розміру MTU додано опцію "-tun-mtu-max" (за замовчуванням 1600).
  • Додано параметр «—max-packet-size» для визначення максимального розміру пакетів, що управляють.
  • Видалено підтримку режиму запуску OpenVPN через inetd. Видалено опцію ncp-disable. Оголошено застарілими опція verify-hash та режим статичних ключів (залишений лише TLS). У розряд застарілих переведені протоколи TLS 1.0 і 1.1 (параметр tls-version-min за умовчанням виставлено значення 1.2). Видалена вбудована реалізація генератора псевдовипадкових чисел (prng), слід використовувати реалізацію PRNG з криптобібліотек mbed TLS або OpenSSL. Припинено підтримку пакетного фільтра PF (Packet Filtering). За замовчуванням вимкнено стиснення (—allow-compression=no).
  • До стандартного шифру додано CHACHA20-POLY1305.

Джерело: opennet.ru

Додати коментар або відгук