Анонимность в интернет
В настоящее время интернет не может считаться анонимным. В сети всегда передается ip-адрес устройства, с которого осуществляется выход в интернет. Этот ip-адрес хранится в логах у провайдера и по нему можно довольно точно определить местонахождение пользователя. Законы многих стран, в том числе и законы РФ, обязывают провайдеров вести лог всех запросов, хранить и предоставлять его по требованиям спецслужб.
Такое положение дел часто вызывает возмущение у пользователей. Получается, что за вами уже следят, даже если вы еще ничего противоправного не совершили или даже не собираетесь совершать. Не секрет, что правительство пытается регулировать интернет и ввести цензуру. Часто и самим сервисам публичного интернета не нужна ваша анонимность, в их интересах собрать максимум информации о вас чтоб впоследствии навязать услуги или рекламу.
Неважно, для чего вам нужна анонимность. К счастью, существую проекты, которые выступают за свободу интернета!
Преимущества и принцип работы Tor
Tor - это один из проектов за анонимность и свободу интернета, изначально создавался и финансировался за счет США. Код проекта был опубликован под свободной лицензией для проверки всеми желающими, а Tor-браузер - это переработанный FireFox.
При каждой загрузке Tor-браузер обновляет список узлов. Сеть Tor работает на основе луковых серверов. Клиентом сначала выбираются три случайных луковых сервера и пакет шифруется третьим, вторым и первым ключами последовательно. Когда первый луковый сервер получит пакет, он расшифрует своим ключом первый слой пакета с адресом следующего сервера и перенаправит пакет туда. Также сделает и второй и третий сервера. В этой системе, например, третий луковой сервер не сможет расшифровать и знать адрес первого, а первый - третьего. Второй знает адреса обоих, но не может расшифровать и знать адреса отправителя и получателя пакетов. Таким образом и достигается анонимность.
Развертывание сайта на localhost
Следующие шаги напрямую не относятся к tor.Установка программ
Для развертывания сайта на localhost вам будет нужен стандартный набор программ. В документации к Tor-проекту не рекомендуют устанавливать Apache, так ка он не безопасен и может раскрыть ip-адрес. Вам потребуется nginx.Установка nginx
web-сервер nginx/Windows-1.19.6 скачатьС официального сайта скачиваете архив nginx-1.19.6.zip, распаковываете в папку c:\Program Files
Установка php-fpm
php-fpm PHP 8.0 (8.0.2) VS16 x64 Non Thread Safe (2021-Feb-03 19:17:50) Zip [25.33MB] скачатьС официального сайта скачиваете архив php-8.0.2-nts-Win32-vs16-x64.zip, распаковываете в папку c:\Program Files
Установка MySQL Server
MySQL Server 8.0 скачатьС официального сайта скачиваете установщик mysql-installer-community-8.0.23.0.msi. В опциях при установке вам следует выбирать developmentComputer или localhost.
Я по ошибке скачал web-community MSI Installer, после мне пришлось переконфигурировать программу в правильном установщике
В ходе установки будут созданы различные папки, папка с сервером c:\Program Files\MySQL\MySQL Server 8.0
Настройка и запуск программ
Настройка и запуск MySQL Server
mysql-installer добавит службу MySQL в автозагрузку, необходимо чтобы она была запущена.
Mysql-server не требует специальных настроек. Для создания базы данных следует сначала подключиться к серверу командной строкой
c:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -u root -pиспользуйте ваше имя пользователя и пароль, по умолчанию (root, root).После этого в командной строке можно выполнить запрос на создание базы данных
CREATE DATABASE tor_db CHARACTER SET utf8 COLLATE utf8_general_ci;Настройка и запуск php-cgi
В папке с распакованным php (см. картинку выше) должен находится конфигурационный файл php.ini. Для запуска php на localhost переименуйте php.ini-development в php.ini
В php.ini содержится множество настроек обработки сценария: подключаемые модули, вывод ошибок, лимиты памяти и т.д. В исходном файле мне ничего существенного менять не приходилось.
Расскомментируйте в php.ini строки:
- extension_dir = "ext" - папка для .dll модулями php
- extension=pdo_mysql - модуль pdo_mysql
Для запуска php на localhost на 9000-порту вам необходимо набрать в комадной строке
c:\Program Files\php-8.0.2-nts-Win32-vs16-x64>php-cgi.exe -b 127.0.0.1:9000Настройка и запуск nginx
файл C:\Program Files\nginx-1.19.6\conf\nginx.conf должен быть следующего содержания, как в примере, различия с исходным файлом на изображении (слева - отредактированный файл, справа - оригинал)
Основные настройки:- worker_processes 2 (рекомендовано устанавливать равное числу ядер процессора)
В секции http >> server >> location для переадресация запросов на index.php и обработки запросов методами GET и POST, добавлена стрка try_files $uri $uri/ /index.php?$query_string;
-
Раскомментируй секцию location ~ \.php$
и укажите следующие настройки
root E:/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;Указана папка с сайтом root E:/html;
Запустите C:\Program Files\nginx-1.19.6\nginx.exe от имени администратора
Вы можете попробовать разместить файлы вашего сайта в папке, что вы указали в настройках root E:/html; Теперь ваш сайт должен открываться браузером по адресу http://localhost/ Для выполнения дальнейших шагов по подключению скрытых Tor-сервисов папка сайта должна быть пустой.
Настройка Tor
При установке и настройке скрытых tor-сервисов я в основном руководствовался вот этой статьей
-
Скачиваем и устанавливаем Tor - браузер для Windows.
Закройте Tor - браузер, если он запущен.
- Перейдите в папку, куда вы установили Tor Browser
...\Tor Browser\Browser\TorBrowser\Data\Tor
Откройте torc - файл и добавьте следующие секции в конец файла:
# Hidden Service
HiddenServiceDir E:\html
HiddenServicePort 80 127.0.0.1:80Задайте HiddenServiceDir - Директория где будет размещаться тор-сайт.
HiddenServicePort вы должны записать порт, который использует nginx. Например, если 5000-й порт, HiddenServicePort 80 127.0.0.1:5000
-
Сейчас в папке root E:/html; или HiddenServiceDir не должно быть размещено никаких сайтов, папка должны быть пустой.
- Запустите nginx, если он еще не запущен
- Запустите Tor-browser
- Теперь, открыв директорию корня проекта, вы обнаружите файлы:
Файл hostname содержит onion-адрес вашего домена в сети tor
На этом настройка скрытых tor-сервисов завершена. Скопируйте ваш файлы вашего сайта в папку (root E:/html; или HiddenServiceDir) и убедитесь в доступности сайта обычным браузером на http://localhost/.
Убедитесь в доступности вашего onion - сайта в сети tor.
Заключение
В этой статье описан только процесс настройки и установки tor-сайта, и не рассказывается как защитить его от раскрытия.
Для повышения безопасности следуйте следующим советам:
- Спрячьте Tor-сайт за Proxy-сервером
- Не распространяйте ссылки на ваш onion-сайт в публичном интернете без использования анонимайзеров.
- Не используйте flash-плеер на onion-сайте. Эта технология устанавливает прямое соединение и раскрывает ip
- tor-трафик может быть распознан с вероятностью около 70%, тем самым большой объем трафика можно локализовать. Tor-сайты не должны быть рассчитаны на большую аудиторию.
Выводы
Благодаря наличию в интернете подробной документации и простоте установки, развернуть onion-сайт на обычном недорогом ПК с Windows-10 не составит много труда и времени.
Для onion-сайта не требуется статического ip-адреса, onion-домен доступен почти сразу после регистрации или смены ip
Чем жестче цензура, тем больше пользователей будут пытаться сохранить анонимность, тем больше будет появляться новых анонимных сервисов.