Блокируем TOR на сервере.

Ограничиваем доступ на сервер с IP адресов, которые принадлежат exit-нодам TOR’а. Блокировать будем с помощью CSF, и с помощью iptables непосредственно.

Блокируем TOR в CSF.

Если на сервере установлен CSF, то можно воспользоваться встроенным в него механизмом блокировки. Для этого:

1. В /etc/csf/csf.conf для URLGET устанавливаем значение 2 (LWP):

# cat /etc/csf/csf.conf | grep "URLGET ="
URLGET = "2"

2. Открываем файл /etc/csf/csf.blocklists, находим там строки вида:

# TOR Exit Nodes List
# Set URLGET in csf.conf to use LWP as this list uses an SSL connection
# Details: https://trac.torproject.org/projects/tor/wiki/doc/TorDNSExitList
# TOR|86400|0|https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=1.1.1.1

3. Раскомментиурем последнюю строку в этой секции и пропишем в ней IP сервера:

TOR|86400|0|https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=10.11.12.23

4. Сохраняем файл, перезапускаем csf и lfd:

# systemctl restart lfd
# csf -r

5. Проверяем что в ipset у нас появился список bl_TOR, и что этот список не пуст:

# ipset list bl_TOR

Если всё сделано верно, то bl_TOR будет содержать IP адреса TOR нод, доступ с которых на сервер закрыт.

Блокируем TOR с iptables и ipset.

1. Создаём новую таблицу в ipset:

# ipset -N block_TOR iphash

2. Получаем список IP адресов и отправляем его в ipset:

# wget -q https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=1.1.1.1 -O - | \
sed '/^#/d' | \
while read ipAddr; do \
ipset -q -A block_TOR $ipAddr \
done

Такую выгрузку можно поместить в отдельный скрипт и запускать её по cron’у.

3. Блокируем доступ для нашего сета:

# iptables -A INPUT -m set --match-set block_TOR src -j DROP

Опять же, если всё будет сделано верно, доступ через TOR на сервер окажется заблокирован.

@SysadminNotes | https://sysadmin.pm

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *