Введение в OpenVPN 2.6.7
OpenVPN — это популярное решение с открытым исходным кодом для создания виртуальных частных сетей (VPN). Оно использует протокол SSL/TLS для шифрования данных и обеспечения безопасного соединения между клиентом и сервером. Версия 2.6.7, выпущенная в конце 2023 года, представляет собой важный релиз, который устраняет две серьёзные уязвимости и вносит ряд улучшений в стабильность и совместимость. Этот релиз доступен для скачивания на официальном сайте OpenVPN и на сторонних ресурсах, таких как FileHorse. В данной статье мы подробно разберём ключевые изменения, исправления безопасности и процесс установки OpenVPN 2.6.7.
Исправленные уязвимости безопасности
OpenVPN 2.6.7 устраняет две уязвимости, которые были классифицированы как серьёзные. Первая — CVE-2023-46850 — связана с использованием памяти после её освобождения (use-after-free). Эта проблема может привести к утечке содержимого памяти процесса на другую сторону соединения и, в худшем случае, к удалённому выполнению кода. Уязвимость проявляется в конфигурациях, использующих TLS (без опции --secret). Вторая — CVE-2023-46849 — вызвана делением на ноль и может привести к отказу в обслуживании (DoS) сервера удалённого доступа в конфигурациях, где используется опция --fragment. Обе проблемы были оперативно исправлены, и пользователям настоятельно рекомендуется обновиться до версии 2.6.7 или более новой.
Новые предупреждения и улучшения совместимости
В OpenVPN 2.6.7 добавлено несколько предупреждений, помогающих администраторам выявлять потенциальные проблемы. Например, при подключении клиента OpenVPN 2.6.x к серверам версий 2.4.0–2.4.4 может возникнуть несовместимость, если клиент отправляет пакеты DATA_V1. В этом случае выводится предупреждение, и рекомендуется использовать опцию --disable-dco для устранения проблемы. Также добавлено предупреждение при подключении P2P-клиента NCP к P2MP-серверу — такая комбинация ранее работала без согласования шифрования, но в версиях 2.6.x на обеих сторонах может вызывать ошибки. Кроме того, в параметре --dns удалена обработка аргумента exclude-domains, который был введён в ветке 2.6, но пока не поддерживается на серверах.
Изменения в системе сборки и поддержка OpenSSL
В OpenVPN 2.6.7 удалён устаревший метод, связанный с OpenSSL 1.x, который использовал движок OpenSSL для загрузки ключей. Причиной названо нежелание автора перелицензировать код с новыми исключениями для привязки. Также добавлена поддержка системы сборки CMake для сборок с использованием MinGW и MSVC, а старая система сборки MSVC удалена. Это упрощает процесс компиляции на Windows и улучшает совместимость с современными инструментами разработки. Кроме того, улучшена конструкция модульного теста cmocka для Windows, что повышает надёжность тестирования.
Улучшения в логировании и обработке ошибок
В новой версии улучшено логирование ошибок OpenSSL. Если сертификат не установлен или используемые алгоритмы неприемлемы для OpenSSL, теперь выводится более информативное сообщение. В сценариях cryptoapi/pkcs11 ранее выводилось вводящее в заблуждение сообщение, теперь это исправлено. Также добавлено предупреждение, которое отображается, если управляющее сообщение INFO слишком велико для пересылки клиенту. Это помогает администраторам быстрее диагностировать проблемы с конфигурацией.
Как установить OpenVPN 2.6.7 на Windows
Для установки OpenVPN 2.6.7 на Windows достаточно скачать установочный файл с официального сайта или с доверенного источника, такого как FileHorse. Файл для 64-битной системы называется OpenVPN-2.6.7-I001-amd64.msi. После загрузки запустите его и следуйте инструкциям мастера установки. Рекомендуется выбирать типичную установку, которая включает все необходимые компоненты. После завершения установки можно запустить OpenVPN GUI и импортировать конфигурационные файлы от вашего VPN-провайдера или настроить собственный сервер. Важно убедиться, что загруженный файл не повреждён — можно проверить его цифровую подпись или сравнить хеш-сумму с указанной на официальном сайте.
Как установить OpenVPN 2.6.7 на Linux (Ubuntu и производные)
На Linux установка OpenVPN может быть выполнена несколькими способами. Самый простой — использовать официальный установочный скрипт, который автоматизирует процесс настройки сервера. Для этого выполните в терминале:
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh
sudo ./openvpn-install.shСкрипт запросит несколько параметров (порт, протокол, DNS и т.д.) и автоматически установит OpenVPN, настроит сервер и создаст первого клиента. После завершения вы сможете запустить скрипт снова, чтобы добавить или удалить клиентов, а также полностью удалить OpenVPN. Альтернативно, можно установить OpenVPN из репозитория Ubuntu командой sudo apt install openvpn, но в этом случае версия может быть не самой свежей. Для получения версии 2.6.7 рекомендуется использовать официальный репозиторий OpenVPN или собрать из исходников.
Сравнение OpenVPN 2.6.7 с более новыми версиями
На момент написания статьи последней стабильной версией является OpenVPN 2.7.7. Версия 2.6.7 всё ещё поддерживается, но уже не получает новых функций. Основные отличия ветки 2.7 включают улучшенную поддержку DCO (Data Channel Offload), новые возможности для работы с DNS, а также более строгие проверки безопасности. Однако для пользователей, которые ценят стабильность и не нуждаются в новейших функциях, версия 2.6.7 остаётся надёжным выбором. Важно отметить, что версия 2.6.7 исправляет критические уязвимости, поэтому обновление с более старых версий (2.6.6 и ниже) обязательно.
Рекомендации по безопасности при использовании OpenVPN
При использовании OpenVPN важно соблюдать базовые правила безопасности. Всегда используйте последнюю стабильную версию, чтобы избежать известных уязвимостей. Настройте надёжные сертификаты и ключи, используйте протокол TLS 1.2 или выше. Для серверов рекомендуется отключить неиспользуемые опции, такие как --fragment, если они не нужны, чтобы снизить поверхность атаки. Также стоит регулярно проверять логи на предмет подозрительной активности. Если вы используете OpenVPN в корпоративной среде, рассмотрите возможность внедрения двухфакторной аутентификации.
Вопросы и ответы
Какие уязвимости исправлены в OpenVPN 2.6.7?
В OpenVPN 2.6.7 исправлены две уязвимости: CVE-2023-46850 (use-after-free, потенциальное удалённое выполнение кода) и CVE-2023-46849 (деление на ноль, приводящее к отказу в обслуживании).
Где скачать OpenVPN 2.6.7 для Windows?
OpenVPN 2.6.7 для Windows можно скачать с официального сайта OpenVPN (build.openvpn.net) или с доверенных порталов, таких как FileHorse. Для 64-битных систем используйте файл OpenVPN-2.6.7-I001-amd64.msi.
Как установить OpenVPN 2.6.7 на Ubuntu?
Самый простой способ — использовать установочный скрипт: curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh, затем chmod +x openvpn-install.sh и запустить с правами root. Скрипт автоматически настроит сервер.
В чём разница между OpenVPN 2.6.7 и 2.7.x?
Ветка 2.7.x включает новые функции, такие как улучшенная поддержка DCO и DNS, а также более строгие проверки безопасности. Версия 2.6.7 — это стабильный релиз с исправлениями критических уязвимостей, но без новейших функций.
Нужно ли обновляться с OpenVPN 2.6.6 до 2.6.7?
Да, обновление настоятельно рекомендуется, так как версия 2.6.7 исправляет две серьёзные уязвимости безопасности, которые могут быть использованы злоумышленниками.
Что такое опция --disable-dco и когда её использовать?
Опция --disable-dco отключает Data Channel Offload. Она используется для устранения несовместимости при подключении клиента OpenVPN 2.6.x к старым серверам (2.4.0–2.4.4), когда возникают проблемы с пакетами DATA_V1.
Поддерживает ли OpenVPN 2.6.7 Windows 11?
Да, OpenVPN 2.6.7 поддерживает Windows 11, а также Windows 7, 8 и 10 (64-битные версии).