Hi, Guest!
+

Как да блокираме TOR мрежата?

18-07-2011 linux Roumen

Tor

На теория идеята на TOR е благородна и хуманна, това е един много удобен инструмент за предоставяне на достъп до информация на хора, които са ощетени от цензурата на своите държави (като Китай, Иран и много други). Всичко това звучи много хубаво на теория, обаче само на теория, защото какво става, когато системата започне да се използва от някого за лоши цели? Как един администратор може да бане злосторника, когато той ще може да сменя адреса си с един клик, без да може да бъде спрян ефективно?

Освен масивни flood и spam атаки срещу сайт или специфичен сървис, понякога е достатъчен и само един трол, който да ти вдигне нервите с умна употреба на TOR. Не е нужно да имате богата фантазия и наченки на параноя за да си представите, какви простотии могат да се направят в някой форум, блог или чат например. А всичко, което е необходимо е дори и само един поне малко технически грамотен психопат, а във всяка една по-голяма интернет социална общност се срещат доста такива.

Вярно е има доста инструменти за защита, един добър администратор трябва да знае как да опази сървърите си, но самата идея, че недобронамерени хора имат достъп до тази система лично мен ме изнервя доста. Затова и започнах да търся ефективни решения за банване на тор нодовете и бързо намерих доста скриптове, но за съжаление нито един от тях не работеше, при това проблема не беше в логиката им, а в намирането на актуални списъци с ip адреси за банване. Почти всички такива фийдове спират да съществуват доста бързо, а малкото съществуващи изискват заплащане. Намерих няколко уж надеждни източника, но пък бяха в кофти формат, а всеки скрипт изисква адресите да са записани в точно определен формат или със специфичен синтаксис. Все пак направих доста тестове и стигнах до извода, че не ми трябват никакви скриптове, понеже имам идеалния инструмент под ръка.

APF това е най-доброто решение, всичките ми сървъри го ползват, безспорно е една от най-популярните защитни стени за Linux системи. Освен всичко друго има и много интересни възможности за ползване на външни фийдове с адреси за банване, засечени ботнети, спамъри и подобни, за съжаление няма специализиран фийд срещу TOR, но има възможност да се ползват и собствени източници за глобални правила.

В conf.apf намиращ се обикновено в /etc/apf (rhel/centos) или /etc/apf-firewall (debian/ubuntu):

#GA_URL="yourhost.com/glob_allow.rules"       
#GA_URL_PROT="http"

GD_URL="www.dawebs.com/downloads/antitor.rules"        
GD_URL_PROT="http"

Списъка се обновява автоматично веднъж на 24 часа, или при всеки рестарт (зависи от конфигурацията), също така може да се ползват и статични файлове в конфигурационната директория, но няма смисъл защото "луковата мрежа" се променя буквално непрекъснато и е много трудно да се гарантира висок процент на ефективност на правилата.

Много важна забележка е, че това решение е тествано успешно на реални дедикейтед сървъри или виртуални такива, които ползват KVM или XEN виртуализация, при OpenVZ има проблеми, заради iptables ограничения.

Не мога да гарантирам 100% ефективност, но поне към над 95% ги докарва, а най-хубавото е че не ми трябват допълнителни скриптове, които в комбинация със защитната стена и DDoS защитите само биха ми създавали излишни проблеми.

Също така спама засичан от Akismet в блоговете спадна осезаемо, a проблемните злодеите изчезнаха напълно, или поне тези които успешно заобикаляха бановете ми. :)

  • r00t
    Този лист http://www.dawebs.com/download... ъпдейтва ли се и ако да на колко дни и само exit nodes ли включва и от къде го взимаш?
  • Roumen
    Включва exit и bridge nodes, обновява се веднъж дневно. Оригиналният източник на адресите е http://www.iblocklist.com/list..., който обаче е несъвместим с APF, затова написах скрипт, който просто да портва листа в подходящия за APF формат, той също се обновява автоматично ежедневно.