В общем, шпион не сможет воспользоваться Reality с fake-SNI со своим IP адресом (использовать reverse-proxy).
Почему? sing-box на сервере использует свой DNS для sniffing + routing по SNI, не полагаясь на dst_ip который выслал клиент (потенциально со своим шпионским IP).
Предположение о том, что шпион может гарантированно попасть к своему IP, просто обманув routing rules – судя по всему, было неверным.
Это всё равно было полезным разобрать, чтобы понимать как на самом деле устроена маршрутизация в sing-box.
ну xray тоже, видимо, именно по этому при проверке dns видны адреса той страны, где впска стоит. Правда стоит тогда не забыть в routeOnly поставить false
Отличное наблюдение, тогда вопрос можно считать закрытым.
Да, мне нравится симметричное единообразие конфигураций, у sing-box намного гибче и архитектурно сильнее реализован DNS.
Поэтому и предпочитаю sing-box вообще везде, он поддерживает 1 в 1 большинство протоколов Xray. И понятная документация в одном месте, изучив полностью которую можно реализовать почти всё что угодно. Правила декларативные и удобно читаемые (DSL). Потребляет меньше памяти.
sing-box сильнее ложится как центральный хаб маршрутизации.
У меня был раньше Xray, но я с него переехал, слишком много silent failure логики и исторического мусора.
А sing-box вообще не запустится, пока всё не будет идеально настроено. Там автор с железной рукой, требует чтобы всё было правильно.
Да, всё верно. Рассчитано примерно на 2-3 пользователя. Если надо больше – делайте балансировку трафика на разные IP как Китае.
Но сейчас, с одного лишь ru vps можно добиться 90% покрытия всей сети интернета. Пробиться к практически любым сервисам (используя лишь WARP + Tor как выбор второго хопа).
на сколько я знаю, на большинствах ру хостингах варп не регистрируется, а если подсунуть готовый конфиг, никуда не может подконнектиться. Я заморочился и установил awg 1.5. Получилось запустить, а у вас как?
Какой раз говорю, конечные устройства должны быть тупыми, не заниматься транспортом для самих себя.
На мой взгляд, конечным устройствам следовало бы быть умными. Выходным узлам при этом лучше оставаться тупым расходным материалом: купил, поднял докер, ушел, и больше времени на его настройку не тратишь — все равно этот айпи забанят не сегодня-завтра. Именно клиент должен иметь сложные правила, перебирая все выходные узлы по одному (кажется это URLTest в sing-box). Изменение правил — а оно в текущих или будущих реалиях будет происходить ежедневно — не требует коннекта к серверу по палевному SSH, ради которого еще и Tor тащить.
Приложения-шпионы лучше запускать в network namespaces, с чистой таблицей роутов (ip rule && ip route show table all), ведущей напрямую к провайдеру, и с дефолтным провайдерским DNS. Это решает кучу проблем: ru-сервисы пропустят трафик с российских домашних IP, а шпионы будут считать, что работают на чистом интернете без VPN. Хотя не уверен, можно ли это сделать на андроиде. Главная цель здесь – иметь per-application-правила. gethostbyname("ntc.party"), выполненный доверенным приложением, и тот же запрос, выполненный максом — это две разные истории, и ответ им нужен разный. То же касается и всей остальной сетевой активности двух категорий приложений: доверенных и недоверенных. На роутере (а тем более на удаленном сервере) такие правила не пропишешь, так как он не видит, какое приложение отправляет пакеты.
выходным узлам при этом лучше оставаться тупым расходным материалом: купил, поднял докер, ушел, и больше времени на его настройку не тратишь — все равно этот айпи забанят не сегодня-завтра.
Вот с этим тейком я согласен, даже если ты заморочишься и сделаешь идеальную непробиваемую схему, все равно с тобой на хостинге будут соседи, которые “запачкают” подсеть рано или поздно. Если хочется постоянства, надо смотреть в сторону резиденстких выходных нод.
Я не думаю, что РКН только на это смотрит. Огромное количество сайтов хостится на мощностях различных дата-центров. Да, в том числе там VPS\VDS\VPN можно найти, но если бы РКН ориентировался только на это, они бы давно уже перебанили все ASN всех хостеров с первых 50-100 страниц гугла и это решило бы 90% всех проблем по части VLESS-протокола. Но они так не делают, они пытаются детектить сам VLESS.
В принципе, разделение на входной и выходной IP само по себе радикально усложняет задачу. Даже с моими кривыми руками и спаленным айпишником мой первый VPS еще подает признаки жизни. Причем они явно отслеживают связку IP:порт, поскольку на 443 порту отъехало всё давно, а вот на 20 порту работало долго. Потом я создал конфиг на 1 порту и оно тоже долго работало, пока я не начал другим людям ссылки раздавать, после чего оно тоже быстренько всё отъехало в бан. Конечно, я не знаю что там у людей за софт на телефонах крутится, наверняка рядом с V2RayTun запущен тот же Макс, Сбер, Озон и прочий отечественный софт, который всё это быстро палит.
Сейчас арендовал второй VPS, на нем уже изначально 2 IP сделал, поставил дополнительный блок на geoip .ru. Пока что тестирую на ПК, завтра на телефоне дополнительно потестирую. Если отвалов не будет, начну постепенно расширять охват, возможно, получится даже понять что именно палит: количество коннектов до конкретного IP или какой-то отечественный софт.
Dreaght, тут такой вопрос нарисовался: а что делать владельцам статических IP? У меня вот 178.173.19.2 уже много лет арендован у провайдера, причем их оборудование работает в прозрачном режиме, т.е. данный адрес указан на WAN-интерфейсе моего домашнего роутера. В итоге схема подключения выглядит (по моему мнению) так:
192.168.1.2 - мой iPhone
192.168.1.1 - мой роутер
178.173.19.2 - WAN-порт роутера
178.173.19.1 - шлюз интернет-провайдера
ТСПУ
N промежуточных узлов
213.165.59.188 (входной IP на VPS в другой в стране)
138.124.6.91 (выходной IP на том же VPS)
Так выглядит эта схема для меня как для человека, поскольку мне известны основные узлы маршрута и я примерно представляю как идет трафик. Теперь предположим, что я включаю VPN на своем iPhone и у меня в памяти висит мессенджер Мах. Как это выглядит для шпионского модуля в нем? Понятно, что он все еще будет видеть LAN IP телефона (192.168.1.2), но какой узел в таком случае будет следующим в маршруте? Внутренний адрес роутера? Адрес на его WAN-порту? Или входной IP на VPS? Или только выходной? Но ведь входной он все равно должен знать, он же есть в маршруте… Помогите разобраться с этим.
Дефолтный вход – utun4 виртуальный интерфейс сети (например 240.0.0.2).
Потом – физический интерфейс который используется как шлюз для шлюза локального VPN сервера (240.0.0.1):
en0 (Wi-Fi, например 192.168.3.2)
pdp_ip0 (сотовая сеть, например 10.18.220.2)
Уточню, в Xray/sing-box ядрах нет сокета или процесса, слушающего на 240.0.0.1, в отличие от реальных системных VPN (как WireGuard), – это фикция, ловушка, там пакеты просто умирают. Вместо этого iOS передает пакет в память приложения для энкапсуляции и отправки в userspace прокси.
Ваше отличие от тех что за NAT – никакое. Всех всё равно можно однозначно идентифицировать.
Узнает ли шпионский модуль всю цепочку пути?
Без jailbreak – нет. Только IP интерфейсов сети и IP exit узла с них.
У меня похожая схема - всё идет к одному ip. Теперь детали, всё - это мой планшет с андроид , один ip - это роутер на базе linux (arch) и обычный проводной российский провайдер с белым ip. Связь клиента с сервером, xray. На этом сервере уже маршрутизация, для этого я использую обычный прокси (privoxy), в качестве впн’ов, tor, i2p, yggdrasil. Ютуб через zapret2, т.е. напрямую, остальное (запрещённое) через те впны. Одно время тоже думал, что трафик идёт в одному ip, будет наверно подозрительно? В конце прошлого года была “нестабильность”, блочили (причём как-то страно, в обед не работало, к вечеру из дома для проверки, работало) мне подключение к своему серверу. Переделал под xhttp, пока работает. Ещё недели 2-3 назад использовал такую же схему но с stunnel на работе, перестала работать, перешёл на xray - работает. Да ещё, касперский, установленный на рабочих компах блочит трафик с такому xray прямо на компе от браузера. С другим браузером, если он не попал в мониторинг касперского (видимо в момент установки последнего), не блочит. Ну и надо отдельно сказать, что я не пользуюсь (и не пользовался никогда) российскими сервисами (их приложениями) - такси, магазины, банки, госуслуги и т.д. Если надо - только веб версия их сайтов и обычно это на пк. Планшет, исключительно сёрфинг, проигрыватель, карты (навигация).
Не важно, главное чтобы выходной IP (который забанят) был другой.
Никто как правило за этим не следит, это во-первых.
Во-вторых, gRPC оправдывал это тем, что было похоже на домашний сервер. Там тоже реверс-прокси к одному белому IP (не важно что у Вас итак белый был).
Возможно что-то другое переделалось, а это эффект плацебо.
Если они шли через выходной IP прокси, то всё равно спалили.
Нет, это не обязательно значит, что их надо было в direct пускать, это ложное чувство безопасности, правильно будет разделить входной / выходной IP как минимум.
Здравствуйте, зарегистрировался чтобы спросить: есть ли готовые программы для проверки уязвимости встроенных socks на пк, как на андроиде? Недавно выпустили новую версию Throne, в которой встроенный mixed инбаунд можно заблокировать под логин и пароль, хочется проверить.
Это не плацебо, к сожалению. Это повторилось пару раз с промежутком в месяц примерно. При этом я смотрел логи и на сервере, использовал схему с хабра vless+reality+tls (сейчас vless+reality+xhttp). Потом я не пользовался мобильным интернетом месяца два, зачем он мне такой?
Я не использую схему с sing-box и xray для маршрутизации. xray у меня исключительно чтоб подключится к серверу, до него я использовал stunnel. На сервере я не использую схем с впн, warp и т.п, за исключением тех что привёл выше. Свой белый ip я естественно свечу на росс сайтах, так меньше подозрений, имхо. Да и если когда-то зарегался на каких-то сайтах по белым ip, потом заходить под внп на них, палево. Последняя цитата, на которую вы ответили, она просто констатирует простую вещь - чем дальше ты от государства, те лучше для тебя. Конечно это не значит если гос-во потянется за тобой, то не достигнет цели.
Сейчас я скажу очень не популярную вешь, нужно избегать использования устройств с проприетарными прошивками или ос, в том числе и андроидами, у которых бутлоадер не разблокировать, не использовать никаких программ-браузерозаменителей (магазины, банки и т.д.), не пользоваться сервисами гугла, типа плей маркета, ещё лучше, перейти на какой-нибудь lineageos или свободный аналог. В противном случае, для вас удобство важнее свободы и тут уже не о чём говорить. Да, за свободу нужно платить, как и за любое благо.