Как стать автором
Обновить

Domain fronting для чайников, и как его использовать для обхода блокировок

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров56K
Всего голосов 61: ↑60 и ↓1+73
Комментарии45

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

Это мы сохраняем… В PDF, и сразу на ЖД и по облакам.

В tls 1.3 разве не была реализована передача SNI после установления шифрования (ведь как раз dpi может читать SNI, но не может читать установленное http соединение)?

НЛО прилетело и опубликовало эту надпись здесь

Забавно идет развитие. Придумаешь новое техническое решение, его запрещают (блокируют). Думаешь дальше, как пробить). Хотя стагнацией - это тоже не назовешь.

НЛО прилетело и опубликовало эту надпись здесь

Помню, пользовался пару лет назад Firefox-ом c eSNI, в сочетании с dns-over-https это позволяло без VPN-ов посещать большинство заблокированных ресурсов (те что сами поддерживали TLS 1.3 и хостились за CDN). А потом в какой-то день Mozilla вдруг объявили что убирают поддержку eSNI из браузера и разом её выпилили, сказав что "это был не стандарт, а драфт, и вообще случайный эксперимент, и на замену ему сейчас придёт полноценный ECH". Но вот только несколько лет уже прошло, ECH так полноценно и не работает, а вот eSNI наоборот - реально работал, ещё несколько лет назад и реально решал проблему цензуры. Выводы, как говорится, делайте сами

НЛО прилетело и опубликовало эту надпись здесь

Справедливо. Тогда был действительно период, когда для цензоров шифрование SNI, закрывающее один из самых удобных способов быстро и дёшево ограничить нужные соединения, было относительно в новинку и не носило массовый характер. Сегодня разумеется этот вопрос стоит более остро, цензоры тоже немного разобрались с тем как там оно технически устроено, помню какой-то сумрачный гений из госдумы даже предлагал полностью запретить и блокировать TLS 1.3.

Я имел ввиду то, что в те времена, когда eSNI отлично работал, а цензоры ещё за этот вопрос не взялись, Mozilla вдруг крайне неожиданно взяла и просто убрала его из браузера, хотя никакой технической необходимости в этом как будто бы не было. Я не сторонник конспирологии, но тогда это выглядело так, что их очень попросили это сделать

Я как-то настраивал там вебсокет по tls между fastly и сервером, могу ещё раз обкатать и рассказать что надо сделать для

Сразу из коробки hiddify работает с fastly. В settings > domains > mode = cdn. В domain пишете свой домен подключенный к cdn, в поле tls domain fronting добавляете домен для фронтинга.

НЛО прилетело и опубликовало эту надпись здесь

Перспективная панель. Как оцените в сравнении с x-ui/3x-ui, если пробовали их?

Как по мне, очень много приблуд, вроде не нужные можно отключить.

В итоге они потребовали отправить им какие-нибудь счета за коммунальные услуги, где видно мое имя и адрес, а так же выписку из банка для карты, которую я привязал. Тут я немного подофигел, потому что жилье я арендую и счета приходят не на мое имя

Сразу извиняюсь, что не по теме статьи, но упомянутое считаю актуальным и, возможно, кому-то мой совет упростит быт.

Я в похожей ситуации (некоторый сервис ввел ограничения на резидентов РФ) решил "поселиться" за рубежом, не покидая страны пребывания — РФ. Первое предложение сервиса подтвердить мое перемещение путем демонстрации платежки за коммунальные услуги я отверг по причине "арендного" жилья. Тогда они предложили через банковскую выписку.

Обращение в банк я делал со словами "выехал из страны, где зарегистрирован, временно проживаю в столице одной из европейских стран, желаю отображение этой информации в ежемесячной банковской выписке", сообщил им заранее подготовленный адрес "проживания". В выписке со следующего месяца наблюдалось упоминание города, но без адреса, что вполне устроило тех.поддержку сервиса и ограничения с моего аккаунта были сняты.

Не понял. Банк ваш, в котором адрес поменяли - иностранный? Или русский?

Банк российский. Подтверждений нового места жительства не требовали.

Да, с некоторыми банками такое работает. Но есть и свои риски. Некоторые банки/брокеры совсем недавно начали рассылать запросы подтверждения резидентства. Причем принцип выборки для писем счастья пока не понятен.

И к сожалению, глобально это проблемы не решает, т.к. многие сервисы все чаще начинают сверять IP-адреса (при этом блокируя аккаунты если видят авторизации с VPN/proxy/IP датацентов), и геопозиции (это пока больше про приложения).

Некоторые же, увидев выписку из российского/санкционного банка просто закроют аккаунт на всякий случай.

Про vpn`ы. Если в правилах сервиса не прописаны явно запреты на сокрытие клиентом своего адреса, то нет оснований что-либо предъявить.

Дело не в "основаниях что-либо предъявить", а о возможности/невозможности нормально пользоваться сервисом.

Когда в термсах есть пункт о том, что компания может отказать по своему усмотрению (а они в том или ином виде есть почти у всех), отдельно прописанные пункты про VPN просто не нужны.

Если некоторая компания в отношении меня применяет свое усмотрение, то я делаю очевидный вывод -- мы (я и компания) друг в друге не нуждаемся.

https://account.habr.com/info/agreement/?hl=ru_RU

п. 2.5

Если Пользователь предоставляет неверную информацию или у Хабра есть основания полагать, что предоставленная Пользователем информация неполна или недостоверна, Хабр имеет право по своему усмотрению заблокировать либо удалить учетную запись Пользователя, а также отказать Пользователю в использовании Приложений и связанных с ними Сервисов полностью или в определенной части.

п. 3.3 d

Поскольку Приложения и основанные на них Сервисы находятся на стадии постоянного дополнения и обновления, форма и характер функциональных возможностей Приложений и предоставляемых Сервисов могут время от времени меняться без предварительного уведомления Пользователя. Хабр вправе при необходимости по собственному усмотрению прекратить (временно или окончательно) предоставление Сервисов (или каких-либо отдельных функций в рамках Сервисов) всем Пользователям вообще или отдельному Пользователю, в частности, без предварительного уведомления;

Кстати, сервисами и Apple / Google вы очевидно тоже не пользуетесь?

Если некоторая компания в отношении меня применяет свое усмотрение

Ваше внимание упустило ключевое слово. Я его выделил.

Смею вас заверить, что ни гугл, ни хабр, пока ничего подобного в отношении меня не предпринимали.

Отличная статья, как всегда. И пользуясь случаем - ни у кого нет часом архива публикаций уважаемого автора? Чтобы спокойно архив в облако закинуть на будущее?

Уважаемые эксперты - а нет ли чего нибудь супер простого типо algo или готового решения в docker контейнере с хорошим уровнем недетектируемости? Чтобы в 2 команды развернул, поставил клиент и поехало?

Я так полтора года назад развернул wg через algo, это заняло около часа и прекрасно работает, но чувствую wg должно не проживёт(
Но все статьи которые сейчас вижу требуют что-то типо пол дня - день просидеть за настройкой.

Может есть какой нибудь контейнер где уже всё готово, который переживёт блокировки на уровне протоколов хотя бы.

НЛО прилетело и опубликовало эту надпись здесь

Всем привет! Уровень аккаунта не позволяет комментировать предыдущие статьи, поэтому спрошу здесь)
Установил и настроил по одной из статей автора X-UI, пытаюсь проверить корректность маскировки с помощью curl, но получаю:

  • Added www.glshosting.net:443:<MY_SERVER_IP> to DNS cache

  • Hostname www.glshosting.net was found in DNS cache

  • Trying <MY_SERVER_IP>:443...

  • Connected to www.glshosting.net (<MY_SERVER_IP>) port 443

  • schannel: disabled automatic use of client certificate

  • ALPN: curl offers http/1.1

  • schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - Функция отзыва не смогла произвести проверку отзыва для сертификата.

  • Closing connection

  • schannel: shutting down SSL/TLS connection with www.glshosting.net port 443 curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - Функция отзыва не смогла произвести проверку отзыва для сертификата.

Пробовал использовать различные домены для маскировки: как находящиеся в той же подсети, что и IP моего сервера (один из них в примере), так и популярные (например, microsoft, amd) - результат один и тот же.
Пробовал проверять сертификат на сайте https://www.digicert.com/help/ - вывод отличается при проверке сайта, под который я маскируюсь, от вывода при проверке IP моего сервера (получаю сообщения TLS Certificate status cannot be validated, Certificate does not match name <MY_SERVER_IP>, TLS Certificate is not trusted).
При переходе через браузер - открывается сайт, под который я маскируюсь, но хром пишет, что сертификат недействительный и подключение не защищено.
В общем, нет уверенности, что маскировка работает - подскажите, как это исправить?
И ещё вопрос: если я маскируюсь под непопулярный домен, в случае введения белых списков мой прокси с большой долей вероятности перестанет работать?

НЛО прилетело и опубликовало эту надпись здесь

Спасибо за ответ! Пока комментарий модерировался, увидел похожую проблему здесь в комментариях к одной из ваших статей, когда проверку сертификата curl-ом ломал касперский. У меня стоит аваст, отключил его и стал получать результат похожий на корректный (к сожалению, сейчас в командировке и не смогу скинуть пример ответа)

Извините, не могу комментировать старые статьи. По вашему гайду сделал себе работающий 3X-UI, спасибо большое!

Вопрос такой: как мне в своей сети сделать гейт, который будет весь трафик, который на него конкретно (как на гейт) приходит, упаковывать в туннель и отправлять туда? Это может быть отдельная машина (виртуальная, например), старенький роутер, одноплатник. Мне проще всего, конечно, виртуалка с реальной сетевухой (у меня так работает pfSense с двумя реальными сетевыми картами).

В какую сторону копать? Как такие гейты называются?

Привет автору и спасибо за статью! Я живу в Туркменистане и твои статьи клад для таких как я. Я заметил что ты отвечаешь на большинство комментариев и пишу с надеждой, что ты увидишь мой коммент. Может быть ты сможешь подсказать где можно купить рабочий vps vds для жителей Туркменистана? Не хочется покупать на рандомных сайтах в надежде что ip адрес будет работать.

НЛО прилетело и опубликовало эту надпись здесь

Да нигде, если уж взялись за блокировку CDN и причём не адресами, а целыми подсетями.

Короче говоря, у вас сейчас разблокированы подсети aws например: 51,52,57,3. Чуваки регаются там и продают vps подешевке, а это белыe ip адресa, хоть shadowsocks разворачивай на нем.В этом чате в телеге и происходит вся суета?

https://t.me/blackserwers_chat

Откуда такая уверенность, что это белые адреса? Заявление довольно-таки сильное.

Потому что знаю о чем говорю. Понаблюдай за чатом, поспрашивай?

Рабочие адреса просто валяются на земле, знай только регай себе free trial?

Особенно широко же используют выход через http proxy, с помощью различных сочетаний методов и пэйлоадов с разными доменами, в приложениях типа http custom, dark tunnel итд, там белые ip уже не нужны.

НЛО прилетело и опубликовало эту надпись здесь

Я так понимаю что если все подсети Fastly заблокированы или домен на базе Fastly то метод работать не будет?

В целом скорее только IP, т.к. перебирать все домены, которые там хостятся, слишком геморно.
Ну и если домен, который ты указываешь SNI в блоке, то подключение тоже не пройдет

Уважаемый автор, есть ли возможность поподробнее писать инструкцию об настройках Fastly Domain fronting c связкой 3X-UI на порту 443? Разные способы пробовал но никак не получается. Какая должна быть настройки в 3X-UI и Fastly чтобы в хост был ***.com.global.prod.fastly.net а в SNI pypi.org. буду благодарен за любую помощь

НЛО прилетело и опубликовало эту надпись здесь

Проверил CDN CloudFlare: там работает domain fronting (первого типа) ... правда только для доменов и поддоменов из своего аккаунта, т.е. под чужой сайт не спрячешься.

Как извлечь пользу от маскировки одного своего домена под другой свой домен - пока идей нет
¯\_(ツ)_/¯

НЛО прилетело и опубликовало эту надпись здесь

Тоже попал под запрос KYC от Клаудфронта. Требовали выписку с банковской карты, которую я использовал при регистрации. Так что имейте ввиду, что привязывать карту надо такую, с которой можно потом выписку заиметь, если что.

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

Публикации

Истории