Reading view

TLS посередине и 10 Мбит вместо 80: два разных паттерна деградации сети

Если соединение в России внезапно стало медленным и нестабильным, первая мысль обычно вполне бытовая: оператор, перегруженный сервер, Wi-Fi, неудачный маршрут. Последние несколько дней мы разбирали похожий набор симптомов по логам Tunnel Cat и пользовательским жалобам — и обнаружили, что за похожими симптомами скрываются два принципиально разных явления: резкое замедление международного трафика и подмена TLS-сертификата с перехватом (MITM), пока зафиксированная только на Windows.

Читать далее
  •  

От HAProxy до VLESS+Reality: все грабли одного MTProto-прокси

От HAProxy до VLESS+Reality: все грабли одного MTProto-прокси

Если вы когда-нибудь поднимали свой MTProto-прокси для Telegram и он у вас "работает, но как-то не очень" — эта статья для вас. Я прошёл путь от "просто добавить relay" до "переписать всю цепочку на VLESS+Reality с нуля", и по дороге собрал приличную коллекцию граблей. Расскажу всё по порядку, чтобы вам не пришлось наступать на те же.

Исходная ситуация

Была задача простая на первый взгляд: поднять MTProto проксю для Telegram на сервере в РФ. Причина стандартная — хочется, чтобы телега работала

Взял mtg (ghcr.io/9seconds/mtg:2 — отличная реализация MTProto-прокси с поддержкой fake-TLS), поднял на сервере — и оно не работает. Точнее, работает, но еле-еле: то подключается, то нет, на мобильном интернете почти всегда фейл.

Первая мысль, которая приходит в голову почти всем в такой ситуации: "провайдер блокирует адреса Telegram". И это отчасти правда — но, как выяснилось, правда не вся.

Первая попытка: спрятать Telegram за релеем

Логика была такая: раз провайдер режет соединения именно к IP Telegram, то уберу эти IP из виду. Арендую второй сервер за границей, туда ставлю настоящий mtg, а на RU-сервере — просто TCP-релей (HAProxy или голый iptables DNAT), который прозрачно перекидывает байты дальше.

Клиент → RU-сервер (HAProxy, чистый TCP passthrough) → Зарубежный сервер (mtg) → Telegram

Казалось бы, логично: сервер в РФ теперь физически ничего не знает про Telegram, он просто гоняет байты во внешний IP. Провайдер не должен видеть ничего подозрительного.

Читать далее
  •  

Как постквантовый TLS случайно победил DoS-атаку

Привет, Хабр!

Мой сервер, как и любой другой регулярно получает свою порцию фонового мусора. Сканеры, переборщики .env, искатели чужих веб-шеллов, вялые флуды. Обычно на это не смотришь: защита ест, логи скучные. Но в этот раз первая же строчка лога не сошлась сама с собой, и разбор в итоге вывел не на «очередной кривой флудер», а на структурный сдвиг, который прямо сейчас тихо ломает целый класс сетевого софта — от middlebox'ов до анализаторов трафика.

Читать далее
  •  
❌