На линии фронта цифровой войны: как работают блокировки Роскомнадзора
Сетевые специалисты дата-центра Xelent — о том, как технически работают пресловутые блокировки и что должны делать операторы связи, чтобы не лишиться лицензии.
Любая компания, которая предоставляет коммерческие услуги передачи данных, обязана иметь и продлевать лицензию, выдаваемую Роскомнадзором. Следовательно, любой оператор связи обязан подчиняться требованиям регулятора, в том числе по ограничению доступа к информации. Кстати, это касается только коммерческой деятельности — если вы не берёте плату за связь и передачу данных, то теоретически вас эти требования не касаются.
Мы — коммерческий дата-центр, наш принцип carrier neutral — это значит, что мы не навязываем клиентам сервис по доступу в интернет, можем организовать связность с любым из 25 интернет-провайдеров, представленных на нашей площадке, но можем дать и свой доступ в интернет. И для таких случаев (которых немало, потому что цены на интернет у нас низкие) у нас есть лицензия оператора, а значит, мы обязаны выполнять все требования РКН.
Начинается всё с получения выгрузки — специального XML-файла, который постоянно обновляется Роскомнадзором. Все зарегистрированные операторы, которые имеют лицензию на телематические услуги, обязаны этот файл получить, обработать и заблокировать то, что там содержится.
Первый способ, который Роскомнадзор использует уже довольно давно, — получение файла с сайта rkn.gov.ru по HTTP. Оператор направляет на известный URL веб-запрос, подписывает его сертификатом, который каждый оператор получает для себя в центре сертификации (кстати, это стоит денег), и получает ответ — это и есть файлик, дамп XML.
Второй способ сейчас введён для всех крупных операторов — это так называемая «дельта». Файл выгрузки формируется примерно раз в час. А периодически становится доступным не полный файл, а разница — то, во что РКН внёс изменения: «дельты», дельта-1, дельта-2, дельта-3. И операторы закачивают каждый раз не полную выгрузку, а изменения: это быстрее и удобнее.
Далее перед оператором стоит задача заблокировать список сайтов в файле. Есть два способа, которые РКН официально считает правильными.
Первый — DPI, Deep Packet inspection — глубокое изучение пакета. Представим, что у оператора есть некий маршрутизатор, на который подключены клиенты, и есть маршрутизатор, который ведёт в интернет. Между ними (напрямую или через зеркало, это уже нюансы) ставится мощный сервер DPI, в котором должно быть много памяти и хорошие сетевые карты, потому что весь пользовательский трафик идёт через него.
Программное обеспечение DPI анализирует проходящие пакеты трафика и не пропускает те, которые соответствуют правилам, описанным в файле РКН. Есть коробочные сертифицированные DPI, есть самописные DPI. Роскомнадзор рекомендует пользоваться сертифицированными, но это необязательно. У Xelent, например, свой DPI.
Второй путь — блокировка по DNS, Domain Name Service, служба доменных имён. Сейчас он уже потерял свою значимость, потому что через DNS трудно добиться правильной блокировки.
Как работает DNS? Клиент вбил в браузере запрос, например, rutracker.org, его компьютер отправляет запрос на соответствие этого имени IP-адресу — либо DNS-серверу провайдера, либо DNS-серверу какого-то другого узла сети, это не имеет значения, потому что, как правило, DNS-запросы перехватываются провайдерами.
И вот этот провайдер, чтобы организовать блокировку, не возвращает правильный адрес заблокированного сайта, а сообщает некий поддельный адрес с другим IP, где, например, висит страничка с объявлением о блокировке сайта.
И третий вариант блокировки, самый лобовой — по IP-адресу сервера, где находится запрещённый контент. Но поскольку в этом случае весьма вероятно под раздачу попадают сторонние сервисы и сайты, то его использование может носить ограниченный характер — об этом чуть ниже, а теперь о том, что мы видим в файле выгрузки РКН.
Выгрузка РКН состоит из трёх основных типов записей. Первый тип — блокировка по адресу страницы, URL, он начинается так: http:// доменное имя, / страница. В этом случае блокируется доступ не ко всему сайту, а к его конкретной странице: например, к статье с запрещённой информацией. Второй тип — блокировка по домену. Здесь в файле указывается домен, сайт и IP, который Роскомнадзор зафиксировал для этого сайта.
Второй способ применяется, когда Роскомнадзор решил заблокировать весь домен целиком, например, Rutracker или LinkedIn. Домены могут быть как сами по себе, так и с поддоменами: *.linkedin.com, то есть всё, что включается в linkedin.com, блокируется.
Третий тип блокировки — по IP, когда Роскомнадзор может указать IP-адрес. Так блокируются сайты, которые реализованы не как веб-сайты, а как различные сервисы. Именно так блокируется Telegram, поскольку в его основе не веб-страница, а сервис.
Точно так же — по IP — РКН ранее боролся с интернет-рацией Zello. И поскольку один IP адрес может быть назначен нескольким виртуальным серверам, то здесь как раз и возникает проблема, с которой столкнулось из-за блокировки Telegram множество сервисов, использующих те же IP-адреса, что были заблокированы под одну гребёнку с мессенджером.
В чём вообще основная проблема с реализацией блокировок? В протоколе HTTPS, который обеспечивает шифрование веб-страниц. По протоколу HTTP данные и страницы передаются в нешифрованном виде.
А протокол HTTPS был разработан для того, чтобы решить все проблемы безопасности протокола HTTP: зашифровать всё внутри, чтобы никто снаружи не смог влезть в передаваемую страницу, подсмотреть содержимое — например, номера кредитных карт или персональных данных. И эту задачу успешно решили.
А вот те, кто хотят что-то отфильтровать, что-то подделать, в нашем случае — реализовать требования РКН, сталкиваются с трудностями. Главная — то, что в протоколе HTTPS нельзя выяснить страницу на сайте, на которую идёт пользователь.
В рамках HTTPS обмен данными идёт примерно по такой схеме: пользователь вбил доменное имя, оно преобразуется в IP, и начинается запрос на этот хост. И вот в рамках этого запроса наружу не отдаётся ничего кроме IP-адреса, даже не узнать, на какой домен идёт пользователь. В этом случае придётся заблокировать все запросы на этот IP: страдают все, кто на нём находится.
Хорошие новости в том, что все современные браузеры весьма «разумны» — они не просто отправляют IP сервера, а ещё указывают SNI-идентификатор, это некое имя, которое определяет, с какого домена нужно получить данные. И это, к счастью, позволяет системам DPI не блокировать все IP скопом, а, проанализировав запрос, понять, на какой домен всё же хочет пойти клиент, и заблокировать только его.
Но больше домена в случае HTTPS ничего определить невозможно, соответственно, непонятно, на какие страницы идёт клиент. Бывают случаи в выгрузке РКН, когда указывается сайт и страница –, но всё это внутри HTTPS, то есть это приводит только к тому, что блокируется весь сайт, потому что саму страницу выделить нельзя. Такое редко, но бывает.
Поэтому, когда РКН требует заблокировать ролик на YouTube, то они добавляют строчку в выгрузке в формате HTTP, и ни одной страницы HTTPS на YouTube в выгрузке нет — если бы они были, нам пришлось бы блокировать весь YouTube.
Теперь пара слов о том, как регулятор контролирует исполнение блокировки. Каждый провайдер связи обязан установить в своей сети программно-аппаратный комплекс «Ревизор». Эта система проводит постоянные тесты, доступны ли из нашей сети адреса из выгрузки, и если они доступны, отправляет отчёты в РКН. Мы тоже можем видеть эти отчёты в своём личном кабинете — он есть у каждого оператора, включенного в «Ревизор», — и понимать, что у нас блокируется, а что нет. Так мы можем сами себя контролировать.
Если у нас что-то ломается, мы должны сообщать об этом в местное представительство Роскомнадзора, если это длительное время — от 12 часов и дольше — у нас не работает, то наступают санкции, достаточно серьёзные штрафы, причём и на компанию, и отдельно на ответственное лицо. Поэтому операторы в целом следят за соблюдением требований регулятора, так как за многочисленные нарушения можно и лицензию потерять.
#блокировки
© vc.ru