Crossroads » Linux » Настройка TOR в Linux

Настройка TOR в Linux

  • Dislike
  • +8
  • Like
TOR (The Orion Router) – система прокси-серверов с SOCKS-интерфейсом, позволяющая устанавливать анонимное зашифрованное соединение, защищённое от прослушивания.

О том как установить и настроить TOR в Windows и различных вариантах его использования я уже писала. Теперь поговорим о Linux. В данном случае TOR будет использоваться как точка входа (для нас) и промежуточное реле (для других пользователей сети). Устанавливать TOR мы будем на сервер под управлением Debian 7 (Wheezy) x64.

Подключаем репозиторий. Для чего в файле /etc/apt/sources.list прописываем следующее:

deb http://deb.torproject.org/torproject.org wheezy main


Так же репозиторий можно добавить выполнив следующую команду:

echo deb  http://deb.torproject.org/torproject.org wheezy main | sudo tee /etc/apt/sources.list.d/tor.list


Если у вас другая версия Debian (или Ubuntu), то вместо "wheezy" прописываем кодовое имя своего дистрибутива. Это так же актуально и для Ubuntu.

Добавляем ключ

gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -


Обновляем репозитории и устанавливаем.

sudo aptitude update
sudo aptitude upgrade
sudo aptitude install tor deb.torproject.org-keyring


Далее редактируем конфигурационный файл по адресу /etc/tor/torrc и приводим его к следующему виду:

SocksPort 9050
SocksPort 10.10.1.25:9100
SocksPolicy accept 10.10.1.0/24
SocksPolicy reject *
Log notice file /var/log/tor/notices.log
RunAsDaemon 1
DataDirectory /var/lib/tor
ORPort 9001
Address IP or HOSTNAME
Nickname RelayName
RelayBandwidthRate 1000 KB
RelayBandwidthBurst 2000 KB
AccountingMax 100 GB
AccountingStart month 1 00:00
ContactInfo FirstName LastName <MyName AT MailServer dot com>
ExitPolicy reject *:*
#BridgeRelay 1
#PublishServerDescriptor 0

Где SocksPort 9050 - номер порта для внутренних соединений (для адресов 127.0.0.*).
SocksPort 10.10.1.25:9100 - порт и IP адрес интерфейса для внешних соединений. Укажите своё значение. В данном случае доступ к серверу доступен в локальной сети. Если вам нужен доступ к удлённому серверу за пределами локальной сети, укажите здесь внешний IP своего сервера.
SocksPolicy accept 10.10.1.0/24 - маска сети, из которой разрешено подключение к серверу. В данном случае доступ разрешён всем пользователям локальной сети, с адресами 10.10.1.1-255.
SocksPolicy reject * - строка указывает на то, что всем, кто не подходит под правило выше, доступ к серверу закрыт.
Log notice file /var/log/tor/notices.log - путь к лог-файлу.
RunAsDaemon 1 - строка указывает на то, что TOR работать как демон и загружаться при старте операционной системы.
DataDirectory /var/lib/tor - место, куда тор будет загружать все сертификаты, ключи и прочее.
ORPort 9001 - номер порта для внешних соедниний. Не путать с SocksPort. ORPort отвечает за связь серверов TOR между собой и должен быть доступен из вне. К этому порту будут обращаться другие серверы сети для передачи данных.
Address - необязательная строка. IP вашего сервера или имя хоста. Замените "IP or HOSTNAME" на своё значение, или уберите строку из конфигурации.
Nickname - необязательная строка. Имя вашего сервера. Будет отображаться другим клиентам сети. Замените "RelayName" на своё значение, или уберите строку из конфигурации.
RelayBandwidthRate 1000 KB - максимальная скорость передачи данных сервером в килобайтах. 1000 килобайт = 8000 килобит в секунду.
RelayBandwidthBurst 2000 KB - значение, указывающее на возможность превышения лимитов предыдущей строки в определённых случаях.
AccountingMax 100 GB - максимально разращённый объём трафика а гигабайтах за определённый учётный период.
AccountingStart month 1 00:00 - учётный период. Смотрите строку выше. Указывает на то, что учётный период имеет цикл в один месяц и сбрасывается первого числа каждого месяца в 12 часов ночи. Значение может быть так же указано в днях. Например: AccountingStart day 00:00 - сброс будет происходить каждый день в 12 часов ночи.
ContactInfo - строка с вашими контактными данными. Команда TOR может использовать эти данные для связи с вами (найденные критические уязвимости и прочее). Где FirstName LastName - ваши имя и фамилия (фамилию прописывать не обязательно).
<MyName AT MailServer dot com>
Cинтаксис написания электронный почты. В данном случае указана почта [email protected]. Замените значения на свои. Актуально, если сервер имеет статус "стабильного" (находится онлайн больше недели) и вы хотите получать эти сообщения. В противном случае удалите строку.
ExitPolicy reject *:* - строка указывает на то, что сервер не может быть использован как точка выхода. Если убрать эту строку, то сервер будет использоваться не только как промежуточное реле, но так же будет служить точкой выхода. У пользователей сети появится возможность выходить в Интернет с IP адресом вашего сервера, что чревато последствиями, если вы имеете смутно представление о том, что такое "точка выхода" в сети TOR.
Строка BridgeRelay 1 в приведённой выше конфигурации закомменторована (не активна). Активация это строки будет говорить о том, что сервер используется как мост. Это означает, что адрес сервера не будет упоминаться в публичных списках TOR Relay и будет выдаваться системой частным пользователям по запросу. Мосты используются там, где законодательно запрещено использование сети TOR и/или провайдеры блокируют доступ к серверам TOR. Так же ряд компаний, в странах где сеть TOR не запрещена, может блокировать доступ к своим сервисам по IP адресам, упомянутым в публичных списках TOR серверов. Так, например, мне в своё время был закрыт доступ к сервису Hulu по причине "использования анонимного прокси сервера", потому что я использовала свой домашний компьютер как промежуточное TOR Relay. Другими словами, если ваш TOR сервер висит на том же IP, который вы используете для выхода в Интернет в повседневной жизни, то стоит взвесить все "за" и "против", перед тем, как светить его в публичных списках TOR серверов. Однако, команда TOR настоятельно рекомендует использовать свой сервер именно как реле, а не мост. По той простой причине, что если бы вся сеть состояла из мостов, она была бы не функциональной. В любом случае, перед выбором того или иного типа, следует внимательно ознакомиться со спецификой TOR сети и отдавать себе отчёт в своих действиях.
PublishServerDescriptor 0 - так же закомментированная строка, относящаяся к мостам. Если вы используете свой сервер как мост и хотите спрятать его полностью, то эта строка указывает на то, что и по запросу ближайших к пользователю мостов, система не будет выдавать адрес вашего моста. Его можно будет прописать лишь вручную. Если вы дали адрес своим друзьям, на пример, то они смогут использовать ваш мост. В противном случае о существовании моста никто знать не будет. Рекомендуется параноикам, решившимся на установку подобного программного обеспечения, или в тех странах, где за использование TOR сети предусмотрена уголовная ответственность.

На этом конфигурация готова. Перезагружаем TOR.
sudo service tor restart


Для анализа работы и статистики, можно использовать консольный клиент tor-arm.

Для установки нужно выполнить следующее:
aptitude install tor-arm


Для входа просто наберите в командной строке "arm" (без кавычек). Для навигация используйте клавишу "m", для выхода "q".

Если ARM (или любая другая программа для взаимодействия и управления TOR сервером) располагается на удалённом компьютере, то в конфигурацию необходимо добавить следующее:

ControlPort 9051
#HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C
#CookieAuthentication 1

Где ControlPort 9051 - порт, к которому будет обращаться программа. Две строки ниже - тип авторизации. Либо через по Cookie, либо с паролем, хэш которого можно сгенерировать с помощью следующей команды:

tor --hash-password mypass

Где "mypass" - ваш пароль.

Если вы хотите использовать TOR как точку выхода, то уберите из конфигурации строку "ExitPolicy". Если TOR работает как точка выхода, но вы хотите ограничить ей доступ к некотором портам, то добавьте в конфигурацию строку подобного типа:

ExitPolicy accept *:6660-6667,reject *:*

Это означает, что через вашу точку выхода доступ возможен только к IRC портам (6660-6667) и никуда больше. Либо добавьте подобную строку:

ExitPolicy accept *:*,reject *:6660-6667

Тут обратная ситуация. Доступ возможен ко всем ресурсам сети, кроме IRC.

На этом всё. Стоит заметить, что по умолчанию TOR будет работать и без конфигурационного файла. Но клиентский доступ к нему будет возможен только с локальной машины (127.0.0.*), при этом сервер будет работать в режиме как промежуточного реле, так и точки выхода.
Like Dislike

___
Tatyana K.



Tags: TOR, Linux


 
  • Creative Commons Licence
  • Norton Safeweb
  • Website Uptime Monitoring By ServiceUptime.com