Поднимаем Tor Relay и размещаем сайт в "глубоком" интернете

Материал из poiuty wiki
Перейти к: навигация, поиск

С помощью Tor - можно: сохранить анонимность в интернете, обойти блокировки, получить доступ в "глубокий" интернет и разместить в нем свой сайт или сервис.
Если у вас есть свободные мощности, пожалуйста, запустите не выходной Tor Relay (это полностью безопасно).

Установка на Debian

Редактируем /etc/apt/sources.list

deb     http://deb.torproject.org/torproject.org <DISTRIBUTION> main

Устанавливаем.

gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
apt-get update
apt-get install deb.torproject.org-keyring
apt-get install tor

Установка на CentOS

Создаем файл /etc/yum.repos.d/tor.repo

[tor]
name=Tor repo
enabled=1
baseurl=http://deb.torproject.org/torproject.org/rpm/el/6/$basearch/
gpgcheck=1
gpgkey=http://deb.torproject.org/torproject.org/rpm/RPM-GPG-KEY-torproject.org.asc

[tor-source]
name=Tor source repo
enabled=1
autorefresh=0
baseurl=http://deb.torproject.org/torproject.org/rpm/el/6/SRPMS
gpgcheck=1
gpgkey=http://deb.torproject.org/torproject.org/rpm/RPM-GPG-KEY-torproject.org.asc

Если есть epel репозиторий -> редактируем /etc/yum.repos.d/epel.repo

[epel]
...
exclude=tor*

Устанавливаем.

yum install tor

Поднимаем [не выходной] Tor Relay

Редактируем /etc/tor/torrc

DirPort 9030
ExitPolicy reject *:*
ExitPolicy reject6 *:*
Nickname poiuty5
ContactInfo poiuty@lepus.su
ORPort 443
RelayBandwidthRate 100 KBytes  # Throttle traffic to 100KB/s (800Kbps)
RelayBandwidthBurst 200 KBytes # But allow bursts up to 200KB/s (1600Kbps)

Перезапускаем Tor.

/etc/init.d/tor restart

Проверяем /var/log/tor/tor.log

Dec 07 22:21:55.000 [notice] Tor 0.2.5.10 (git-52198c0e51a1a8c1) opening log file.
Dec 07 22:21:55.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Dec 07 22:21:55.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Dec 07 22:21:55.000 [notice] Configured to measure statistics. Look for the *-stats files that will first be written to the data directory in 24 hours from now.
Dec 07 22:21:55.000 [notice] Caching new entry _tor for _tor
Dec 07 22:21:55.000 [notice] Caching new entry _tor for _tor
Dec 07 22:21:55.000 [notice] We were built to run on a 64-bit CPU, with OpenSSL 1.0.1 or later, but with a version of OpenSSL that apparently lacks accelerated support for the NIST P-224 and P-256 groups. Building openssl with such support (using the enable-ec_nistp_64_gcc_128 option when configuring it) would make ECDH much faster.
Dec 07 22:21:55.000 [notice] Your Tor server's identity key fingerprint is 'poiuty5 5A898F5F1B5C5767A4C90A64EFAE4FD2619236C0'
Dec 07 22:21:55.000 [notice] Bootstrapped 0%: Starting
Dec 07 22:21:56.000 [notice] Bootstrapped 5%: Connecting to directory server
Dec 07 22:21:58.000 [notice] We now have enough directory information to build circuits.
Dec 07 22:21:58.000 [notice] Bootstrapped 80%: Connecting to the Tor network
Dec 07 22:21:58.000 [notice] Bootstrapped 85%: Finishing handshake with first hop
Dec 07 22:21:58.000 [notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
Dec 07 22:21:59.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
Dec 07 22:22:00.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
Dec 07 22:22:00.000 [notice] Bootstrapped 100%: Done
Dec 07 22:23:00.000 [notice] Self-testing indicates your DirPort is reachable from the outside. Excellent.
Dec 07 22:23:02.000 [notice] Performing bandwidth self-test...done.

Если нужно сохранить identity key fingerprint (переезд или обновление сервера).
Скачайте файлы из /var/lib/tor/keys и далее на новом сервере залейте их в эту же директорию.

[root@venus keys]# pwd
/var/lib/tor/keys

[root@venus keys]# ls
secret_id_key  secret_onion_key  secret_onion_key_ntor

Если у вас не запускается tor c ошибкой.

Could not bind to 0.0.0.0:443: Permission denied

Проверьте не занят ли этот порт + не включен ли SELinux (резервирует порты 0~1024 для супер пользователей).

# netstat -tupan | grep 443
# /usr/sbin/getenforce
Enforcing

Отключите SELinux.

# echo 0 > /selinux/enforce
# /usr/sbin/getenforce
Permissive

Чтобы после перезагрузки SELinux снова не включился => отредактируйте /etc/selinux/config

SELINUX=disabled

Поднимаем сайт/ сервис в Tor`e [через конфиг]

Редактируем /etc/tor/torrc

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 188.40.253.153:80
HiddenServicePort 443 188.40.253.153:443

Далее tor -> сгенерирует домен и ключ.

root@vps94:/var/lib/tor/hidden_service# ls
hostname  private_key

Открываем /var/lib/tor/hidden_service/hostname

gz4uqhcdz57hpt6s.onion

Пробует зайти на этот адрес.
tor-site2.png

Если нужно сделать несколько сайтов/ сервисов.

HiddenServiceDir /var/lib/tor/hidden_service1/
HiddenServicePort 80 x.x.x.x:80

HiddenServiceDir /var/lib/tor/hidden_service2/
HiddenServicePort 80 y.y.y.y:5555


Поднимаем сайт/ сервис в Tor`e [графический интерфейс]

Скачаем и установим: [vidalia]. Открываем "Настройки" -> "Сервисы". Добавляем новый.
tor-serv.png

"Луковый" адрес Tor -> ваш домен
Виртуальный порт -> порт вашего сервиса
Цель -> локальный или удаленный сервис, например веб-сервер.
Путь к каталогу -> здесь будет создано два файла hostname и private_key.

Проверим, заходим на сайт.
tor-site.png