Билайн Москва (проводной и мобильный).
Со вчерашнего вечера опять начались блокировки VPN (OpenVPN, Wireguard).
А теперь - внимание, новинка!
Помимо протоколов VPN, заблокировали также протокол… Jabber.
Да, я им пользуюсь в 2023 году для личной переписки, и у меня есть свой личный сервер. Эдакий семейный мессенджер у меня.
Методика блокировки очевидно такая же - через DPI по сигнатурам.
Если используется STARTTLS, то после отправки клиентом пакета об установке шифрованного соединения, ответный пакет сервера блокируется, а клиенту вместо него прилетает RST пакет.
Если же STARTTLS отключен и используется нешифрованное соединение, то после отправки клиентом пакета response с данными для аутентификации, блокируется ответный пакет сервера, сообщающий о результате аутентификации, а клиенту так же вместо него прилетает RST пакет.
Блокировка (VPN и Jabber’а) наблюдается только на Билайне (провод и моб).
МТС (моб), Мегафон (моб), Йота (моб), Ростелеком (провод) - блокировки нет.
Интересно, что блокируется доступ к моему личному jabber-серверу, расположенному на VPS в OVH. При этом доступ, например, к jabber.ru (находящемуся в Хетцнере) - работает нормально.
2023-10-14T11:56:03.240Z
Anyuta1166
Да, забыла уточнить. Тут точно так же как и с блокировкой VPN. Можно поставить любой порт, но смена порта от блокировки не помогает, блокировка все равно работает, порт не имеет значения.
2023-10-14T13:22:01.475Z
usnevst
RST прилетает в ответ на STARTTLS или Client Hello?
2023-10-14T19:29:41.197Z
Anyuta1166
RST прилетает в ответ на Client Hello.
2023-10-14T19:39:50.375Z
usnevst
Значит число исходящих пакетов, с содержимым, после которых прилетает RST, совпадает для обоих сценариев (со STARTTLS и без)?
2023-10-14T20:03:21.679Z
Anyuta1166
Проверила дампы, получается что именно так. 3 пакета от клиента, 3 пакета от сервера, 4-й пакет от сервера блокируется.
2023-10-14T20:33:49.246Z
usnevst
Возможно это чужая блокировка которая задела подсеть или хостера целиком. (Пример). Блокировать могут после определенного числа пакетов, с любым содержимым, но возможно действительно смотрят протокол. Этот вариант легко проверить запуском чего-то другого на проблемном порту.
OVH на предмет блокировки XMPP можно проверить на чужом сервере, например xmpp.tilde.team (это сервер комьюнити Tilde.team), или найти другой. Для проверки вашей блокировки не нужен рабочий аккаунт.
2023-10-14T21:08:23.701Z
ValdikSS
Попробуйте CURL’ом. Возможно, заблокировали TLS Fingerprint XMPP-клиента.
Или напишите IP-адрес, чтобы не гадать.
2023-10-14T21:25:35.702Z
Anyuta1166
Проверила tilde.team - блокируется.
Проверила также других хостеров.
Сервер в Scaleway - блокируется
Сервер в Латвии у ITLDC - блокируется
Сервер в РФ у российского хостера - не блокируется
HTTP/HTTPS - работает. XMPP - блокируется. OpenVPN - блокируется.
Еще, номер порта не имеет значения. Хоть 5222, хоть 443, хоть произвольный нестандартный порт - подключение блокируется на любом порту. То есть все точно так же, как и с блокировками VPN - там тоже смена порта не помогает.
Нет, блокировка же наступает даже при незашифрованном соединении.
А curl не проходит, потому что там STARTTLS. Сервер ожидает начало обмена данными обычным текстом и только потом по специальной команде переход в режим TLS.
Если XMPP блокируют как VPN протокол, почему jabber.ru работает. Хетцнер врядли в белом списке.
Работает ли Direct TLS с ALPN?
2023-10-15T08:30:08.105Z
Dhohbr
Утром эта команда выдавала ок, сейчас вечером fail.
Провайдер Подряд. Владивосток.
При этом телнетом порт открывается. С vps Нидерланды выдает ок. jabber.ru доступен с россии и Нидерландов.
PS. openvpn тоже работает
2023-10-15T09:17:19.382Z
Anyuta1166
Direct TLS с ALPN - работает.
Похоже, в ALPN они вообще не смотрят, что подтверждает тест с openssl s_client, который не передает ALPN, а STARTTLS соединение все равно блокируется.
2023-10-15T09:21:53.534Z
usnevst
Возможно досматривают содержимое STREAM (исходящее и/или входящее), а потом просто считают пакеты и дропают подключение после N. Так блокируют WireGuard и IKE по исходящему от клиента. Скорее всего что-то похожее на это.
На текущий момент tilde.team XMPP недоступен c Интерсвязь is74 AS8369 и Dom.ru AS50544.
2023-10-18T12:20:56.488Z
bolvan
tilde.team:5222 XMPP STARTTLS блокируется на провайдере sknt.ru , только на части подключений (1 из 2 точек работает, другая нет), только по ipv4
при этом
подключение со SNI tilde.team к другому серверу - в порядке
tilde.team:5223 XMPP без STARTTLS в порядке
другие XMPP STARTTLS в порядке
еще 2 провайдера в спб - в порядке
тренируются ?
2023-10-18T15:01:03.556Z
usnevst
Ждет два входящих stream. Парсит (как минимум, наличие: id, version, xml:lang, xmlns:stream, from). С одним входящим stream: не заблокирует (stream:features должны прилетать отдельным пакетом). Затем ждет 2 любых исходящих и блокирует сессию (заменяет на RST входящие). Счетчики и направление возможно применяют разные. Блокируемые диапазоны неизвестны, рандом для наблюдателя.
2023-10-18T17:33:23.790Z
usnevst
По другой версии ограничено суммарное число сегментов для XMPP сессии. Или более сложное правило, вырождаемое для отдельных случаев в 2 исходящих. Наблюдалось 3, 1 (все заканчивалось на STARTTLS). Возможно дело просто в latency блокировщика.
Послать Client и принять Client не работает. Послать Server и принять Server не работает. Послать Client и принять Server работает.
При этом можно bidirectional. Например, только посылать комбинацию, и далее через N-даты будет блок. Но сэмпл нужно передать дважды: Client+Client, Client+Server, Server+Server.
У Hetzner блокируют XMPP меньше чем у OVH. jabber.ru находится в неблокируемом диапазоне, но вот conversations.im попал.
Неужели это всё из-за торговли? Осторожнее надо быть обычным пользователям с непопулярными мессенджерами. Я бы даже тестить боялся теперь этот jabber. https://notes.valdikss.org.ru/jabber.ru-mitm/
Доброго всем, извиняюсь за некропостинг, но по теме.
Держу семейный мини-jabber/xmpp сервер дома на одноплатнике и белом IP, так вот пару дней назад перестали проходить исходящие к некоторым xmpp-серверам, замечены аномалии с:
quicksy.im, tigase.org, jabb3r.org, возможно и больше… 5269 startTLS
Провайдер проводной - Maryno.net. Также пробовал по проводному билайну и мобильному теле2 - xmpp-dns тест работает ОК.
Послушал wireshark’ом, результаты прикладываю:
Подскажите пожалуйста, это вообще что, блокировка? И что дальше делать, пинать/менять провайдера, или кого ещё, или перевозить сервер куда-нибудь на VPS?..
2024-04-09T11:04:19.025Z
ValdikSS
Да, похоже на блокировку, вероятно, по какому-то особому признаку. Предполагаю, что по ответу сервера, т.к. изменение домена и параметров в ClientHello не помогает.
Можно zapret-ом поиграться. nfqws fake, split и wssize и с ограничителем по IP
Если, конечно, они не рубят по IP
2024-04-09T14:28:18.819Z
usnevst
Блокировки вернулись, как уже заметили. Правило и блокируемые диапазоны адресов изменились. Активируют счетчик блокировки по исходящему, содержимое входящих не проверяют. Парсер упростился, тригернуть можно строкой:
strea stream stream xmlns
Порядок не важен, проверяют наличие двух stream, одного xmlns и strea (полный stream тоже работает).
Далее считают исходящие с любым содержимым и по небольшому рандому блокируют подключение, подменив входящие RST’ом.
Как и прежде, правило действует выборочно.
2024-04-11T12:43:30.696Z
ff255
На моём ISP (AS39709) на данный момент перестало блокироваться…
2024-04-14T09:27:11.762Z
ValdikSS
Проблема сохраняется, добавил свежий тест.
2024-04-21T20:39:09.047Z
usnevst
Правило изменили, добавив проверку на starttls. Подробности бесполезны, детали блокировки меняются быстрей сообщений на форуме.
2024-04-21T21:18:42.034Z
ValdikSS
Роскомнадзор, оказывается, направлял письмо в conversations.im 24 сентября 2024, о том, что по закону о связи мессенджерам нужно идентифицировать пользователей по номеру телефона, а гос. орган не обнаружил договоров с мобильными операторами РФ для осуществления идентификации. Домен блокируется, в выгрузках до сих пор отсутствует.
Conversations до этого значился в реестре организаторов распространения информации. Роскомнадзор 2 года назад запросил юридическую информацию у сервиса, те её предоставили.