Ubuntu Server. Можно ли эффективно заблокировать торренты?

  • Автор:
stop-torrent.png
Блокирование торрент-трафика в корпоративных сетях одна из актуальных задач на сегодняшний день. Первый вопрос, который задают системные администраторы по этому поводу - можно ли эффективно заблокировать торренты техническими средствами? Мы решили провести собственное исследование для нашего роутера на базе Ubuntu Server.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Чем же так досадили торренты? Если брать чисто технический аспект вопроса, то основная проблема заключается в чрезмерной загрузке канала. Торрент клиент в процессе работы устанавливает множество соединений с разными клиентами, что даже при небольшой скорости каждого клиента в отдельности позволяет получить высокую скорость закачки / раздачи в целом. Особые неприятности способны доставить торрент клиенты с большим количеством раздач, постоянно загружая ваш исходящий канал. В итоге важные для бизнеса сетевые сервисы могут работать с перебоями или не работать вообще (например ip-телефония).

Какие методы борьбы с торрентами можно использовать?

  1. Административный. Требуется запретить использование торрентов приказом по предприятию. Нарушение приказа должно наказываться дисциплинарно и / или финансово. Данный метод один из самых эффективных, однако трудноприменим в небольших фирмах, где производственная дисциплина невысока.
  2. Блокирование адресов трекеров. Эффективность данного способа весьма низка. Всех не заблокируешь, да и публичные прокси никто не отменял. Также можно принести торрент файл из дома.
  3. Блокирование портов. Также крайне неэффективный способ. Торрент клиент способен использовать абсолютно любой порт, не поможет даже блокирование всех портов по умолчанию с открытием нужных. Хотя может отсечь определенную часть технически неграмотных пользователей.
  4. Анализ трафика. На первый взгляд, метод весьма привлекателен. Попробуем реализовать его на практике.
Для анализа трафика в Linux можно использовать пакеты ipp2p (специально предназначен для выделения p2p трафика) и layer7.  Последний требует патча для ядра и iptables, в то время как первый доступен в качестве модуля в пакете xtables-addons. Но в бочке меда есть ложка дегтя: разработка ipp2p прекращена, однако отзывы о качестве анализа трафика с его помощью достаточно высокие и мы решили пойти по более простому пути.

Мы не будем останавливаться здесь на подробностях установки xtables-addons, это тематика для отдельной статьи, нас же более интересуют результаты. Модуль ipp2p умеет распознавать различные виды p2p трафика, что позволяет указывать для них отдельные правила в iptables. Попробуем заблокировать торренты. В нашем тестировании приняли участие две версии клиента uTorrent: более старая 1.8.2 и новая 2.0.4. Основным отличием версии 2.х является поддержка протокола uTP, также оба клиента умеют шифровать трафик.

Итак версия 1.8.2, без ограничений. Как видим все довольно бодро качается:

stop-torrent-1.pngТеперь пробуем заблокировать торрент трафик с помощью ipp2p, как видим у нас получилось:

stop-torrent-2.pngТеперь запускаем 2.0.4, картина аналогичная:

stop-torrent-3.pngКазалось бы можно праздновать победу, но не будем спешить, скачаем торрент с другого трекера. Вот здесь то и притаилась засада, клиент начал спокойно качать через uTP:

stop-torrent-4.pngВключим шифрование, как видим, кроме uTP стали соединяться и обычные клиенты:

stop-torrent-5.pngПри этом стоит отметить, что торренты с официального трекера Ubuntu так и не стали качаться ни по uTP, ни по шифрованному каналу, скорее всего это зависит от трекера, но не стоит испытывать иллюзий по этому поводу, все популярные трекеры эту технологию поддерживают.

Какие выводы можно сделать? Даже если допустить, что ipp2p не понимает uTP в силу прекращения разработки проекта и у layer7 дела с этим обстоят гораздо лучше, шифрование сводит на нет все попытки анализа трафика с целью выделения и блокировки торрентов. В принципе, можно допустить возможность дешифровки (шифрование там не очень сильное), но при значительном объеме проходящего трафика требуемые для этого вычислительные ресурсы окажутся неприемлемо велики.

На наш взгляд оптимальным вариантом будет административный метод совместно с блокировкой адресов наиболее популярных трекеров и открытых прокси. Для выявления "качков" можно воспользоваться любой биллинг-системой (об этом поговорим в отдельной статье), обращая внимание на объемы трафика и их источник / назначение. В любом случае только комплексный подход поможет решить данную проблему, технического решения на сегодняшний день нет.

P.S. Мы долго думали, публиковать данный материал или нет. С одной стороны наша попытка блокировать торренты техническими методами потерпела полное фиаско, с другой стороны отрицательный результат - тоже результат и возможно данный материал поможет кому-то сберечь время и сразу пойти по верному пути.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments