Что такое VLESS
Спонсором статьи является ZenProxy, лучший proxy сервис в телеграмме для обхода блокировок - @ZenproxyroBot
VLESS — это легковесный транспортный протокол без сохранения состояния, разделенный на inbound и outbound части. Он может использоваться как мост между клиентом и сервером Xray. Аутентификация в протоколе основана на UUID (Universally Unique Identifier).
VLESS был разработан как более простая и эффективная альтернатива другим протоколам, таким как VMess. Его ключевая особенность — отсутствие встроенного шифрования, что делает его гибким и позволяет использовать с различными методами защиты данных, такими как TLS или REALITY. Это также означает, что VLESS требует меньше ресурсов для обработки данных, что делает его идеальным для использования в условиях ограниченной пропускной способности или на устройствах с низкой производительностью.
Структура запроса и ответа
Запрос VLESS:
1 байт
16 байт
1 байт
M байт
1 байт
2 байта
1 байт
S байт
X байт
Версия протокола
UUID
Длина доп. информации M
Доп. информация в ProtoBuf
Инструкции
Порт
Тип адреса
Адрес
Запрос
Ответ VLESS:
1 байт
1 байт
N байт
Y байт
Версия протокола
Длина доп. информации N
Доп. информация в ProtoBuf
Ответ
Структура запроса VLESS оптимизирована для минимального использования ресурсов. UUID используется для аутентификации клиента, что обеспечивает высокий уровень безопасности. Дополнительная информация в формате ProtoBuf позволяет гибко настраивать параметры соединения, такие как маршрутизация или специфические инструкции для сервера.
Режимы передачи
VLESS поддерживает различные режимы передачи: TCP, gRPC, H2, QUIC, WebSocket, mKCP. Однако для REALITY рекомендуется использовать TCP как наиболее надежный вариант.
- TCP — наиболее стабильный и проверенный режим, подходящий для большинства сценариев.
- QUIC — обеспечивает низкую задержку и высокую скорость, но может быть менее стабильным в некоторых сетях.
- WebSocket — полезен для обхода ограничений, таких как блокировка портов, так как маскирует трафик под HTTP-запросы.
- mKCP — оптимизирован для работы в условиях нестабильных сетей, но требует больше ресурсов.
VLESS не предусматривает встроенного шифрования, поэтому для его использования требуется надежный канал, такой как TLS или REALITY.
REALITY
ВведениеREALITY — это улучшенная версия TLS, реализующая полный TLS 1.3 с использованием SNI (Server Name Indication) для маскировки трафика. Внешне он выглядит как обычный TLS 1.3, но с дополнительными механизмами безопасности.
REALITY был создан для решения проблем, связанных с традиционным TLS, таких как уязвимости в цепочке сертификатов и возможность обнаружения трафика по отпечаткам. Он использует реальные сертификаты популярных сайтов для маскировки, что делает его практически неотличимым от обычного HTTPS-трафика.
Основные задачи
- Устойчивость к атакам на цепочку сертификатовREALITY снижает зависимость от центров сертификации (CA), уменьшая риск компрометации сертификатов.
- Сокрытие отпечатков TLSМинимизирует уникальные характеристики трафика, что затрудняет его обнаружение и блокировку.
- Прямая секретностьКаждая сессия шифруется уникальным ключом, что предотвращает расшифровку прошлых сессий даже при компрометации ключей.
- Отсутствие зависимости от доменаПозволяет использовать чужие домены для маскировки без необходимости настройки собственного TLS-сервера.
- Совместимость с существующими протоколамиREALITY легко интегрируется в текущие системы, хотя рекомендуется использовать его с осторожностью из-за особенностей TLS.
- Прозрачность для пользователей и серверовПротокол работает незаметно для клиентов и серверов, упрощая внедрение.
- Поддержка современных стандартовОбеспечивает высокий уровень защиты данных за счет современных методов шифрования.
- Гибкость и настройкаПредоставляет широкие возможности для адаптации под конкретные требования.
Философия дизайна
- Максимальная безопасностьМинимизация человеческого фактора и автоматизация процессов для снижения риска ошибок.
- Доверие к серверу, недоверие к клиентуКритически важные данные хранятся только на сервере, что исключает их компрометацию.
- Выборочность сервераСервер может блокировать устаревшие версии клиентов для предотвращения уязвимостей.
Минимальные требования к камуфляжному сайту
- Зарубежный веб-сайт.
- Поддержка TLS 1.3 и HTTP/2.
- Домен не должен перенаправляться (например, на www).
- IP-адрес сайта должен быть близок к IP-адресу сервера.
- Сообщения рукопожатия после «Server Hello» должны быть зашифрованы.
- Поддержка OCSP для проверки сертификатов.
Выбор камуфляжного сайта — критически важный этап. Сайт должен быть популярным и надежным, чтобы не вызывать подозрений. Например, можно использовать сайты крупных компаний, таких как Google или Cloudflare.
Принцип работы
REALITY реализует полный TLS 1.3, не используя метод "воровства сертификатов". После «Server Hello» все сообщения шифруются, и сервер REALITY перехватывает только сообщения рукопожатия от камуфляжного сайта, заменяя key_share.
Клиент REALITY получает временный доверенный сертификат, выданный временным аутентификационным ключом, и никогда не получает настоящий сертификат камуфляжного сайта.
Схема взаимодействия
- Клиент отправляет «Client Hello» на сервер REALITY.
- Сервер перенаправляет запрос на камуфляжный сайт.
- Камуфляжный сайт отвечает «Server Hello», который сервер REALITY пересылает клиенту.
- Если запрос корректен, сервер переключается в режим прокси, и данные передаются через VLESS с авторизацией по UUID.
Поток данных
Основная идея — маскировка прокси-трафика среди обычного интернет-трафика. Внешний TLS-соединение является настоящим, что делает его неуязвимым для анализа цензорами.
Особенности Vision
- После установления зашифрованного канала клиент вставляет UUID в первый внутренний зашифрованный пакет.
- Начиная со второго пакета, данные просто копируются без изменений.
- Короткие пакеты рукопожатия заполняются до длины 900–1400 байт для сокрытия их характеристик.
Vision — это режим, который минимизирует вмешательство в трафик, делая его практически неотличимым от обычного TLS 1.3. Это особенно полезно для обхода цензуры, так как цензоры не могут отличить прокси-трафик от обычного.
Ограничения
- Использование mux невозможно, так как vision требует точного копирования данных между клиентом и сервером.
Преимущества
- Внешний TLS абсолютно безопасен.
- Трафик внутри прокси не изменяется, что делает его неотличимым от обычного.
- UUID используется как сигнал для "голого" соединения, что исключает уязвимости.
Недостатки обычного TLS-прокси
- Двойное шифрование увеличивает размер пакетов, что может привести к превышению MTU.
- Характеристики длины пакетов рукопожатия могут быть использованы для идентификации.
Решение в Vision
- Целенаправленное заполнение коротких пакетов рукопожатия для сокрытия их длины.
- Устранение статистических характеристик, которые могут быть использованы для обнаружения.
Итог
REALITY и VLESS в сочетании с Vision обеспечивают высокий уровень безопасности и маскировки, делая трафик неотличимым от обычного TLS 1.3. Это делает их эффективным инструментом для обхода цензуры и защиты данных.
Использование VLESS и REALITY особенно актуально в странах с жесткой интернет-цензурой. Эти технологии позволяют пользователям сохранять анонимность и доступ к информации, даже в условиях активного противодействия со стороны цензоров.