Главная | Настройки | NSFW
Тема:
Доски


[Ответить в тред] Ответить в тред

[Назад] [Обновить тред] [Вниз] [Каталог] [ Автообновление ] 17 / 2 / 9

I'm behind N proxies Anonymous No.3803
8B86B413-B0AC-4[...].jpeg (492 KB, 1823x2048)
Есть опенвпн сервер (нет, wireguard не подойдет) на vps, все соединение с которым, включая рукопожатие, зашифровано заранее обговоренными ключами (tls-crypt-v2) и катится через 443/tcp (вообще удп в основном, пока работает). Обязательно должен работать iOS-клиент, соотвессна никаких ssh-туннелей и пр. Очень уж хочется построить из себя параноика, живя в России, за сим интересно:
1. Вики говорит, что еле2 умеет в блокировку esni. Насколько сам смог вкурить, esni != ech, потому что в первом случае в рукопожатии явно видно незашифрованную часть, хоть уже и без имени хоста, а вот во втором браузер с сайтом обмениваются всю дорогу мусором по каналу, из-за чего в принципе можно предположить, что там не сайт грузится, а что-то другое. Насколько часты в природе случаи "вот этого вот другого", чтобы если РКН решили бы забанить весь 443/tcp без явного ClientHello, снова пришлось бы чинить половину интернета и откатывать блокировку?
2. Раз опенвпн на сервере знает, что говорит ему клиент, подключаясь с правильным ключем, то не написал ли еще никто случаем какой-нибудь мультиплексер на стероидах, который бы отличал зашифрованный клайентхеллоу от приветствия опенвпна, чтобы на одном и том же порту и к впн меня подключать, и посторонним заглушку выбрасывать безобидную, кто с браузера зайдет?
Anonymous No.3804
Openvpn через tcp плохо работает. Работая на 443 порту ты не обезопасишься от определения типа трафика, сигнатура openvpn трафика отличается от https. Настрой сервер на любом udp порту и морочь себе голову, роскомпидорасы ещё долго будут сосредоточены на сайтах и крупных сервисах.

>какой-нибудь мультиплексер на стероидах, который бы отличал зашифрованный клайентхеллоу от приветствия опенвпна, чтобы на одном и том же порту и к впн меня подключать, и посторонним заглушку выбрасывать
Вроде были такие решения, сам не пользовался и даже не помню названий, так как не интересовался, но что-то такое я встречал.
Anonymous No.3805
>>3804
Пишу ж как раз, что работает оно в основном на UDP, иногда TCP пробую, чтобы посмотреть, не сломались ли конфиги случайно. Структура разная, но на то и tls-crypt-v2, который в openvpn 2.5 добавили - wireshark больше не понимает, что я вообще переношу за трафик, а к серверу я могу подключаться с совершенно рандомных прокси и вообще не думать о том, сколько там кто времени потратит на его расшифровку.
Anonymous No.3806
>>3803 (OP)
>2. Раз опенвпн на сервере знает, что говорит ему клиент, подключаясь с правильным ключем, то не написал ли еще никто случаем какой-нибудь мультиплексер на стероидах, который бы отличал зашифрованный клайентхеллоу от приветствия опенвпна, чтобы на одном и том же порту и к впн меня подключать, и посторонним заглушку выбрасывать безобидную, кто с браузера зайдет?
Это надо терминировать TLS чтобы распознать протокол внутри него. Этим умеет заниматься Nginx, НО я полагаю, что с OpenVPN такой трюк не пройдёт т.к. он сильно повязан на TLS сессию, что значит, что нельзя терминировать TLS до OpenVPN сервера без уродских костылей, делящих сесурити на ноль.
Anonymous No.3807
>>3806
Алсо, на сколько я знаю, это базовая фича для ShadowSocks.
Anonymous No.3808
>>3806
Я скорее про какие-нибудь патчи для опенвпн думал, чтобы сам опенвпн разбирался с этим
Но такую дичь надо уже самому писать, лезть в исходники там
>>3807
Посмотрел на сайте shadowsocks, не нашел подобного
Anonymous No.3811
>>3803 (OP)
Думаю, твой вариант это OpenVPN через UDP завернутый в TLS или HTTP туннель.
Мультиплексором c перенаправлением по url или basic auth могут выступать nginx, haproxy.

Примеры софта для создания собственно туннеля:

https://github.com/kevinxucs/udpmask - маскирует трафик xor'ом, позволяя обойти простую блокировку openvpn протокола.
https://github.com/erebe/wstunnel - обычные вебсокеты, блокировка коих маловероятна.
https://github.com/klzgrad/naiveproxy - паттерн выглядит неотличимо от гугл хрома, в отличие от поделок на go.
https://github.com/v2fly/v2ray-core - больше по части обфускации и обмана dpi десятком протоколом.

Примеры настройки обычно выложены в редми/вики на гитхабе.

Шифровать sni или нет не принципиально, мы ведь хотим выглядеть как легитимный траффик без мысли скрывать что-либо.
Вариант dpi как в китае и анализом каждого коннекта с пробами нейросетью недостижим для РФ в ближайшем будущем.
В случае серьезной движухи мы скорее пойдем по белорусскому сценарию, где будут в приоритете plain-http и p2p туннели - v2ray и psiphon соответственно, вплоть до белого списка по протоколам или адресам
Советую тебе настроить несколько обходных путей и использовать наиболее быстрый, адаптируясь к реалиям, нежели замедлить себе интернет до уровня adsl.
Anonymous No.4119
Заметил странную странность сегодня.

В nekobox запускается outline
В firefox прописан сокс5 до некобокса. И чекбокс "резолвить через сокс" пустой.
В ОС linux настроен dnscrypt-proxy, google DOH. И илса резолвит через системный ДНС, т.е. у неё в настройках doh выключен.

И вот теперь интересное. При попытке открыть страницу PR_END_OF_FILE_ERROR.
Однако, если просто поставить галочку "резолвить через сокс", страницы открываются. Подмена/прослушка DNS исключена - DOH работает исправно, резолв зашифрован, все страницы без прокси открываются ок. И днскрипт я юзаю лет 10 уже. Еще до запиливания доха юзал на предыдущем протоколе.

Дальше ещё интереснее. Если запустить вместо outline VLESS/XTLS-Reality в том же самом некобоксе. То независимо от того, резолвит через прокси или напрямую мимо прокси по DOH - все страницы открываются.

Выглядит так, будто провайдер грохнул аутлайн, но тригерится их фильтр только при наличии DNS запросов, даже через DOH.
Но это как-то абсурдно, да и ТТК у меня не сильно увлекается таким. Там есть блокировки по SNI и IP. Хитрых по протоколам нет.

Я вчера обновлял лису и ядро ОС. Возможно сломали что-то.
Было бы неплохо, чтобы отписались владельцы своих дистрибутивов.

Если прописывать https прокси вместо сокса, всё работает. Но это потому, что так в любом случае резолвит через туннель.
Пост отредактировал Anonymous
Anonymous No.4122
>>4119
Буквально несколько дней назад видел инфу, что ркн начал блокировать outline, по всей видимости, как-то его детектит. Возможно, проблемы связаны с этим.
https://t.me/ctodaily/1739
Anonymous No.4123
>>4122
Очень маловероятно. Это был ограниченный эксперимент. А у меня на ТТК вообще DPI не работает. Блочат просто по sni и ip по списку ркн.
Я погуглил. На всяких редитах и тд в самые разные годы есть отзывы, что галочка "резолвить через сокс5" помогает (от такой же ошибки в лисе).
Но я не могу понять, почему так происходит. И почему это не влияет на vless... Браузер то одинаково обращается по соксу к некобоксу. Это уж далее идет инкапсуляция в разные протоколы.
нихуя непонятно.
как бы проблемы нет - ладно, пуст ьпо соксу резолвит. Хотя лучше было бы мимо туннеля, чтобы ДНС выдавал айпишинк в соотвесттвии с моим регионом (реальным), а не для страны, где ВПН работает.
Пост отредактировал Anonymous
Anonymous No.4124
>>4122
Теле2 параша точно хуйню творит с сертификатами как и ростелеком
Anonymous No.4125
>>4124
у друга настроен VPN из андроида через yota до дома. Дома продвинутый роутер стоит. И уже из дома ВПН идёт до ВПН сервера, но пропускает мимо туннеля то, что не заблокировано.

Ну и вот скорость из мобильного интернета домой и потом по проводам быстрее, чем напрямую через ВПН из мобильного. И самый прикол, что и задержки ниже.
Пост отредактировал Anonymous
Anonymous No.4127
>>4119
Всё, дошло до меня. Сегоня глянул в лог подключения и сразу прояснилось, в чём прикол.

Еще раз всё сухо изложу.
Клиент nekobox, конфиг для outline, браузер firefox. В ОС настроен dnscrypt-proxy, используется единственный сервер google DOH, через него резолвят все программы и ОС.
Если прописать в браузере адрес прокси 127.0.0.1:2080 до некобокса и оставить пустым чекбокс "отправлять dns запросы через прокси", то при открытии НЕКОТОРЫХ сайтов возникает ошибка в браузере PR_END_OF_FILE_ERROR. Если браузер резолвит не через dnscrypt, а через некобокс с галочкой "резолвить через прокси при использовании сокс5", тогда всё ок.

Я сначала не понял в чём дело, потому что через мой VLESS сервер всё открывается ок даже, если браузер резолвит через dnscrypt.
А потом до меня дошло. У моего провайдера есть нативный ipv6 (без 6to4 и т.п.). Соответственно и днскрипт возвращает v6 адреса. И всё работало, как с прокси, так и без, пока я не добавил конфиг аутлайна. Потому что на том сервере с аутлайном просто нет ipv6.

Уже не первый раз попадаю на подобное. v6 не хотят внедрять никуда. А у меня он есть. Ну и каждый раз забываю, что я такой особенный.
Anonymous No.4130
>>4127
То есть с опсосом не пофиксить?
Anonymous No.4132
>>4130
На андроиде всё равно TUN режим используется. Поэтому и резолвить будет через проксю.
Но я заметил, что на свежем хуавей мейтпад при настройке DOH (просто добавил dns.google в "частный DNS") резолвит мимо прокси даже в режиме TUN. И вот тут уже поймут не только лишь все, если такая хуйня возникнет, как я описал с лисой и соксом. Симптомы будут те же - сайты с v6 не буду открываться. Но догадаться сложнее.

Но тогда просто убираешь DOH из настроек и резолвить начинает как положено через проксю. Правда тогда без прокси твои запросы становятся видны оператору. Можно, наверное это все учесть и настроить, надо подумать. Но вообще прокси без ipv6 не модно.
Anonymous No.4133
изображение.png (622 KB, 1024x702)
Мы тут с товарищем протестировали протокол naive. Он похож на vless/xtls, но в отличие от него добавляет слой шифрования. XTLS не шифрует и если трафик без TLS, то он в открытом виде и шурует. А у naive есть своё шифрование. При этом вроде как сделано по уму и tls in tls он не делает на хендшейках, а поэтому и не палится перед цензором двойным слоем шифрования.
При актив пробинге как и vless прикидывается ВЕБ сервером и показывает веб страничку. Но ему нужен caddy, а под nginx он не умеет (vless наоборот под nginx). Юзает библиотеки хрома, чтобы максимально мимикрировать под веб трафик.

Хендшейки (и пинг) быстрее раза в 2-2,5, чем под VLESS. Скорость +/- одинаковая. Процессор naive жрет побольше.

Но есть проблема. UDP этот naive умеет тоьлко через протокол quick. А вот по базовому для него http/2 нихера. Но квик местами в рашке блочат на ростелекоме. Он мешает пидорасам фильтровать трафик. Поэтому если naive, то без udp. Всякие дискорды отваливаются. Но для браузера похуй.

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

В общем два стула.
На одном udp, но можно попалиться на трафике, который передается по http без tls или через торенты, т.к. нет слоя своего шифрования.

На другом есть шифрование, но нет udp.
Anonymous No.4136
Ещё говорят, что есть ShadowTLS.
Сначала ведет себя, как VLESS. Создает рукопожатие TLS, как браузер. Потом гонит зашифрованный трафик в носки.
Вроде бы DPI по рукопожатию определяет, что это ОК. А дальше претензий к носкам нет, если они свежей версии без уязвимостей, которые были в первой версии.

Эта штука, и шифрует, как naive. И udp пропускает.
Но всё же это неопределенный для провайдера трафик в потоке данных. Вряд ли забанят, так как сломают весь интернет. Но понять, что чтото не то, могут.

UPD
нет в нем UDP, наебали.

алсо, вот почитать интересное про шадоу тлс:
https://en.ihcblog.com/a-better-tls-obfs-proxy/
Пост отредактировал Anonymous

[Назад] [Обновить тред] [Вверх] [Каталог] [ Автообновление ]
17 / 2 / 9

[Ответить в тред] Ответить в тред

15000

Ответ в тред No.3803
Настройки
Избранное
Топ тредов