Ник Пост Дата
Anyuta1166

Билайн Москва (проводной и мобильный).
Со вчерашнего вечера опять начались блокировки 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.

2023-10-14T22:03:05.673Z
ValdikSS
$ openssl s_client -host tilde.team -port 5222 -servername tilde.team -starttls xmpp < /dev/null &>/dev/null && echo ok || echo fail
ISP AS City Result
МТС AS28832 Chelyabinsk ok
МГТС AS25513 Moscow ok
Dom.ru AS49048 Tver ok
Dom.ru AS50544 Krasnoyarsk ok
tvmapket.ru AS42892 Dolgoprudnyy ok
Ростелеком (онлайм) AS42610 Moscow ok
Линклайн AS44041 Moscow ok
МГТС AS25513 Moscow ok
ENEVA/OBIT AS8492 Saint Petersburg ok
Beeline/Corbina AS8402 Tula ok
Dom.ru AS50543 Saratov ok
Rostelecom AS12389 Orenburg ok
2023-10-14T22:35:16.600Z
Anyuta1166
$ openssl s_client -4 -host tilde.team -port 5222 -servername tilde.team -starttls xmpp < /dev/null &>/dev/null && echo ok || echo fail
fail

Beeline/Corbina AS8402 Moscow

2023-10-14T23:06:52.690Z
usnevst

Если 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 по исходящему от клиента. Скорее всего что-то похожее на это.

2023-10-15T09:33:40.039Z
ValdikSS

Подключение к tilde.team:5222 со STARTTLS из AS8369 (Интерсвязь is74).
xmpp_tilde.team_5222_starttls_block_Intersvyaz.pcapng (6.4 KB)

Подключение к OVH Германия (сервер АнтиЗапрета 51.38.124.100), настроенный на перенаправление трафика к xmpp.jp:5222
xmpp_ovhde_5222_starttls_block_Intersvyaz.pcapng (2.7 KB)

Как минимум, регионы GRA и WAW OVH подобной фильтрации не подвергаются.

Всё, на моих каналах перестали блокировать 2023-10-15T15:05:00Z
Опять началось 2023-10-15T15:11:00Z

2023-10-15T14:10:48.426Z
Anyuta1166

Буквально час назад началась блокировка на Ростелеком (Онлайм) Москва.

Причем, как и в случае с VPN, фильтрации подвергается только IPv4. На IPv6 блокировок нет.

2023-10-15T16:14:46.173Z
bolvan

В этих дампах нет SNI в ClientHello. Может это не нравится ?
типа jabber.ru православный, а другие непонятно какие нарушают закон о мессенджерах ?

Тестят.
На 3 spb провайдерах и теле2 блокировки нет.

Не забываем, что у жаббера есть старый вариант без starttls. На tilde.team порт 5223 отвечает, можно попробовать через него без starttls

2023-10-15T19:12:17.076Z
ValdikSS

Нет, дело не в этом.
xmpp_tilde_team_servername_5222_starttls_block_Intersvyaz.pcap (4.1 KB)

2023-10-15T21:14:52.244Z
cypherpunks(cypherpunks:writecodes)

MTS HOME(MGTS) GPON москва
openssl s_client -host tilde.team -port 5222 -servername tilde.team -starttls xmpp < /dev/null &>/dev/null && echo ok || echo fail
fail

2023-10-17T12:09:47.073Z
ValdikSS

На текущий момент 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:

stream:stream xmlns:stream=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Server:

stream:stream id=xxxxxxxxxxxxxxxxxxxxxx version=xxxxx xml:lang=xxxxx xmlns:stream=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx from=xxxxxxxxxx

где x – любой символ, кроме space, например x

Послать Client и принять Client не работает. Послать Server и принять Server не работает. Послать Client и принять Server работает.

При этом можно bidirectional. Например, только посылать комбинацию, и далее через N-даты будет блок. Но сэмпл нужно передать дважды: Client+Client, Client+Server, Server+Server.


У Hetzner блокируют XMPP меньше чем у OVH. jabber.ru находится в неблокируемом диапазоне, но вот conversations.im попал.

Неполный список блокируемых

135.181.0.0/16
168.119.0.0/16
188.34.128.0/17
65.108.0.0/16
88.99.0.0/16
78.46.0.0/15
94.130.0.0/16
95.216.0.0/16

2023-10-19T09:45:08.508Z
0human

https://www.opennet.ru/opennews/art.shtml?num=59965

2023-10-20T20:21:58.690Z
anon94384997

Неужели это всё из-за торговли? Осторожнее надо быть обычным пользователям с непопулярными мессенджерами. Я бы даже тестить боялся теперь этот jabber.
https://notes.valdikss.org.ru/jabber.ru-mitm/

2023-10-21T07:28:14.668Z
ValdikSS

5 posts were merged into an existing topic: Выбор мессенджера

2023-10-24T14:36:45.955Z
ff255

Доброго всем, извиняюсь за некропостинг, но по теме.
Держу семейный мини-jabber/xmpp сервер дома на одноплатнике и белом IP, так вот пару дней назад перестали проходить исходящие к некоторым xmpp-серверам, замечены аномалии с:
quicksy.im, tigase.org, jabb3r.org, возможно и больше… 5269 startTLS

Спойлер

~$ xmpp-dns -46fstv quicksy.im
xmpp-server xmpp.quicksy.im. 5269
Priority: 1 Weight: 1
IP: 157.90.245.42
Connection: [OK]
StartTLS: [Not OK]
read tcp4 192.168.1.103:36748->157.90.245.42:5269: read: connection reset by peer
~$ xmpp-dns -46fstv tigase.org
xmpp-server xmpp.tigase.tech. 5269
Priority: 20 Weight: 0
IP: 54.191.142.250
Connection: [OK]
StartTLS: [Not OK]
read tcp4 192.168.1.103:44508->54.191.142.250:5269: read: connection reset by peer
IP: 52.32.179.178
Connection: [OK]
StartTLS: [Not OK]
read tcp4 192.168.1.103:34006->52.32.179.178:5269: read: connection reset by peer
IP: 34.208.251.179
Connection: [OK]
StartTLS: [Not OK]
read tcp4 192.168.1.103:32994->34.208.251.179:5269: read: connection reset by peer
pisya@COMP3:~$ xmpp-dns -46fstv jabb3r.org
xmpp-server jabber.hot-chilli.net. 5269
Priority: 0 Weight: 0
IP: 2a01:4f8:242:56ca::2
Connection: [OK]
StartTLS: [OK]
Certificate: [OK]
IP: 49.12.125.53
Connection: [OK]
StartTLS: [Not OK]
read tcp4 192.168.1.103:45244->49.12.125.53:5269: read: connection reset by peer

Провайдер проводной - Maryno.net. Также пробовал по проводному билайну и мобильному теле2 - xmpp-dns тест работает ОК.
Послушал wireshark’ом, результаты прикладываю:

  1. Марьино.нет, соединения нет :frowning:
    ws_quicksy_srv_rst.pcapng (11,3 КБ)
  2. Tele2 мобильный, соединение есть
    ws_quicksy_srv_ok.pcapng (25,6 КБ)

Подскажите пожалуйста, это вообще что, блокировка? И что дальше делать, пинать/менять провайдера, или кого ещё, или перевозить сервер куда-нибудь на VPS?..

2024-04-09T11:04:19.025Z
ValdikSS

Да, похоже на блокировку, вероятно, по какому-то особому признаку. Предполагаю, что по ответу сервера, т.к. изменение домена и параметров в ClientHello не помогает.

openssl s_client -starttls xmpp-server -host xmpp.quicksy.im -port 5269 -xmpphost quicksy.im -servername quicksy.im </dev/null &>/dev/null && echo ok || echo fail

Node ISP AS City test 9 Apr test 10 Apr test 21 Apr
RU-001 ТТК AS8427 Magnitogorsk ok ok ok
RU-002 Интерсвязь is74 AS8369 Yemanzhelinsk ok ok ok
RU-003 МТС AS28832 Chelyabinsk fail fail fail
RU-004 МГТС AS25513 Moscow ok ok ok
RU-005 Dom.ru AS49048 Tver ok ok ok
RU-006 Dom.ru AS50544 Krasnoyarsk fail fail fail
RU-009 Линклайн AS44041 Moscow ok ok fail
RU-010 МГТС AS25513 Moscow ok ok ok
RU-011 ENEVA/OBIT AS8492 Saint Petersburg fail ok fail
RU-012 Beeline/Corbina AS8402 Tula ok ok fail
RU-013 Dom.ru AS50543 Saratov fail fail fail
RU-014 Rostelecom AS12389 Orenburg ok ok ok
RU-018 Evpanet AS43936 Krimea ok ok ok
RU-020 PJSC MegaFon AS31205 Khakasiya ok ok ok
RU-021 ER-Telecom Holding AS56981 Tomsk ok ok ok
RU-022 Sibirskie Seti AS40995 Novokuznetsk ok ok ok
RU-023 Rostelecom AS12389 Perm region ok ok ok
RU-024 Beeline AS34038 Tyumen ok ok ok
RU-025 Rostelecom AS12389 Kemerovo ok ok ok
RU-026 Rostelecom AS12389 Kemerovo fail fail fail
RU-027 Sibirskie Seti AS47433 Kemerovo ok ok ok
RU-028 Beeline AS3216 Kemerovo ok ok fail
RU-029 Rostelecom Mobile AS12389 Kemerovo (Spb SIM) ok ok ok
RU-031 Beeline AS42110 Sochi ok ok ok
RU-032 Sibirskie Seti Ltd. AS34757 Novosibirsk fail fail fail
RU-033 Yota AS31213 Saint Petersburg ok ok ok
RU-035 UBS (ubsnet.ru) AS50042 Sevastopol ok ok ok
2024-04-09T13:07:01.585Z
ff255

Спасибо большое за инфу, пойду думать дальше…

2024-04-09T13:21:38.698Z
bolvan

Можно 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 года назад запросил юридическую информацию у сервиса, те её предоставили.

2024-10-22T03:16:28.951Z