Выпуск новой стабильной ветки Tor 0.3.5
Состоялся выпуск инструментария Tor 0.3.5.7, используемого для организации работы анонимной сети Tor. Tor 0.3.5.7 признан первым стабильным выпуском ветки 0.3.5, которая развивалась последние четыре месяца. Одновременно также выпущены корректирующие обновления прошлых веток Tor 0.3.4.10 и 0.3.3.11, в которые включены накопившиеся исправления ошибок. Ветка 0.3.5 будет сопровождаться в рамках длительного цикла поддержки (LTS), подразумевающем выпуск обновлений для базовой функциональности в течение трех лет (до 1 февраля 2022 года).
Основные новшества:
- Добавлена поддержка авторизации клиентов при использовании третьей версии протокола onion-сервисов. Авторизация реализована на уровне доступа к дескрипторам сервисов - только авторизированные клиенты теперь могут расшифровать содержимое дескриптора для получения информации о подключении. Для клиентов в torrc добавлена опция "ClientOnionAuthDir", а для сервисов для хранения списка авторизированных клиентов предложен каталог "authorized_clients/";
- Для скрытых сервисов на базе третьей версии протокола улучшена генерация счетчиков ревизий для обеспечения масштабирования сервисов через запуск экземпляров одного сервиса на разных хостах без необходимости настройки синхронизации данных хостов;
- Для разделения клиентских цепочек предложена настройка HiddenServiceExportCircuitID, которую можно указывать в привязке к скрытому сервису при использовании третьей версии протокола. Указанная возможность позволяет обратиться к скрытому сервису по протоколу HAProxy для назначения виртуального IP-адреса входящим клиентским цепочкам;
- Добавлена поддержка улучшенного инструментария для измерения пропускной способности;
- Реализована экспериментальная возможность использования развиваемых проектом Mozilla библиотек NSS вместо OpenSSL. Для сборки с NSS добавлена опция " --enable-nss";
- Началась работа по полной реорганизации структуры кодовой базы и упрощению кода Tor с целью усиления модульности и упрощения сопровождения проекта. Например, началась разбивка крупных файлов на более мелкие и отделение специфичной функциональности. Каталог "common" разбит на набор библиотек (каталог "lib"), файлы из каталога "or" вынесены в базовую часть (каталог "core"), независимые модули (каталог "feature") или приложения (каталог "app");
- Внесены оптимизации для увеличения производительности (время запуска сократилось в среднем на 8%);
- По умолчанию для новых сервисов onion задействована третья версия протокола. В случае необходимости создания новых скрытых севисов на базе второй версии протокола после установки обновления потребуется изменение конфигурации (опция "HiddenServiceVersion 2"). Для уже существующих сервисов версия протокола сохранится без изменения, так как она указана в файле с ключами;
- Прекращен запуск шлюза по умолчанию в режиме выходного узла. Если параметр ExitRelay установлен в значение "auto" для запуска выходного узла теперь требуется явная настройка правил выпуска трафика при помощи опций ExitPolicy и ReducedExitPolicy;
- Переработаны сообщения во время запуска Tor, что может привести к нарушению совместимости с внешними утилитами для разбора логов. Прекращено информирование о прогрессе получения данных от сервера директорий до того как установлено успешное соединение к шлюзу (к relay или bridge).