На днях нам пришло письмо от Роскомнадзора. Там было сказано, что и до нашей компании у них дошли руки.
«В целях оценки возможной потребности технических средств контроля прошу в срок до 20.03.2015 г. сообщить число узлов фильтрации, ограничивающих доступ из ваших сетей доступа физическим и юридическим лицам к сайтам в сети «Интернет», содержащим информацию, распространение которой в Российской Федерации запрещено».
Выдержка из официального письма от Роскомнадзора.
Итак, суть послания сводится к тому, чтобы дать возможность РКН посчитать все наши точки фильтрации трафика и удостовериться, что они подконтрольны «великому рубильнику» — закону 139ФЗ. Если кто не в курсе, о чем речь, — под спойлером краткая справка на тему блокировок.
Спойлер
Если кратко, то закон подразумевает следующее:
Если вы хотите поглотить больше букв, то вот текст закона в первозданном виде: graph.document.kremlin.ru/page.aspx?1;1621853
- Любой провайдер должен мониторить источник «черных списков» URL и блокировать трафик по всем перечисленным там адресам. Как именно — говорится очень обтекаемо, так что кто куда.
- Проверять «обновления» следует не реже 3 раз в сутки. Хоть руками, хоть автоматически — главное, с заданной частотой.
- Чтобы следить за исполнением закона, на оборудование провайдера устанавливаются некие контролирующие устройства. Мы свое еще не получили, так что тут пока неизвестно.
- За несоблюдение требований закона — штраф.
Если вы хотите поглотить больше букв, то вот текст закона в первозданном виде: graph.document.kremlin.ru/page.aspx?1;1621853
С технической стороны закон требует от оператора связи (в какой-то степени «ИТ-ГРАД», будучи облачным провайдером, тоже является оператором связи) реализовать своими силами блокировку всевозможного контента, запрещенного к распространению на территории РФ. Конечно, простого «да, насяльника, все сделаем!» Роскомнадзору недостаточно — они еще устанавливают отдельные устройства для проверки исполнительности оператора.
Пару лет назад, после принятия закона 139 ФЗ подобное требование было зубной болью для любого интернет-провайдера, ведь у многих даже DPI нормального не было, куда можно было бы просто добавить функциональность блокировок. Тогда мы как раз занимались проработкой услуги DDoS-защиты и фильтрации DPI для пользователей нашего облака, так что с основными игроками на рынке средств защиты и блокировки были знакомы. Не буду утомлять вас долгой и мучительной историей выбора конкретного решения, а просто приведу сравнительную табличку возможностей популярных на рынке систем фильтрации. Цена тоже была не последним фактором, но здесь мы этот параметр опустим.
Возможность загрузки реестра с сайта РКН по ЭЦП | + | + | + | + |
Возможность дополнения списков региональными блокировками | + | + | - | + |
Схема реализации решения на оборудовании провайдера | + | + | + | + |
Доп. услуги по фильтрации отдельных клиентов и интеграция с биллингами, белые списки | + | + | - | + |
Схема мониторинга | - | + | - | + |
Но блокировка по закону нас интересовала все же во вторую очередь. Потому мы искали не просто «большие ножницы», а некое многофункциональное устройство. Его хрупким кремниевым плечам предстояло нести нелегкое бремя DdoS-фильтрации и управления скоростью канала. Путем сравнения спецификаций и тестирования в полях мы выбрали продукт «СКАТ» компании VAS Experts. К слову, железка (а точнее, программно-аппаратный комплекс) оказалась довольно интересной:
- фильтрация по реестру запрещенных сайтов;
- сбор и анализ статистики по протоколам и направлениям;
- разметка приоритета трафика в зависимости от протокола;
- распределение канала доступа между абонентами с уведомлениями;
- защита от DOS- и DDOS-атак;
- Lawful interception — перехват трафика;
- запись http-запросов;
- предфильтр СОРМ.
Что и как блокировать
Технические аспекты блокировок уже обсуждались на Хабре не раз, и все они крутятся вокруг DPI- и IP-блокировок. Надеюсь, schors не против, если я скопирую его картинку:
Блокировать сайты по спискам государства можно разными способами (вот тут была полезная статья с обзором возможных путей блокировки сайтов), и тут выбранная железка порадовала поддержкой таких вариантов:
- фильтрация для http-прокси, включая Opera Mini;
- возможность учитывать или не учитывать номер порта (т. е. блокировать www.example.com и www.example.com:8080 вместе или раздельно);
- нет зависимости от смены сайтом IP-адреса;
- поддерживается инкапсуляция VLAN, QinQ, MPLS;
- можно использовать асимметричные маршруты трафика, включая обработку только исходящего;
- работает с зеркалированным трафиком.
Конечно, самым простым вариантом было бы пойти по пути блокировки всего трафика для неугодного IP. То есть берем URL из реестра, преобразуем имя в IP и перенаправляем на страницу с «письмом счастья».
Но мы решили быть гуманнее, к тому же железка с DPI уже пришла на склад. Таким образом, на обеих точках обмена стоит сервер-фильтр с DPI, который автоматически подгружает свежие списки от РКН и просматривает все проходящие пакеты на предмет запретного адреса. Если попадание — переадресуем клиента на страничку с объяснением, что и почему.
Тут, кстати, есть нюанс с HTTPS. Шифрованный пакет нельзя так просто «вскрыть» и посмотреть содержимое, поэтому такой трафик приходится блокировать по связке IP-порт, вне зависимости от реального URL. Грубоватый метод, но лучшего решения пока нет. Благо в реестре все же фигурируют в основном HTTP-адреса.
А как же полезное?
Вы же помните, что целью была не просто блокировка сайтов, но и полезная для клиентов функция DDoS-защиты.
Для DdoS-атаки злоумышленник готовит большую сеть удаленно управляемых компьютеров (BOTNET) и ему не нужно скрывать IP-адрес каждого из них. Можно просто имитировать действия легитимных пользователей сайта, но благодаря большому количеству участников даже такие действия вызовут большую нагрузку на сайт и приведут к отказу в обслуживании.
Обычно выбираются самые ресурсоемкие запросы чтобы минимизировать число участвующих в атаке компьютеров — ведь их IP адреса будут после действа засвечены.
Для защиты от атак DDoS обычно применяются различные поведенческие стратегии, которые определяют отклонения в нормальном поведении пользователя. В установленном DPI используется вместо этого простой и эффективный, как штык, подход: использование странички с капчей, на которой
Принимая все это во внимание, мы подключили «СКАТ» в рекомендуемом режиме bypass, как на картинке.
В качестве сайта проверки на «человечность» подозрительных пользователей использовался отдельный веб-кластер в нашем собственном облаке.
Защита работает следующим образом:
- При превышении порогового значения (комфортного для сайта количества запросов в секунду) активируется защита.
- К работе с сайтом допускаются только пользователи из белого списка. Все остальные перенаправляются на страничку проверки на «человечность». Эта страница расположена на отдельном сервере в Интернете, способном выдержать нагрузку BOTNET любого размера.
- Прошедшие тест пользователи добавляются в белый список, и дальше их ничто не ограничивает.
- Не прошедшие тест «боты» (или бедняги) не продвинутся дальше детектирующей странички без какой-либо нагрузки на атакуемый сайт.
Что в итоге
В результате получился редкий пример поимки обоих зайцев разом, благо опция защиты от DDoS пользуется у наших заказчиков ожидаемой популярностью.
Как говорится в одной мудрой цитате, «если не можешь победить врага — сделай его своим другом». Если мы, как оператор, не можем избежать установки «великого рубильника», то хотелось бы сделать это с минимальными издержками и головной болью. К тому же российские производители ПО предлагают вполне работоспособные решения с DPI за разумные деньги. Импортозамещение в действии — даже выбор есть.