Как разместить веб-сайт в Ubuntu с использованием Tor

Хостинг Tor Веб-сайта Linux 00 Изображение

Сеть Tor — это революционное программное обеспечение. С помощью одной программы теперь можно анонимно просматривать и просматривать веб. Это делает Tor незаменимым инструментом для пользователей, которые хотят сохранить свою конфиденциальность при просмотре веб-сайта. Также возможно использовать Tor для размещения локального веб-сервера в Интернете, что делает его невероятно полезным для пользователей, заботящихся о конфиденциальности, которые хотят делиться информацией публично, не раскрывая себя.

Примечание: сначала узнайте, что такое Tor и луковая маршрутизация, прежде чем продолжить.

Содержание

  • Почему размещать ваш веб-сайт через Tor?
  • Требования
  • Установка Nginx и Tor
  • Настройка брандмауэра
  • Создание службы Tor для вашего веб-сайта
  • Создание простого веб-сайта с использованием Nginx
  • Доступ к вашему веб-сайту через Tor
  • Часто задаваемые вопросы

Почему размещать ваш веб-сайт через Tor?

Одним из самых больших преимуществ размещения через Tor является то, что его соединение также проходит через промежуточные узлы, аналогично браузеру Tor. Посетитель, проверяющий ваш веб-сайт, не сможет узнать, откуда вы его размещаете.

Хостинг Tor Веб-сайта Linux 02 Промежуточные узлы

Кроме того, вам также не нужно перенаправлять какие-либо порты, чтобы ваш веб-сайт, работающий только через Tor, функционировал. Это делает размещение простым и доступным даже в сильно ограниченных сетях. Например, машина в сети Carrier-Grade NAT все равно может публиковать веб-сайт напрямую через Tor.

Требования

Прежде чем вы сможете установить как Nginx, так и Tor, вам сначала нужно убедиться, что у вас есть следующие ресурсы:

  • Подключение к Интернету, которое не ограничивает Tor для входящих и исходящих запросов. Это позволяет вам транслировать ваш веб-сайт через сеть Tor.
  • Машина, которая может обрабатывать веб-сайт, который вы размещаете. В большинстве случаев настольный компьютер с двумя ядрами и 4 ГБ ОЗУ должен быть достаточным для базового веб-сайта.
  • Корневой доступ к вашей хостинговой машине, так как настройка Tor требует доступа к системным файлам.

Ниже изображение показывает, как разместить веб-сайт Nginx только через Tor на машине Ubuntu 22.04 LTS.

Хостинг Tor Веб-сайта Linux 03 Neofetch Ubuntu Машина

Установка Nginx и Tor

Откройте терминал. Введите следующую команду для установки Nginx и Tor:

sudo apt install nginx tor wget

Хостинг Tor Веб-сайта Linux 05 Загрузка Пакетов

Настройка брандмауэра

После установки обоих пакетов в вашей системе вы можете защитить свой сервер, настроив брандмауэр так, чтобы он принимал входящие соединения только из сети Tor, введя следующие команды в терминале:

sudo iptables -I INPUT -m state --state NEW -p tcp --dport80-j ACCEPT  
sudo iptables -I INPUT -m state --state NEW -p tcp --dport443-j ACCEPT  
sudo iptables -I INPUT -m state --state NEW -p tcp --dport9050-j ACCEPT

Хостинг Tor Веб-сайта Linux 06 Создание Правил Брандмауэра

Первые две команды открывают порты HTTP и HTTPS в вашей системе, в то время как последняя команда явно открывает порт SOCKS для сети Tor. Этот подход гарантирует, что Tor сможет правильно перенаправить любой трафик, идущий к вашей машине.

Создание службы Tor для вашего веб-сайта

Далее вам нужно создать скрытую запись службы для вашего веб-сервера. Это конфигурация, специфичная для службы, которая позволит вам транслировать в сети Tor.

Сначала переключитесь на свою учетную запись root. Вы можете сделать это, выполнив следующую команду:

sudo-i

Хостинг Tor Веб-сайта Linux 07 Переключение на Root

Как только вы окажетесь внутри root, создайте свою скрытую службу, отредактировав файл “/etc/tor/torrc”. В моем случае я открываю этот файл через GNU Nano.

nano/etc/tor/torrc

Хостинг Tor Веб-сайта Linux 08 Файл Torrc

Найдите раздел “location-hidden services”, нажав Ctrl + W, затем введя “location-hidden”.

Хостинг Tor Веб-сайта Linux 09 Скрытые Службы Torrc

Вы увидите несколько примеров, которые демонстрируют, как создать свою собственную скрытую службу Tor. В большинстве случаев вам нужно установить только две опции: HiddenServiceDir и HiddenServicePort.

Опция HiddenServiceDir указывает Tor, где он должен сохранять конфигурационные файлы для вашей скрытой службы. Опция HiddenServicePort указывает Tor, как он должен перенаправлять любые запросы к вашей скрытой службе.

Следующие строки кода создадут новую скрытую службу для вашего веб-сервера:

HiddenServiceDir /var/lib/tor/nginx-tor-service/  
HiddenServicePort 80 127.0.0.1:80  
HiddenServicePort 443 127.0.0.1:443

Хостинг Tor Веб-сайта Linux 10 Torrc Создание Новой Скрытой Службы

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

systemctl enable tor  
systemctl restart tor

Совет: узнайте, как использовать Tor с вашим VPN-соединением.

Создание Простого Веб-сайта с Использованием Nginx

Как только скрытая служба Tor будет запущена, начните настраивать свой веб-сервер. Создайте новый конфигурационный файл с помощью команды touch:

sudotouch/etc/nginx/sites-available/nginx-tor-service

Хостинг Tor Веб-сайта Linux 11 Создание Нового Nginx Сервера

Отредактируйте ваш новый конфигурационный файл Nginx как базовый веб-сервер. Например, следующий блок кода развернет простой веб-сервер на порту 80:

server{  
listen 80 default_server;  
listen[::]:80 default_server;  
  
root /var/www/html;  
  
server_name 4tth4kzmipldb5elklravakdwlnte3ck6m5ahl73nfbe6ni67zmyvxyd.onion;  
  
location / {  
try_files$uri$uri/ =404;  
}  
}
  • Две переменные listen устанавливают как порты, так и хост, к которым эта конфигурация сервера должна прислушиваться. В данном случае Nginx слушает на порту 80 как на IPv4, так и на IPv6.
  • Переменная root устанавливает местоположение, где Nginx будет искать файлы на вашем веб-сервере.
  • Переменная server_name содержит доменное имя вашего сервера. Найдите его, выполнив sudo less /var/lib/tor/nginx-tor-service/hostname.
  • Переменная location содержит функции о том, как Nginx обрабатывает файлы в корне вашего веб-сайта. В этом примере она просто устанавливает ошибку 404 для любых отсутствующих файлов.

Хостинг Tor Веб-сайта Linux 12 Пример Конфигурации Сервера

Создайте символическую ссылку для вашего нового конфигурационного файла в “/etc/nginx/sites-enabled.”

sudoln-s/etc/nginx/sites-available/nginx-tor-service /etc/nginx/sites-enabled/

Наконец, активируйте ваш новый веб-сайт, перезапустив Nginx:

sudo systemctl enable nginx  
sudo systemctl restart nginx

Хостинг Tor Веб-сайта Linux 13 Nginx Запущен

Доступ к Вашему Веб-сайту через Tor

С Tor и Nginx, работающими, проверьте, доступен ли ваш веб-сайт из сети Tor. (Хотите найти больше веб-сайтов в темной сети? Ознакомьтесь с этими поисковыми системами.) Сначала загрузите последнюю бинарную версию браузера Tor:

wget https://www.torproject.org/dist/torbrowser/11.5.7/tor-browser-linux64-11.5.7_en-US.tar.xz

Хостинг Tor Веб-сайта Linux 14 Загрузка Браузера Tor

Извлеките файлы браузера в текущую директорию, выполнив следующую команду:

tar xvf ./tor-browser-linux64-11.5.7_en-US.tar.xz  
cd ./tor-browser_en-US

Хостинг Tor Веб-сайта Linux 15 Извлечение Браузера Tor

Также убедитесь, что бинарный файл браузера Tor имеет правильные права на выполнение:

sudochmod +x ./start-tor-browser.desktop

Запустите и установите браузер Tor на вашей машине, выполнив следующую команду:

./start-tor-browser.desktop --register-app

Хостинг Tor Веб-сайта Linux 16 Браузер Tor Запущен

Наконец, перейдите на ваш новый веб-сайт Tor, введя его доменное имя в адресной строке.

Хостинг Tor Веб-сайта Linux 17 Веб-сайт Tor Запущен

Часто задаваемые вопросы

Возможно ли разместить игровой сервер с использованием Tor?

Да, но работа игрового сервера Tor приведет к очень плохому игровому опыту. Например, работа сервера Minetest через Tor будет иметь задержку от 1000 до 5000 миллисекунд.

Хотя есть способы ускорить ваши соединения Tor, разработчики Tor не проектировали сеть для работы в приложениях с низкой задержкой. Из-за этого Tor в основном полезен для публикации веб-страниц и приложений, которые не зависят от низкой задержки.

Я пытаюсь разместить FTP веб-сайт, но не могу получить к нему доступ через Tor.

Эта проблема, скорее всего, связана с отсутствующей конфигурацией в файле “/etc/tor/torrc”. Чтобы правильно разместить новую службу через Tor, убедитесь, что соответствующие порты открыты как в вашем брандмауэре, так и в torrc.

Например, добавьте HiddenServicePort 21 127.0.0.1:21 и HiddenServicePort 22 127.0.0.1:22, чтобы создать открытые порты FTP и SFTP на вашей машине.

Возможно ли разместить мой веб-сайт через SSL в Tor?

Важно отметить, что SSL не является жестким требованием для защиты вашего веб-сайта Tor. По умолчанию Tor уже шифрует ваши соединения, как только вы загружаете браузер Tor, поэтому любой веб-сайт, который вы посещаете в Tor, зашифрован от конца до конца.

Если хотите, получите SSL-сертификат для вашего веб-сайта Tor, хотя процесс может быть сложным, так как существует всего несколько центров сертификации, которые активно выдают TLS для доменов .onion.

Кредит изображения: Unsplash. Все изменения и скриншоты сделаны Рамсесом Редом.