САЙТОСТРОЙ.РУ
Построй свой сайт!

Блокировка трафика из сети TOR

опубликовано 24.09.2014

При DDoS-атаках любительского уровня зачастую используется сеть TOR для того, чтобы генерировать трафик с большого количества различных IP-адресов. Сеть TOR, как известно, имеет узлы для выхода в "большой интернет". Эти узлы формируются энтузиастами, поэтому их список постоянно меняется. На момент написания статьи список IP внешних узлов составлял почти 6 тысяч. Мы будем блокировать соединения с этих IP, регулярно обновляя список.

Актуальный список IP сети TOR можно получить здесь. Нужно учитывать, что запрашивать его можно не чаще, чем раз в полчаса. 

Теперь настроим файрвол для того, чтобы он пропускал наш трафик через отдельный набор правил. Для столь массового добавления IP мы будем использовать набор для файрвола ipset (необходим модуль ядра ip_set и набор утилит, но их можно найти практически в любом дистрибутиве Linux).

Создадим новый список правил:

ipset -N tor_ips iphash

Пусть он будет называться tor_ips. Тип хэширования мы поставим самый распространённый - iphash. А в iptables мы пропишем блокировку IP, находящимся в нашем списке:

iptables -A INPUT -m set --set tor_ips src -j DROP

Теперь нам нужно загрузить IP сети TOR. Получим их:

wget -O /root/tor_ips.txt https://www.dan.me.uk/torlist/

Вот что там оказалось:

IP сети TOR

Загрузка прошла успешно, нам ничего не мешает, автоматизировать работу, создав скрипт автоматической загрузки правил:

#!/bin/bash
wget -O /root/tor_ips.txt https://www.dan.me.uk/torlist/
ipset -F tor_ips
xfile=$(cat /root/tor_ips.txt)
for ipaddr in $xfile
do
  ipset -A tor_ips $ipaddr
done

Теперь мы вольны установить этот сценарий в cron. Например, в /etc/cron.daily в RedHat-подобных системах или в crontab.

теги: tor, ddos

Комментарии и вопросы

Статью никто не комментировал.


Задать вопрос или оставить комментарий

Ваше имя:
Комментарий:
Код с картинки справа:=


Просим с уважением относиться к труду автора сайта и при копировании документов указывать ссылки на http://saytostroy.ru.