Не так давно заметил что в Билайне заблокированы часть подсетей предоставляемых CDN-сервисом CloudFlare. Причем блокировка ведется именно по IP, т.е. ни по HTTP, ни по HTTPS часть ресурсов, которые в своей работе используют CloudFlare. Под катом, если кому-то интересно примеры и некоторый анализ ситуации.
Началось все с того что одним прекрасным утром я не смог зайти на форум forum.gsmhosting.com, не то чтобы этот ресурс был особенно полезным для меня, но иногда читаю там какие-то новости и просматриваю девелоперские разделы, поэтому факт того что ресурс не открывается для меня стал небольшим сюрпризом. Возможно временные технические проблемы, подумал я, но проверив доступность ресурса вечером — увидел что ничего не поменялось. Тогда я решил попробовать разобраться в чем же дело. В месте подключения заведено два провайдера Билайн (L2TP) и Ростелеком (PPPoE), все это «сведено» через Mikrotik, т.е. используется балансировка нагрузки, попеременный выбор маршрута и т.п. подобные полезные вещи, однако, HTTP и HTTPS открываются именно через Билайн. Посмотрев nslookup'ом A-записи для forum.gsmhosting.com я получил следующее:
Как видно оба данных адреса принадлежат CloudFlare, настроив маршрутизацию этих IP через Ростелеком — я обнаружил что ресурс вполне работоспособен. Что же произошло?
На странице http://moskva.beeline.ru/customers/help/safe-beeline/ugrozy-v-internete/zablokirovannye-resursy/ у Билайна можно получить информацию о том что оба этих IP адреса действительно попадают в список заблокированных ресурсов:
При этом попытка найти само постановление ФНС 2-6-27/ 2016-06-29-51-АИ успехом не увенчалась. Также, IP-адрес и доменное имя форума были проверены на предмет присутствия в списке заблокированных ресурсов здесь:
Однако и там и там на момент проверки значилось что данные IP адреса или доменное имя не значатся в реестре.
Следующим шагом было обращение в техподдержку Билайна с подробным описанием ситуации, на что был получен следующий ответ:
Но факт в том, что у другого провайдера — Ростелеком, который также исполняет требования 149-ФЗ forum.gsmhosting.com открывался, а вот заблокированный marathonbet.cc нет, о чем и было сообщено в ответном письме представителям провайдера:
Однако в ответ я получил простую отписку:
Комментарии про реализацию аналогичной блокировки у конкурентов, естественно, во внимание не приняли, да и судя по всему отвечал обычный сотрудник ТП первого уровня, у которых на любой типовой запрос есть соответствующие инструкции. Других причин именовать один единственный IP адрес 104.27.159.203/32 целой подсетью по-крайней мере я не вижу ;)
Что же мы имеем в итоге? Множество ресурсов так или иначе пользуется CDN-сервисом от CloudFlare, реализация блокировок у некоторых провайдеров (тот же Билайн) в этом случае реализована по IP, т.е. любые HTTP и HTTPS обращения к заблокированным IP просто «режутся» firewall'ом на стороне провайдера, без какого-либо дополнительного информирования абонента. С другой стороны, некоторые (Ростелеком) реализуют более правильный подход к реализации подобных блокировок, так, например, у них блокировка IP происходит только при попытке обращения по HTTPS, при использовании HTTP другие ресурсы не страдают, т.к. анализируется поле Host в заголовке запроса.
Последующие проверки на тему «как обстоят дела в Билайне» показали что со стороны провайдера заблокированы и некоторые другие ресурсы, A-записи которых принадлежат пулу Cloudflare, причем полностью по IP.
Началось все с того что одним прекрасным утром я не смог зайти на форум forum.gsmhosting.com, не то чтобы этот ресурс был особенно полезным для меня, но иногда читаю там какие-то новости и просматриваю девелоперские разделы, поэтому факт того что ресурс не открывается для меня стал небольшим сюрпризом. Возможно временные технические проблемы, подумал я, но проверив доступность ресурса вечером — увидел что ничего не поменялось. Тогда я решил попробовать разобраться в чем же дело. В месте подключения заведено два провайдера Билайн (L2TP) и Ростелеком (PPPoE), все это «сведено» через Mikrotik, т.е. используется балансировка нагрузки, попеременный выбор маршрута и т.п. подобные полезные вещи, однако, HTTP и HTTPS открываются именно через Билайн. Посмотрев nslookup'ом A-записи для forum.gsmhosting.com я получил следующее:
Addresses: 104.27.158.203
104.27.159.203
Как видно оба данных адреса принадлежат CloudFlare, настроив маршрутизацию этих IP через Ростелеком — я обнаружил что ресурс вполне работоспособен. Что же произошло?
На странице http://moskva.beeline.ru/customers/help/safe-beeline/ugrozy-v-internete/zablokirovannye-resursy/ у Билайна можно получить информацию о том что оба этих IP адреса действительно попадают в список заблокированных ресурсов:
При этом попытка найти само постановление ФНС 2-6-27/ 2016-06-29-51-АИ успехом не увенчалась. Также, IP-адрес и доменное имя форума были проверены на предмет присутствия в списке заблокированных ресурсов здесь:
Однако и там и там на момент проверки значилось что данные IP адреса или доменное имя не значатся в реестре.
Следующим шагом было обращение в техподдержку Билайна с подробным описанием ситуации, на что был получен следующий ответ:
Заблокирована подсеть 104.27.159.203/32, которая имела отношение к ресурсу marathonbet.cc, доступ к которому был заблокирован по решению ФНС.
Ip 104.27.159.203 на данный момент за ресурсом forum.gsmhosting.com
Обращений в Федеральный Центр Мониторинга от владельцев ресурса не поступало.
Но факт в том, что у другого провайдера — Ростелеком, который также исполняет требования 149-ФЗ forum.gsmhosting.com открывался, а вот заблокированный marathonbet.cc нет, о чем и было сообщено в ответном письме представителям провайдера:
Данная подсеть относится к пулу адресов https://www.cloudflare.com/, если вы понимаете о чем идет речь. Сайтов использующих CDN от CloudFlare не одна тысяча как вы понимаете, поэтому из-за блокировки marathonbet.cc могут пострадать вполне легитимные ресурсы. Данную ситуацию можно сравнить с недавней блокировкой сервисов Amazon S3. Что же касается обращения от владельцев ресурса forum.gsmhosting.com и других «пострадавших» в Федеральный Центр Мониторинга, то здесь как раз все понятно, подобного обращения и не будет, т.к. в Европе просто не в курсе о существовании подобного центра и блокировках чего-либо в России.
Тем неменее у Ростелекома данная блокировка реализована корректно, при попытке открыть marathonbet.cc пользователь автоматом редиректится на страницу заглушку http://warning.rt.ru/?id=13&st=0&dt=104.27.159.203&rs=marathonbet.cc/ с помощью 302 редиректа. Другие сайты расположенные на этом IP по HTTP открываются вполне корректно.
В Билайне же все «интереснее». При открытии что marathonbet.cc, что forum.gsmhosting.com заглушки http://blackhole.beeline.ru/ не выходит, соединение просто режется на стороне Билайна. Из всех возможных решений по реализации блокировки в данном случае, к сожалению, Билайн выбрал самое некорректное.
Надеюсь мне удалось привлечь внимание к существующей проблеме, хотя бы на уровне «конкуренты исполняют требования 149-ФЗ лучше» и в будущем можно будет надеяться на ее разрешение.
p.s. Решением проблемы может быть блокировка указанных IP по HTTPS, при этом при доступе по HTTP провайдеру ничего не мешает анализировать поле Host в заголовке HTTP протокола. В Ростелекоме именно так и происходит.
Однако в ответ я получил простую отписку:
Блокировка такого рода ресурсов производится именно по всей подсети 104.27.159.203/32.
Владельцам ресурсов, не имеющих отношения к ресурсу marathonbet.cc, необходимо обратиться в ФНС, с просьбой снять блокировку, или же обратится к хостинг провайдеру, который предоставляет им адреса из подсети 104.27.159.203/32, с просьбой выдать корректный адрес.
Комментарии про реализацию аналогичной блокировки у конкурентов, естественно, во внимание не приняли, да и судя по всему отвечал обычный сотрудник ТП первого уровня, у которых на любой типовой запрос есть соответствующие инструкции. Других причин именовать один единственный IP адрес 104.27.159.203/32 целой подсетью по-крайней мере я не вижу ;)
Что же мы имеем в итоге? Множество ресурсов так или иначе пользуется CDN-сервисом от CloudFlare, реализация блокировок у некоторых провайдеров (тот же Билайн) в этом случае реализована по IP, т.е. любые HTTP и HTTPS обращения к заблокированным IP просто «режутся» firewall'ом на стороне провайдера, без какого-либо дополнительного информирования абонента. С другой стороны, некоторые (Ростелеком) реализуют более правильный подход к реализации подобных блокировок, так, например, у них блокировка IP происходит только при попытке обращения по HTTPS, при использовании HTTP другие ресурсы не страдают, т.к. анализируется поле Host в заголовке запроса.
Последующие проверки на тему «как обстоят дела в Билайне» показали что со стороны провайдера заблокированы и некоторые другие ресурсы, A-записи которых принадлежат пулу Cloudflare, причем полностью по IP.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Поделиться с друзьями
OldFisher
Видимо, открывает:
Direct IP access not allowed
What happened?
You've requested an IP address that is part of the CloudFlare network. A valid Host header must be supplied to reach the desired website.
Decker
Да, в вашем случае открывается. А вот в Билайне просто таймаут соединения. Аналогичная ситуация и с доступом на GitHub, который сегодня тоже обсуждают здесь — Похоже, Github опять не доступен в России.
zikasak
Ростелеком Москва.
МТС Москва.
Открывает
nikitasius
Боже мой, какой бред творится в России. Выдали рубильники людям, что мышку вверх шариком держат…
Блокировать CDN провайдера…
Jeditobe
Блокировка Гитхаба передает привет Клаудфайру.
nikitasius
На самом деле привет весьма и весьма относителен. Ранее уже блочили CF? Да. Ранее уже блочили github? Да. Как бы и все. Блочили в России? Да, оба. Вот теперь все.
Следом, блокировки github или cloudflare не должны никаким образом влиять на решение "казнить нельзя помиловать", с запятой после «казнить», ибо рынок большой, и далее как про «негров, белого человека и их общие проблемы», а именно что проблем-то и нет.
Можно и нужно использовать CF в своих проектах, а для России можно оставить без CDN (все равно у CF в России сеть не развита), купив сервер в Москве.
Z0nd0R
В закон видимо нужна поправочка, которая налагает штраф за некорректную блокировку CDN и карать приличной суммой.
vulybin
Отзывать лицензию, как у банков.
AxisPod
И кто это будет проверять? Если были бы адекватные люди, так вообще дело до блокировок и не доходило бы.
adombrovsky
Теперь о каждой блокировке будет статья на хабре? Может не стоит такой мусор сюда постить?
Decker
У вас есть другие варианты привлечения внимания общественности к существующим проблемам?
adombrovsky
Вы такой наивный? Действительно считаете, что привлечение общественности сможет повлиять на все эти законы о блокировках?
Decker
На законы — нет, а вот на конкретные детали реализации их исполнения отдельно взятыми провайдерами — вполне.
adombrovsky
Разве не провайдерам в таком случае нужно писать или они мониторят такого рода посты на хабре?
Decker
Вы же читали абсурдную переписку с провайдером в посте, собственно, это первое что было сделано. Зачем пост именно на Хабре? Как уже говорилось — ради привлечения внимания общественности, в том числе и компетентных представителей провайдера.
ValdikSS
Я тоже считаю, что писать об этом на хабре безрезультатно. Пишите лучше на nag.ru, например. Или используйте антизапрет.
Tufed
А по мне так вполне годная информация. Дополняет картину реальности Российского блокировочного дурдома вкупе с безграмотностью, безответственностью и глубоким по***змом на интересы и свободы граждан РФ, как законотворцев так и исполнителей.
Vindicar
Но ведь Хабр != общественность.
Более того, те, кто читает Хабр, обычно уже в курсе бардака.
Yoh
Если Вам это не интересно и Вы считаете данные публикации мусором, то можно и просто пройти мимо. Например, я с подобной проблемой сталкиваюсь более года (но не как обычный пользователь, а как хостинг провайдер). Мне приятно, что проблеме придается огласка и возможно найдутся люди, которые смогут как-то повлиять на эту ситуацию.
adombrovsky
Не нужно из хабра делать помойку, такие посты не несут никакой пользы. В интернете куча сайтов/форумов, где можно жаловаться на такого рода проблемы.
JohnPribluda
Открывает
ТТК Южно-Сахалинск
Isis
Мне больше недели назад выдали новый IP для моего сайта, он оказался в реестре, а я об этом узнал, к сожалению, уже когда мой сайт стал недоступен для России. Потом мой домен автоматически добавился в реестр на основании решения какого-то там ставропольского суда от 10 июня 2013 года. Уже прошло 7 дней, а на почту ( zapret-info@rkn.gov.ru и zapret-info-out@rkn.gov.ru ) никто не отвечает и видимо не собираются.
yul
А домен похож на ваш ник?
n1nj4p0w3r
Давайте is-is запретим. Как появится террористическая организация tcp вернемся в каменный век -_-
rstepanov
http://www.isis.com.tr/?lang=ru
Это отель если что, а не база подготовки не-скажу-чего.
lair
Случайно не решение 2-946/13 от 10.06.2013, Октябрьский районный суд г. Ставрополя? Потому что ровно с теми же симптомами не открывается банальный docs.botframework.com (IP которого — 151.101.36.133 — заблокирован с теми же симптомами).
Isis
Именно это решение, да.
Jeditobe
https://habrahabr.ru/post/305314/
lair
Дадада, я уже обратил внимание, что бедный ботфреймворк точно так же хостит свою документацию на github.io.
ksenobayt
Не открывается.
Тверь, Горсеть — да, та самая, что в своё время «выдавилась» из Зеленограда стараниями Акадо.
У них, как и у многих, кстати, районных провайдеров, вообще подход простейший — и, местами, вынужденный: режут сразу по корню домена и по айпишнику фронта. Столкнулся с этим на примере last.fm: там забанена страница какого-то очень нишевого говнопанк-коллектива, а у меня, в конечном итоге, сломался из-за этого скробблинг.
Выгрузил список, посмотрел внимательно — в блэклисте указаны только три страницы на песни этого коллектива. Позвонил в ТП — без вариантов, только банить по домену да айпишникам, мол, мы бедные-несчастные, на DPI денег нет, делать всё на Squid попросту лень.
khanid
У меня провайдер вообще отличиться сумел. Большинство блокировок проводит по ip. Таким образом, у меня недоступны десятки, если не сотни, ресурсов из поисковой выдачи гугла. Выглядит грустно, когда it-форумы не открываются и висит табличка та же, что и при попытке доступа к заблокированным по решению сайтам.
Из последнего — speedtest.net.
Пробившись через первые дуболомные линии ТП, мне рекомендовано набирать исключительно www.speedtest.net.
Так я понял, что провайдер фактически действует через механизмы вайтлистов.
ksenobayt
Ну, у меня есть обходное решение, конечно — хостер в Москве, у которого я арендую полдюжины VPS под разные прожекты, не энфорсит блокировки по списку вообще. Учитывая, что у них прямой выход на MSK-IX, плюс полдюжины федеральных провайдеров, это гарантирует практически 100% доступности любого ресурса из блэклиста.
Другое дело, что это всё равно паллиатив, и вышестоящей проблемы идиотов на руководящих местах, и кривых реализаций, сделанных в спешке людьми, которым начальство давят на мозги сроками, не решает.
junkies
есть решение суда, к определенному провайдеру. надо смотреть постановление.
schastny
жить стало лучше, жить стало веселей, товарищи! Вы там держитесь.
jukkagrao
еще может быть вариант решения от самого Cloudflare (утопичный), на своих доступных страницах пользователям Билайна показывать заглушку с призывом сменить провайдера.
Стоит наверное составить список провайдеров и магистральных операторов, которые, блокируют по айпи, чтобы как можно больше людей отказывалост от их услуг.
TearOfTheStar
Блокировка эта уже довольно давно (104.2*.*.* и 104.1*.*.*), с января-февраля. У меня например не работает огромная прорва сайтов, даже совершенно безобидные, вроде playstarbound.com или tinybuild.com. МГТС.
Nagh42
Провайдер целесообразно тренировать только одним образом — сменой на конкурента, естественно если есть такая возможность.
К сожалению учитывая то, что в последнее время пишут про билайн, улучшений или адекватной реакции от них ждать не приходится.
tehnazavr
Подряд. не открывается
smvrnn
Beeline Казахстан.
Недоступны минимум 3 сайта из-за таких же высококвалифицированных специалистов.
1. vine.co (\о)
2. php-fig.org (drugs)
3. livelib.ru (pron)
Несколько раз обращался в поддержку, получал ответы на уровне «Мы не виноваты. Никого не ограничиваем. Обращайтесь не к нам. Не наши проблемы.», хотя у других провайдеров все работает.
Уверен, что в нормальной стране за такое ограничение свободы засудили бы.
Yoh
Билайн — это большая головная боль. По моим наблюдениям, они блокируют по IP, даже если сайт внесенный в реестр не использует защищенное соединение. Еще большим маразмом является блокировка транзитного трафика. Буквально неделю назад отправил вопрос в РОСКОМНАДЗОР по их самодеятельности, если там ничего не прояснят, попробую обратиться в Министерство связи.
Decker
«они блокируют по IP, даже если сайт внесенный в реестр не использует защищенное соединение» — именно.
Melanxolik
В обще согласно логики государства, самый логичный шаг теперь будет на законодательном уровне запретить cdn, чтобы не случались такие казусы… ждемс…
Deosis
Такими темпами запретят всё, что не в доменной зоне ru.
И провайдерам не нужно настраивать сложные фильтры.
Wedmer
Будем жить, как в Китае, да.
ZaEzzz
Я помню, что примерно год тому назад CF использовало более 4млн сайтов.
Свой ресурс я так же пускаю через CF, и он периодически не открывается с телефона (просто таймаут), хотя в это время другие ресурсы работают и через других провайдеров тоже все работает. Так что тут все просто — пчелкам пофиг (другим, на самом деле, тоже пофиг).
nikitasius
Для России пускайте статику мимо CF. Просто в найстройках nginx (если у вас доступ на таком уровне есть) пропишите использовать к примеру static1.example.com для статики в RU, и static.example.com для всех остальных. Либо, если проект интернациональный и бОльшая часть аудитории знакома с компами, то оставьте все за CF, ибо люди купят vps за 2-3 евро (в месяц) во Франции изи Германии по карте киви (да, работает) или в США на год за 10-15 баксов и смогут лазить без проблем и к вам и на другие сайты по ssh (sock5 прокси). И с resolve DNS на стороне прокси российские провайдеры вообще будут не в курсе куда пользователь лазает.
ZaEzzz
А чем в этом случае поможет перенос статики на другой поддомен?
Для своих пользователей, на самом деле, я уже подумываю о возможности предоставлении доступа через прокси — осталось только панельку написать для выставления лимитов, а то я потом устану за трафик платить.
nikitasius
Как чем? Если в россии заблокированы IP cloudflare, а другой домен указывает сразу на вас, то статика будет отдаваться без проблем.
Прокси для доступа к своим же сайтам это бред. Если заблокирован какой-то поставщик услуг — просто в обход него. Если же ваш сайт в блокировке (именно ваш и за контент), то в будущем рискуете и проксю в бан отправить.
ZaEzzz
Мне просто толку нет от доступной статики при недоступном контенте.
За блокировки я не переживаю — нет ничего незаконного, а прокси я думаю дать пользователям для выхода в открытый мир. Не всем, конечно — пользователи разные бывают.
nikitasius
Так значит у вас полностью контент через CF проходит. Проще настроить вариант для России напрямую, подняв нормальное кеширование на сервере. Сам себе cloudflare.
Прокси для ограниченного круга хорошая вещь, у меня такая уже 2 года работает и друзья по ключам лазают (ssh).
ZaEzzz
Кеширование было поднято еще задолго до перехода на CF, пуск всего контента через CND целенаправленный.
Хотя с их ценниками, скоро буду возвращать первоначальную схему.
nikitasius
TTL к примеру можно обойти на динамике через агрументы и через API запросы на очистку кеша (определенных страниц). Хотя, скорее всего вы там за другие плюшки платите. За какие, если не секрет? Я на бесплатном сижу и мне его хватает.
ZaEzzz
Я тоже бесплатный использую, но мне скоро нужно будет знать IP адрес пользователя при подключении, а CF его передает только на плане Enterprise.
nikitasius
Дело ваше, enterprise самый дорогой из всех. Вы имеете в виду raw access logs, что на cloudflare? Или IP пользователя в момент запроса контента (когда его еще нет в кеше CF)? Последний и так передается.
ZaEzzz
Я имею в виду True-Client-IP Header — он доступен только на интерпрайзном плане.
Сколько я не ловил — на бесплатном тарифе CF передает только свои адреса.
nikitasius
108.162.221.15 ? — [13/Jul/2016:19:26:50 +0000] «api.evildayz.com» «GET /eve/13years/ajax/2008_10_24_25911.html HTTP/1.1» 200 788 «http://eve.evildayz.com/13years/» «Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)» «66.249.65.18» -> 0.100
162.158.114.120 ? — [13/Jul/2016:19:30:21 +0000] «blog-static.saraeff.net» «GET /uploads/2016/01/south_park_wow_computer_lab-1_9662c15fac38a20f.jpg HTTP/1.1» 304 0 «https://geektimes.ru/post/269834/» «Mozilla/5.0 (iPad; CPU OS 9_3_2 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) CriOS/51.0.2704.104 Mobile/13F69 Safari/601.1.46» «46.216.221.96» -> -
"66.249.65.18"
и"46.216.221.96"
это"$http_x_forwarded_for"
в логах nginx.У меня вот такой формат лога, нашел где-то на хабре, вроде мало что менял:
log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';
Правда если в кеше (CF) уже есть копия, то повторного запросы вы не получите.
dev1l
Мегафон 4G, Оренбург, открывает.
TheDeadOne
Билайн не будет реагировать до тех пор, пока клиенты не начнут уходить к другому оператору.
navion
Акадо тоже блокирует и это не первая блокировка адреса, которого нет в реестре.
yakovlevmeister
Ростелеком, Питер. Блокируется. Error 1003. Direct IP access not allowed
Farxial
Это уведомление на стороне CloudFlare, так и нужно.