Интересует такой вопрос, а что видет провайдер, когда пользователь используя Zapret или GoodbyeDPI заходит на те или иные заблокированные ресурсы? Что по итогу остаётся в логах ТСПУ или СОРМ?
С VPN всё более-менее понятно, там просто зашифрованное подключение к тому или иному IP по тому или иному протоколу. Там не видно, что пользователь делает через VPN. А вот видно-ли использование заблокированных сайтов при работе Zapret или GoodbyeDPI?
DNS-запросы, если не используется “защищённый DNS” (впрочем, поскольку почти любой провайдер уже осуществляет DNS-спуфинг, то zapret без “защищённых DNS” почти никогда и не заработает)
Домен виден в SNI, собственно zapret и играется с трафиком так, чтобы оборудование провайдера/ТСПУ не могло разобрать домен (если объяснять очень примитивно: вместо “navalny.com” (увидев этот домен, оборудование дропнет соединение) будет “na valn y.com”, но, конечно, у zapret гораздо больше трюков, это просто пример для простоты понимания)
Я не очень в этом хорошо разбираюсь, если честно, извиняюсь если глупые вопросы задаю. Но Zapret же именно делает вот этот SNI каким-то непонятным как я понял. Вот и хочу узнать, возможно-ли по каким-то данным в логах восстановить исходный тоесть SNI, тоесть именно ну сайт, куда зашёл пользователь?
При подробном анализе трафика можно определить домен заблоченного сайта в SNI, избежать этого никак нельзя т.к сервер должен иметь возможность собрать этот самый SNI в незашифрованном виде, а раз может сервер, значит может кто угодно на проводе. Советую вайршарк скачать и посмотреть на то, что запрет делает с разным трафиком, юзая curl из папки с запретом.
Ну да, собственно, когда zapret перестаёт работать и приходится искать новую стратегию, это происходит потому, что оборудование научилось понимать используемые трюки и понимает, какой там домен
Теоретически да, практически ресурсов не хватает. На этом и основана идея анти DPI программ. Если бы могли полноценно реконструировать работу сервера на тспу, то никакой запрет просто бы не работал. Наверное могут вычислить и показательно жёстко наказать пару юзеров, чтобы запугать остальных. Или автоматически начислять штрафы на основании того, что смогли задетектить тспу при нерабочей стратегии запрета (например, рабочая стратегия для tls 1.3 фейлит для tls 1.2 сайтов когда тспу сечет сертификат сервера, но в норме, без использования запрета, тспу должно было зарезать соединение ещё на этапе client hello - т.е налицо попытка дурения, если таких попыток несколько - пробиваем айпи и начисляем штраф). Но это всё думерство по большему счёту
если zapret не сработал (оборудование цензурирующего органа смогло разобрать домен в SNI), то подключение не состоится => доступа к заблокированному ресурсу не случилось
если zapret сработал (оборудование цензурирующего не смогло разобрать домен), то каким образом цензор узнает, какой домен вы посетили? Тут, конечно, можно фантазировать на тему “если доступ к подсетям некоего хостера заблокирован целиком, а у пользователя прошёл коннект к адресу из этой подсети, то начисляем ему штраф”, но это всё пока кажется какими-то гипотетическими случаями.
А почему для наказания важен именно сам факт доступа, а не доказанное намерение обойти блокировку? Ну и можно не сразу блочить, а дать скачать 16кб или больше, как сейчас на некоторых хостингах, и потом штрафовать за “доступ”
Цензор, как я понимаю, условно сидит в другой коробочке - СОРМ. И, похоже, вообще никто, кроме самых приближённых, не знает, как она работает. Возможно, она прекрасно всё видит.
И, если я и тут правильно понимаю, если она стоит после тспу, то фейки до неё могут не дойти?
Конечно, нет никакой гарантии при работе zapret, что пойдет что-то не так, сама программа не упадет, сеть не перезагрузится и т.д. Тогда запросы, отправляемые в сеть, окажутся открытыми для перехвата.
Для таких случаев в VPN-решениях существует kill-switch, то есть если пакеты по какой-то причине не идут через VPN, то сразу всё должно отрубиться, никакие данные в сеть вообще не пойдут.
Например, в WireGuard (и АmneziaWG) это прекрасно реализовано: установка AllowedIPs в нули приводит к тому, что ничего вообще по другим интерфейсам кроме WG в сеть не уходит. Включая даже пакеты в локальной сети.