Amnezia выпустила AmneziaVPN 5.0.1.5 с поддержкой AmneziaWG 3.1. Для владельцев VPN на собственных серверах это означает переход на новое поколение протокола с дополнительной маскировкой трафика. В клиент также вернули работу с актуальными файлами конфигурации, исправили ошибку раздельного туннелирования по IP-подсетям, восстановили поддержку Ubuntu 22.04 и Debian 12 и закрыли уязвимость, обнаруженную специалистом Positive Technologies.
Релиз 5.0.1.5 появился в репозитории Amnezia на GitHub 21 августа. В основной карточке изменений разработчики выделяют поддержку AWG 3.1 и повышение стабильности клиента. Там же указано, что в этой версии исправлена уязвимость AmneziaVPN, о которой проекту сообщил Олег Сурнин из Positive Technologies.
Команда подробнее раскрыла состав обновления в блоге Amnezia: кроме новой версии протокола, в список вошли исправление раздельного туннелирования, поддержка файлов конфигурации AmneziaWG 3.1, возвращение сборок для ряда версий Linux и дополнительные изменения интерфейса.
AmneziaWG третьего поколения впервые появилась в основной ветке AmneziaVPN еще в июльской версии 5.0.0.5. Ее журнал изменений содержит пункт «Added AWG 3 support». Этот же релиз добавил контейнеры MTProxy и Telemt, расширенные настройки XRay VLESS и встроенное обновление настольных клиентов.
Версия 5.0.1.5 доводит переход до AmneziaWG 3.1 и, что особенно важно, добавляет работу с новой версией для Self-hosted — варианта Amnezia, при котором пользователь разворачивает VPN на собственном сервере.
В актуальной документации Amnezia указано, что установить AmneziaWG 3.1 на собственный сервер можно через AmneziaVPN 5.0.1.5 или более новую версию. Для перехода со старой ветки AmneziaWG 2.0 нужно удалить прежний контейнер и установить протокол заново. После этого придется повторно создать пользователей и выпустить для них новые ключи или файлы конфигурации. AWG 2.0 продолжает работать, но сам проект уже считает эту версию устаревшей.
AmneziaWG — ответвление WireGuard-Go, созданное для уменьшения характерных признаков VPN-трафика. Обычный WireGuard отличается компактным протоколом и высокой производительностью, но формат его служебных пакетов достаточно узнаваем. Это позволяет системам глубокого анализа пакетов, или DPI — Deep Packet Inspection, классифицировать такое соединение по набору признаков.
В репозитории AmneziaWG разработчики называют защиту от обнаружения DPI одной из задач протокола. Для этого AmneziaWG изменяет сетевое представление соединения, сохраняя базовую архитектуру WireGuard.
Для ветки AWG 3 и выше документация к реализации отдельно описывает три механизма:
-
Защита заголовков. AmneziaWG шифрует поля заголовка с низкой энтропией, которые иначе могут служить устойчивыми признаками протокола. Для этого используется отдельный HeaderProtectionKey, а значения заполнения S1–S4 участвуют при обработке пакетов.
-
Дополнительное заполнение содержимого. Клиент может менять объем добавляемых к пакету данных в заданном диапазоне, из-за чего размеры пакетов становятся менее постоянными.
-
Изменение временных параметров WireGuard. В AWG 3 можно задавать диапазоны для повторной смены ключей, ожидания повторного рукопожатия, отправки пакетов поддержания соединения и числа попыток установить соединение. Для анализатора трафика это означает меньше постоянных временных признаков.
У AmneziaWG остаются и другие средства маскировки: мусорные пакеты перед установлением соединения, заполнение служебных сообщений, изменяемые заголовки H1–H4 и до пяти специальных пакетов I1–I5. Новая маскировка также не делает VPN-трафик принципиально «необнаружимым». Она меняет признаки, по которым DPI может распознавать WireGuard, и усложняет статическую классификацию. Абсолютной гарантии против любых методов анализа трафика разработчики не дают.
В объявлении о выпуске 5.0.1.5 Amnezia сообщила о возвращении файлов конфигурации. В статье о релизе формулировка точнее: клиент получил импорт конфигураций AmneziaWG 3.1 и умеет читать расширенные параметры новой версии протокола.
Файл .conf позволяет подключиться к VPN без полного клиента AmneziaVPN — например, через отдельное приложение AmneziaWG. Такой вариант полезен на устройствах и версиях операционных систем, которые основной клиент уже не поддерживает.
В актуальном FAQ среди альтернативных вариантов перечислены AmneziaWG для Windows 7 и 8, некоторых 32-битных и ARM64-систем, iOS 15 и macOS 12 и новее. Файлы AWG 3.1 также можно открывать в AmneziaVPN 5.0.1.5+, DefaultVPN 2.0.1.1+ и совместимых версиях нативного клиента AmneziaWG.
Сам конфигурационный файл фактически является учетными данными для VPN-подключения: в нем находятся адрес сервера и криптографические параметры. Поэтому публиковать такой файл или брать неизвестные конфигурации из случайных источников не стоит.
Одним из самых заметных исправлений 5.0.1.5 стало раздельное туннелирование по IP-адресам. Эта функция позволяет отправлять часть трафика через VPN, а остальной трафик оставлять на обычном подключении.
Причина проблемы описана довольно конкретно: при добавлении подсетей клиент мог потерять длину сетевого префикса. В результате вместо целой сети приложение создавало маршрут только для одного IP-адреса.
Такое поведение до релиза успели независимо описать пользователи GitHub. В issue №2904 для Windows показано, как после обновления до 5.0.0.5 сеть 5.35.0.0/19 превращалась в маршрут 5.35.0.0/32. Вместо всей подсети исключался только один адрес 5.35.0.0, и остальной трафик продолжал идти через VPN.
Аналогичный дефект обнаружили в iOS. В issue №2939 описан импорт списка CIDR-подсетей, при котором AmneziaVPN 5.0.0.5 удаляла часть после /: например, 1.192.0.0/10 сохранялся как 1.192.0.0. Автор отчета связал проблему с обработкой импортируемого поля hostname.
В 5.0.1.5 Amnezia заявила об исправлении именно ошибки с обрезанием подсетей. Подтвержденное исправление касается потери сетевой маски при работе с IP-подсетями.
Предыдущая версия 5.0.0.5 вышла без сборок для Debian 12 и Ubuntu 22.04.x — на странице того релиза они были помечены как временно недоступные.
В версии 5.0.1.5 поддержку этих систем вернули. Amnezia отдельно указывает Ubuntu 22.04.x и Debian 12 в списке изменений. Для Linux-клиента также перечислен набор библиотек XCB и OpenGL, необходимых для работы приложения.
Для Self-hosted это заметное изменение: AmneziaVPN используется здесь не просто как VPN-клиент, а как интерфейс для установки и управления протоколами на собственном сервере.
В AmneziaVPN 5.0.1.5 закрыта уязвимость, которую обнаружил Олег Сурнин, руководитель направления исследований безопасности мобильных приложений Positive Technologies.
В карточке релиза на GitHub разработчики благодарят исследователя за обнаружение и сообщение о проблеме и указывают, что уязвимость исправлена в текущей версии. Там же говорится о подготовленном специалистами Positive Technologies техническом отчете. Amnezia называет 5.0.1.5 обязательным обновлением для пользователей. Точный риск старых версий можно будет оценить после появления технических деталей.
Переходить на AmneziaWG 3.1 владельцам Self-hosted стоит с учетом совместимости домашней сети. В сообщении о релизе Amnezia предупредила, что Keenetic/Netcraze и OpenWrt пока не поддерживают третью версию AmneziaWG штатным способом. Актуальный FAQ формулирует ограничение еще точнее: нативной поддержки AmneziaWG 3.1 в операционных системах маршрутизаторов сейчас нет, хотя для отдельных устройств могут существовать сторонние решения.
Для Self-hosted документация рекомендует сохранить контейнер AmneziaWG 2.0, если VPN должен работать через маршрутизатор. Простая переделка конфигурационного файла AWG 3.1 под формат 2.0 не поможет — такое соединение не заработает.
Это нужно проверить до удаления старого контейнера. Если VPN используется непосредственно на компьютерах и смартфонах, переход проще. Если туннель поднят на роутере и через него работает вся квартира или офис, замена серверной части на 3.1 может оставить эти устройства без подключения до появления совместимой реализации.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.