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

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

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

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

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

#!/bin/sh

# Определяем путь к списку TOR-серверов
LST="https://check.torproject.org/cgi-bin/TorBulkExitList.py"
# Скачиваем актуальный список TOR-серверов
/usr/local/bin/wget $LST --no-check-certificate -q -O - | \
  grep -v "^#" | 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 список блокируемых серверов будет обновляться.

This entry was posted in Железо / сети, Софт. Bookmark the permalink.

Добавить комментарий