Почему Роскомнадзор не может заблокировать Telegram?
Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
Информация в этой заметке для многих будет не нова, каждый второй комментатор на iXBT — специалист высшей категории во всех областях сразу (это комплимент), они всё это знают лучше самого сервиса Telegram и Роскомнадзора. Но есть читатели, которые до сих пор не поняли, как Telegram удаётся обходить блокировки. Для них я попытаюсь это объяснить простым языком, как вы это любите.
Механизм обхода блокировок в Telegram появился задолго до того, как публичная конфликтная ситуация вошла в активную фазу. Суть публичного конфликта я описывать не буду — она не важна в контексте этой заметки. Разработчики Telegram придумали изящную схему — они используют службы push-уведомлений от Apple и Google для передачи дополнительных IP-адресов своих дата-центров (серверов).
Чтобы описать все тонкости процесса наглядно, я ограничусь только версией Telegram для iOS, исходные коды которой доступны, и Apple Push Notification service (APNs) — службой push-уведомлений Apple.
У каждой программы, которая работает со своими серверами, должна быть своя отправная точка — адрес или адреса основных серверов, к которым нужно подключиться. Естественно, у Telegram они тоже есть. Вот они:
Адреса IPv4: 149.154.175.50, 149.154.167.51, 149.154.175.100, 149.154.167.91, 149.154.171.5. Они заблокированы Роскомнадзором по решению Генпрокуратуры. И, естественно, недоступны у большинства российских пользователей.
А вот их эквиваленты IPv6 не заблокированы: 2001:b28:f23d:f001::a, 2001:67c:4e8:f002::a, 2001:b28:f23d:f003::a, 2001:67c:4e8:f004::a, 2001:b28:f23f:f005::a. Причина проста — Роскомнадзор и их система «Ревизор» так и не научились работать с IPv6. Это классические дармоеды, которые даже при должном финансировании не смогли за несколько лет реализовать такую поддержку. И, естественно, если ваш провайдер и ваше оборудование поддерживает IPv6, то никаких проблем с доступом по этим адресам у вас не будет. Следовательно, никаких проблем с доступом к Telegram. Это первая и основная причина, почему Telegram для iOS до сих пор работает у многих пользователей.
У Apple есть специальный сервер APNs (Apple Push Notification service). В любом момент сервер владельца ПО может послать любому экземпляру своей программы push-уведомление.
При первом запуске программы с поддержкой push-уведомления APNs выдаёт программе токен — идентификатор конкретного экземпляра программы на устройстве пользователя. Этот токен программа должна отправить на сервер разработчика ПО, где он будет храниться и использоваться. Используя этот токен, сервер разработчика в любой момент может сформировать специальное небольшое сообщение и отправить его серверу APNs. Сервер APNs в свою очередь отправит сообщение конкретной программе конкретного устройства, ориентируясь на этот токен.
Сервер Telegram использует такие сообщения не только для оповещения о событиях, но и чтобы передать клиентам информацию о новых IP-адресах дата-центров. Вот, как выглядит извлечение информации о новом IP-адресе из такого push-уведомления:
Тут есть один очень важный нюанс в одном этапе. Программа Telegram не сможет передать серверу разработчика токен, если IP-адреса сервера заблокированы. А значит сервер Telegram не будет иметь возможности отправить push-уведомление (с обновлённым IP-адресом дата-центра) на это устройство, потому что его токен неизвестен. Т.к. IPv6 адреса не заблокированы, всё прекрасно работает там, где провайдер и клиентское сетевое оборудование поддерживает IPv6.
Т.е. всё упирается в блокировку базовых IPv6-адресов серверов Telegram. Как только она будет выполнена (а на данный момент она не выполнена), все новые экземпляры программы Telegram (свежая установка) перестанут работать. Во-первых, программа не сможет подключиться к серверам Telegram, потому что они будут заблокированы. Во-вторых, программа не сможет получить новые адреса дата-центров через push-уведомления, потому что программа опять же не сможет отправить токен на сервер Telegram для получения подобных уведомлений.
Программы, которые уже установлены у клиентов, и которые успели передать токен серверу Telegram, смогут получить push-уведомления с новыми адресами дата-центров и будут продолжать работать.
Что нужно сделать, чтобы погасить Telegram (версию для iOS) в России полностью:
Что же мы видим? Роскомнадзор не выполнила ни один пункт для достижения поставленной задачи (но при этом они зачем-то погасили огромное множество вторичных ресурсов в сети, которые не относятся к задаче, зачем-то погасили некоторые VPN-сервисы и пр., а сам сервис Telegram не использует никаких мощных методов для обхода блокировок; более того, Роскомнадзор не выполнила самый первый пункт, который никак не зависит от сторонних сервисов, но при этом приступила к блокировке сторонних ресурсов). Почему? У Роскомнадзора мощнейший финансовый, технический и административный ресурс, 3000 сотрудников. Может они классические дармоеды, у которых не хватает компетенции это сделать? А может у них нет реальной задачи блокировки Telegram (а господин Дуров пишет наивные сообщения о том, чтобы им присылали инсайды о действиях Роскомнадзора, прекрасно понимая, что нужно для блокировки)?
Механизм обхода блокировок в Telegram появился задолго до того, как публичная конфликтная ситуация вошла в активную фазу. Суть публичного конфликта я описывать не буду — она не важна в контексте этой заметки. Разработчики Telegram придумали изящную схему — они используют службы push-уведомлений от Apple и Google для передачи дополнительных IP-адресов своих дата-центров (серверов).
Чтобы описать все тонкости процесса наглядно, я ограничусь только версией Telegram для iOS, исходные коды которой доступны, и Apple Push Notification service (APNs) — службой push-уведомлений Apple.
У каждой программы, которая работает со своими серверами, должна быть своя отправная точка — адрес или адреса основных серверов, к которым нужно подключиться. Естественно, у Telegram они тоже есть. Вот они:
Адреса IPv4: 149.154.175.50, 149.154.167.51, 149.154.175.100, 149.154.167.91, 149.154.171.5. Они заблокированы Роскомнадзором по решению Генпрокуратуры. И, естественно, недоступны у большинства российских пользователей.
А вот их эквиваленты IPv6 не заблокированы: 2001:b28:f23d:f001::a, 2001:67c:4e8:f002::a, 2001:b28:f23d:f003::a, 2001:67c:4e8:f004::a, 2001:b28:f23f:f005::a. Причина проста — Роскомнадзор и их система «Ревизор» так и не научились работать с IPv6. Это классические дармоеды, которые даже при должном финансировании не смогли за несколько лет реализовать такую поддержку. И, естественно, если ваш провайдер и ваше оборудование поддерживает IPv6, то никаких проблем с доступом по этим адресам у вас не будет. Следовательно, никаких проблем с доступом к Telegram. Это первая и основная причина, почему Telegram для iOS до сих пор работает у многих пользователей.
У Apple есть специальный сервер APNs (Apple Push Notification service). В любом момент сервер владельца ПО может послать любому экземпляру своей программы push-уведомление.
При первом запуске программы с поддержкой push-уведомления APNs выдаёт программе токен — идентификатор конкретного экземпляра программы на устройстве пользователя. Этот токен программа должна отправить на сервер разработчика ПО, где он будет храниться и использоваться. Используя этот токен, сервер разработчика в любой момент может сформировать специальное небольшое сообщение и отправить его серверу APNs. Сервер APNs в свою очередь отправит сообщение конкретной программе конкретного устройства, ориентируясь на этот токен.
Сервер Telegram использует такие сообщения не только для оповещения о событиях, но и чтобы передать клиентам информацию о новых IP-адресах дата-центров. Вот, как выглядит извлечение информации о новом IP-адресе из такого push-уведомления:
Тут есть один очень важный нюанс в одном этапе. Программа Telegram не сможет передать серверу разработчика токен, если IP-адреса сервера заблокированы. А значит сервер Telegram не будет иметь возможности отправить push-уведомление (с обновлённым IP-адресом дата-центра) на это устройство, потому что его токен неизвестен. Т.к. IPv6 адреса не заблокированы, всё прекрасно работает там, где провайдер и клиентское сетевое оборудование поддерживает IPv6.
Т.е. всё упирается в блокировку базовых IPv6-адресов серверов Telegram. Как только она будет выполнена (а на данный момент она не выполнена), все новые экземпляры программы Telegram (свежая установка) перестанут работать. Во-первых, программа не сможет подключиться к серверам Telegram, потому что они будут заблокированы. Во-вторых, программа не сможет получить новые адреса дата-центров через push-уведомления, потому что программа опять же не сможет отправить токен на сервер Telegram для получения подобных уведомлений.
Программы, которые уже установлены у клиентов, и которые успели передать токен серверу Telegram, смогут получить push-уведомления с новыми адресами дата-центров и будут продолжать работать.
Что нужно сделать, чтобы погасить Telegram (версию для iOS) в России полностью:
- Заблокировать все базовые IP-адреса серверов Telegram. В том числе и те, которые приходят в push-уведомлениях (их в реальности немного). Это самый важный пункт. Роскомнадзор этого не сделала (IPv6-адреса серверов Telegram не заблокированы).
- Обязать Apple удалить приложение Telegram из российского App Store. Роскомнадзор этого не сделала, программа до сих пор не удалена, хоть Apple в этом плане всегда идёт на уступки во всех странах (бизнес, ничего личного).
- Обязать Apple отключить push-уведомления, адресованные программе Telegram для российских IP-адресов. Это не совсем обычное требование, но выполнимое. Если Apple не озвучит приемлемые сроки реализации, Роскомнадзор должна отключить доступ к APNs серверам Apple (там всего несколько адресов, это тривиально), т.е. глобально отключить push-уведомления для iOS-устройств. Роскомнадзор этого не сделала.
Что же мы видим? Роскомнадзор не выполнила ни один пункт для достижения поставленной задачи (но при этом они зачем-то погасили огромное множество вторичных ресурсов в сети, которые не относятся к задаче, зачем-то погасили некоторые VPN-сервисы и пр., а сам сервис Telegram не использует никаких мощных методов для обхода блокировок; более того, Роскомнадзор не выполнила самый первый пункт, который никак не зависит от сторонних сервисов, но при этом приступила к блокировке сторонних ресурсов). Почему? У Роскомнадзора мощнейший финансовый, технический и административный ресурс, 3000 сотрудников. Может они классические дармоеды, у которых не хватает компетенции это сделать? А может у них нет реальной задачи блокировки Telegram (а господин Дуров пишет наивные сообщения о том, чтобы им присылали инсайды о действиях Роскомнадзора, прекрасно понимая, что нужно для блокировки)?
59 комментариев
Добавить комментарий
Там что-то творится под ковром, о чем мы не знаем.
Странно все это.
И тройное — скажем, недобросовестная конкуренция, наши фирмы «занесли» кому следует и теперь Амазон и Гугль блокируются под предлогом борьбы с Telegram, пользователи несут убытки, всем срочно переходить на отечественные сервисы…
Просто поражаюсь, как автор обеспокоен нарушением свободы в интернете российскими властями! :) :) :)
Может быть, может быть… :)
Мне ведь тоже свойственна некоторая склонность к конспирологии.
Вот сейчас, например, я задумался, как Вам удалось опубликовать целых три серьезных статьи на эту тему за одну неделю?! Как человек, попробовавший свои силы в авторстве статей, скажу Вам, что для этого надо на данный срок просто бросить работу (если она есть).
И, что ещё интересно: обычно, как только тут появляется какая-нибудь заметка о Telegram, то на неё тут же слетаются тролли с одноименной «Фабрики», как мухи на торт.
А на Ваших статьях — тишина…
Ответ Kyrie1965 на комментарий
Так, версию про поддержку террористов вычеркиваем…
именем богов обычно творятся исключительно непотребства :)
… см. крестовые походы, джихад с инквизицией и прочие аум-сенрике
хоть про что другое бы уже по-зомбировали
И программа в App Store, и push-уведомления, и сайты, где программа выложена для загрузки (например 4PDA, откуда она уже удалена) и пр. — всё это подлежит немедленной блокировке.
А иначе никак. Как бы я не относился к принятым законам, к действиям Роскомнадзора и пр., я рассуждаю лишь о техническом решении поставленной задачи.
Ответ Kyrie1965 на комментарий
Или вы. Как узнать то?
Устроит ли вас пинг IPv6-адресов мобильных операторов Москвы (МТС, Мегафон, Теле2, Yota)? Что вы готовы предложить взамен за потраченное на вас время? Может какие-то ещё подтверждения нужны? Если вас не устраивает подтверждения многих людей о том, что у них работает Telegram (а из заметки вы не поняли, почему).
А телеграм вот прямо сейчас на московских йоте и билайне работает без галки IPv6 и без прокси. В винде. В иос-клиенте вообще такой галки нет.
их порядку, телеграм — предлог, а истинная цель — иная (на мой взгляд, это отключение России от интернета). Почему я в этом уверен? Глупость не может быть последовательной в своих заблуждениях.
— Папа папа, а правда что от вайбера и телеграмма люди тупеют?
— Гы сынок, ЛОЛ!
:D
У них даже почта не работает.
Как работающий в большой госорганизации, я предположу вот что: имея всю логику, подталкивающую, как по рельсам, к блокировке Телеги, они вынуждены начать блокировку не в силу возможности или полезности таковой, а в силу невозможности остановиться. Ибо алгоритм там простой и свернуть невозможно. Не могут же они заявить, что технически нет сил заблокировать сейчас? Не могут и сказать, что это просто бесполезное занятие. Потому то тогда ставит вопрос о стратегии ранее утверждённых действий, о компетентности руководства, о силе ранее данных обещаний и т.п… Да и те, на кого падёт ответственность (т.е. исполняющие) не те же самые лица, что принимают решения.
Вот и видим идиотские ситуативные маневры и оправдания.
Ну и слава б-гу, я так скажу.
Добавить комментарий