Доступен OpenVPN 2.5.0

28 октября 2020 года

После почти четырёх лет с момента публикации ветки 2.4 подготовлен релиз OpenVPN 2.5.0, пакета для создания виртуальных частных сетей, позволяющего организовать шифрованное соединение между двумя клиентскими машинами или обеспечить работу централизованного VPN-сервера для одновременной работы нескольких клиентов. Код OpenVPN распространяется под лицензией GPLv2, готовые бинарные пакеты формируются для Debian, Ubuntu, CentOS, RHEL и Windows.

Основные новшества:

  • Поддержка шифрования канала передачи данных с использованием потокового шифра ChaCha20 и алгоритма аутентификации сообщений (MAC) Poly1305, разработанных Дэниелом Бернштейном (Daniel J. Bernstein), Таней Ланге (Tanja Lange) и Питером Швабе (Peter Schwabe). ChaCha20 и Poly1305 позиционируются как более быстрые и безопасные аналоги AES-256-CTR и HMAC, программная реализация которых позволяет добиться фиксированного времени выполнения без задействования специальной аппаратной поддержки. ChaCha20 и Poly1305 также применяются в VPN WireGuard.
  • Возможность предоставления каждому клиенту своего уникального ключа tls-crypt, что позволяет крупным организациям и VPN-провайдерам применять такие же методы защиты стека TLS и предотвращения DoS-атак, которые ранее были доступны в небольших конфигурациях, использующих tls-auth или tls-crypt. Режим активируется при помощи опции "--tls-crypt-v2".
  • Улучшен механизм согласования шифра, применяемого для защиты канала передачи данных. Опция ncp-ciphers переименована в data-ciphers для того чтобы избежать неоднозначности при наличии опции tls-cipher, и подчеркнуть, что data-ciphers является предпочтительным для настойки шифров канала данных (поддержка старого названия сохранена для обеспечения совместимости). Клиенты теперь передают на сервер список всех поддерживаемых ими шифров из набора data-ciphers, используя переменную IV_CIPHERS, что позволяет серверу выбрать первый поддерживаемый обеими сторонами шифр. Указанное изменение, например, позволяет указать в data-ciphers набор ChaCha20-Poly1305:AES-256-GCM, но использовать ChaCha20-Poly1305 только если клиент его поддерживает.
  • Из конфигурации по умолчанию убрана поддержка шифра BF-CBC. В OpenVPN 2.5 по умолчанию теперь принимаются только шифры AES-256-GCM и AES-128-GCM. Изменить данное поведение можно при помощи опции data-ciphers, напрмер, указав в настройках "data-ciphers AES-256-GCM:AES-128-GCM:BF-CBC", а для поддержки очень старых узлов, не поддерживающих согласование шифров (режим "--cipher"), можно указать "data-ciphers-fallback BF-CBC". При обновлении до новой версии OpenVPN настройка "cipher BF-CBC" в старых файлах конфигурации будет преобразована в добавление BF-CBC к data-cipher и включение data-ciphers-fallback.
  • В плагин auth-pam добавлна поддержка асинхронной (отложенной) аутентификации. Аналогично в опцию "--client-connect" и API для подключения плагинов добавлена возможность отложенного возвращения файла конфигурации.
  • Ускорен процесс установки соединения - клиент теперь может указать переменную IV_PROTO в pull-режиме, после чего сервер передаст клиенту конфигурацию не дожидаясь сообщения PULL_REQUEST.
  • Поддержка настройки IP-адресов и маршрутов при помощи интерфейса Netlink, предоставляемого ядром Linux. Netlink применяется при сборке без опции "--enable-iproute2" и позволяет запускать OpenVPN без дополнительных привилегий, необходимых для выполнения утилиты "ip". Поддержка запуска утилит ifconfig и route прекращена.
  • На платформе Windows добавлена поддержка интерфейса wintun, который быстрее, чем традиционные интерфейсы tap9 tun/tap, но не поддерживает режим "--dev tap". Для включения следует использовать опцию "--windows-driver wintun". Обеспечено корректное определение Windows 10. Добавлена поддержка установки через msi.
  • Возможность работы при наличии только адресов IPv6 внутри VPN-туннеля (ранее требовалось указание адресов IPv4)
  • В Linux добавлена поддержка сетевых интерфейсов виртуальной маршрутизации и перенаправления (VRF, Virtual routing and forwarding). Для помещения внешнего сокета в VRF предложена опция "--bind-dev"
  • Поддержка TLS 1.3. Для использования TLS 1.3 требуется как минимум OpenSSL 1.1.1. Для тонкой настройки параметров TLS добавлены опции "--tls-ciphersuites" и "--tls-groups".
  • Поддержка передачи через DHCP базового домена для маски "dns search" в resolv.conf, прикрепляемой по умолчанию при операциях поиска по имени в DNS. В Windows домен задаётся при помощи опции "--dhcp-option DOMAIN-SEARCH my.example.com", в Linux через "--up script", а в macOS через GUI.
  • Возможность привязки отдельных настроек data-ciphers и data-ciphers-fallback к клиентам из скрипта client-connect.
  • Возможность указания размера MTU для интерфейса tun/tap в Windows.
  • Поддержка выбора движка OpenSSL для доступа к закрытому ключу.
  • В опции "--auth-gen-token" появилась поддержка генерации токена на базе HMAC.
  • В протокол добавлена возможность применения двухфакторной аутентификации или дополнительной аутентификации через Web (SAML), без разрыва сеанса после первой проверки (после первой проверки сеанс остаётся в состоянии не аутентифицирован и ожидает завершения второй стадии аутентификации).
  • Поддержка таггированных VLAN (802.1q) при работе сервера в режиме TAP, позволяющая разделять клиентов по группам и применять к этим группам разные настройки (выносить в разные подсети, использовать свои правила пакетного фильтра и т.п.). Настройка производится при помощи опций "--vlan-tagging", "--vlan-accept" и "--vlan-pvid".
  • Возможность использования сетевых масок /31 в настройках IPv4 (OpenVPN больше не пытается настроить широковещательный адрес).
  • Добавлена опция "--block-ipv6" для блокирования любых пакетов IPv6 (ICMPv6).
  • В опциях "--ifconfig-ipv6" и "--ifconfig-ipv6-push" разрешено указание имени хоста вместо IP-адреса (адрес будет определён через DNS).
  • Объявлены устаревшими или удалены: ncp-disable, вызов через inetd, no-iv, "--client-cert-not-required", "--ifconfig-pool-linear", "--compress xxx", "--disable-multi", "--key-method 1". Прекращена поддержка сборки с OpenSSL 1.0.1. Запрещена сборка без поддержки шифрования (сборочная опция "--disable-crypto" больше не работает, но сохранён режим "--cipher none"). Применение сжатия пакетов признано рискованным из-за возможность совершения атаки VORACLE по восстановлению содержимого.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Доступен OpenVPN 2.5.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.