Как заблокировать TOR

Материал из support.qbpro.ru

За несколько десятилетий своего существования интернет из безусловно полезной и доброй субстанции превратился в коварного и злого хищника. Победоносное шествие интернета по планете привело к тому, что в нем оказались люди, чьи намерения и в реале-то никогда не отличались добротой, а уж интернет стал для них просто золотой жилой. Именно этим людям стоит сказать спасибо за обилие рекламы на современных сайтах и, конечно же, за еще большее обилие спама в современном электронно-почтовом обороте.

Но давайте сегодня отвлечемся от тех, кого иначе как преступниками не назовешь. Не секрет, что любой сервис, размещенный в интернете, собирает некоторую информацию о своих пользователях. Например, сервер, любезно предоставивший вам эту страницу, помимо выполнения основной своей задачи записал в логи массу интересной информации — точное время запроса страницы, ваш IP-адрес, ваш браузер, а также адрес страницы, с которой вы сюда попали. Возможно, что по некоторым причинам такое любопытство со стороны сервера может вам не понравиться, особенно в части IP-адреса. Вы можете воспользоваться различными недолго живущими прокси-серверами, но рано или поздно вам захочется стабильности и вы обратите внимание на TOR.

Конечно, TOR преследует благие цели анонимности в интернете. Но бывают ситуации, когда такая анонимность недопустима. Или же TOR используют с целью обхода каких-либо политик. В таких ситуациях требуется заблокировать использование TOR. Оказывается, это не такая сложная задача. Рассмотрим распространенный вариант. Есть шлюз с FreeBSD и ipfw на борту, через который в интернет выпускается небольшая контора — около двухсот сотрудников. Социальные сети им уже заблокировали, но особо продвинутые сотрудники прослышали про TOR, скачали специальный TOR-браузер и продолжают тратить рабочее время в развлекательных целях. Необходимо сделать TOR-браузеры неработоспособными.

Для начала пишем небольшой скрипт

   #!/bin/sh

   # Определяем путь к списку TOR-серверов
   LST=http://torstatus.blutmagie.de/ip_list_all.php/Tor_ip_list_ALL.csv
   # Скачиваем актуальный список TOR-серверов
   /usr/local/bin/wget $LST -q -O — | sort | uniq > /tmp/tor.list
   # Если файл записался удачно — начинаем маньячить
   if [ -s /tmp/tor.list ]; then
     # Очищаем таблицу под номером 20
     /sbin/ipfw table 20 flush
     # Читаем построчно список TOR-серверов
     /bin/cat /tmp/tor.list | while read ip; do
       # Добавляем все IP-адреса из списка в таблицу под номером 20
       /sbin/ipfw table 20 add $ip
     done
   fi

Скрипт скачивает свежую версию TOR-серверов, после чего весь список записывает в таблицу фаервола. Остается только в подходящем месте добавить правило для блокирования трафика:

   ipfw add 1000 deny ip from «table(20)» to any

Теперь воспользоваться сетью TOR будет значительно сложнее.

Чтобы список серверов всегда был в актуальном состоянии — необходимо добавить скрипт, обновляющий таблицу IP-адресов, в cron. Например, если вы сохранили скрипт в /etc/block_tor.sh — в файл /etc/crontab нужно добавить вот такую строчку:

   40    3       *       *       *       root    /etc/block_tor.sh

Теперь каждую ночь в 3:40 список блокируемых серверов будет обновляться.

взято тут...