Обновить

Когда Reality не хватает: добавляем Hysteria2 + Salamander в iOS-мессенджер, и как всегда грабли по дороге (ч.2)

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8.6K
Всего голосов 4: ↑4 и ↓0+5
Комментарии15

Комментарии 15

У меня vless+reality+xhttp работает всё хуже. Иногда работает, иногда нет, похоже, научились как-то детектировать. Смена сайта SNI не помогает. При этом если поначалу блокировали IP-адрес целиком (даже по ssh нельзя было к vps подключиться), то теперь ssh работает, а xray часто не работает. Уже подумываю изучить что тут писали про телемост и прочую экзотику.

У нас похожая картина в логах. Reality в моменте перестал работать на части маршрутов, при том что обычный TLS на тех же сетях проходит без вопросов.

Из того что видно снаружи: TSPU похоже перешёл с фильтрации по IP (то что вы наблюдали когда даже SSH не работал) на DPI который смотрит внутрь TLS. Reality-хэндшейк ловится по сочетанию мелких сигналов: порядок TLS-расширений, GREASE-паттерн, тайминги, поведение после рукопожатия. Полного списка не разобрать снаружи, тут только догадки по поведению.

«Иногда работает, иногда нет» обычно означает sampling: DPI не каждое соединение разбирает, выборочно. Со временем правила обычно затягивают, не ослабляют.

Про конкретно телемост ничего не подскажу. Но смотреть в UDP-сторону смысл есть, UDP-DPI у TSPU сейчас работает заметно слабее. Если поверх UDP положить obfs (Salamander у Hysteria2, например, XOR-маска на каждый пакет), DPI вообще не видит handshake внутри пакета. Внутри шум. У нас на тех сетях где Reality умер, hy2+salamander пока ходит. Гонка продолжается, но пара месяцев форы это уже что-то.

У кого массово упали определенные конфиги ,вы в курсе что Роскомнадзор ударил по фингерпринту хрома видимо с целью поломать MT proto и заодно упали куча vpn-сервисов.? Лечится сменой обычно фингер-принта на другой как временное решенте

пробовал. бесполезно

Какой конфиг используете?

Reality tcp vision,

Xhttp reality

Свой домен или что у вас,?

Они местами снова врубили блок на количество соединений с хэндшейками..лечится переходом на grpc или xhhtp extra max connections

Xhttp reality, причем там бывает соедиинилось, 3 "пинга" прошло и src ip влетает в блок на 15 минут

Так может вы просто попали под динамические блокировки ряда хостеров? И протокол и транспорт тут вообще не причем...вам просто триггером блочат сервер или даже целую подсеть

ЗЫ Вы пробовали поставить для xhttp extra max connections = 1 (только если вы измените хоть одну из стандартных настроек вам надо вручную укзаать все остальные

пробовал 2 разных хостера и 2 разных подсети. блокировки действительно неоднородны - на мобилах разлили все давно, местный проводной пока работал. причем на мобиле с одним клиентом блок сразу, с другим работает. попробую эксперимент с extra позже.

Вопрос возник по поводу саламандры.. я правильно понимаю, что при включении саламандры трафик просто будет неопознанным нечто как шэдоусокс работал? что мешает тогда тспу включить белые списки протоколов через который такое не пройдет а стандартный vless tcp\xhttp reality или со своим доменом на 443 порту пролезет

такое уже было когда просто глушили весь неопознанный трафик..

Или у хистери это про другое и я не так понял

Да, всё так. Salamander делает ровно это: XOR-маска поверх QUIC-пакетов, наружу выходит просто шум без структуры. И эту картину можно резать ровно так же как когда-то резали shadowsocks в Китае: DPI смотрит на энтропию байт, видит «случайный шум, неизвестный протокол», режет. Мега защиты от этой атаки нет.

Почему пока на UDP работает, а на TCP уже нет : TCP-443 это в основном HTTPS и SSH, всё остальное можно отрезать без особого ущерба, поэтому фильтры там быстро эволюционируют. На UDP сложнее. Там QUIC от Google и Cloudflare (HTTP/3), WebRTC (телега звонит через него, WhatsApp тоже), игровой трафик, DNS-over-QUIC. Whitelist UDP-протоколов технически делается, но collateral по легитимному трафику огромный, и это пока сдерживает :)

Окно временное. Если решат закрыть, Salamander поедет туда же куда поехал shadowsocks. У нас в плане держать relay-пул как расходник и добавлять транспорты по другим осям, чтобы когда один транспорт умрёт, был запас. Hysteria2 не главная ставка, просто часть стопки.

Белые списки это не белый список ип адресов? Сыриусли?

Не, белый список здесь не про IP, а про протоколы. На уровне DPI устройство классифицирует первые байты соединения как HTTPS, QUIC, WebRTC, SSH, DNS-over-QUIC и т.д., и если узнаваемого протокола нет, соединение режется. Именно так в Китае давили obf shadowsocks и v2ray: пакеты выглядят как «случайный шум», DPI их не классифицирует, идёт дроп.

Когда я писал «TCP-443 это HTTPS и SSH, остальное режется», это и было про protocol whitelist на этом порту. На UDP технически тот же подход (пропускать только узнаваемый QUIC от Google/Cloudflare, WebRTC по STUN-сигнатурам, DNS-over-QUIC и прочее) возможен, но collateral по легитимному трафику огромный, поэтому пока не делают массово.

Когда это было актуально, здесь на хабре было много статей и обсуждений, и ни разу никто не упомянул что можно обойти белые списки каким то другим способом кроме размещения своего впн сервера в облаке какого-нибудь белого и пушистого яндекса и вк.

Хм. Способы есть, и на Хабре они тоже есть.. ищи по «Reality», «xray», «sing-box».

Логика «сесть в большом облаке» работает за счёт IP-collateral: чтобы заблокировать твой IP, надо ронять заодно часть трафика к крупному хостеру. Telegram в 2018-м именно так и выжил.

Reality (наш транспорт) делает ровно ту же логику, только на TLS-слое: handshake идёт от лица реального публичного сайта (microsoft.com, yandex.com и т.п.), сертификат настоящий, SNI валидный. Зарезать наш трафик значит зарезать заодно соединение к настоящему microsoft.com у всех остальных на той же подсети. IP-collateral переехал в TLS-collateral, идея та же.

Плюс есть Hysteria2 на UDP (про неё писал выше), domain fronting через CDN (большая часть прикрыта, но местами дышит), разные обфускации поверх Shadowsocks. Тема живая, на Хабре про неё регулярно пишут.

Все статьи на хабре о «Reality», «xray», «sing-box» сводятся к их настройке для работы в черных списках.

Все статьи которые я тут видел о впн в белых списках были о том как получить место в белых списках. Не могу вспомнить ни одного другого варианта.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации