Gudo
Местный
- Сообщения
- 728
- Реакции
- 987
Здравствуйте, Мои Дорогие Друзья!
Милый бард Гудо решил поизучать сайтостроение и то, как происходит реализация сайта в Нашей Любимой Сети TOR. И вот, после того, как я потратил на изучение этого действа две недели, отдавая себя всего, я готов представить вам мой гайд о том, как создать свой сайт и как настроить сервер, чтобы он мог работать с трафиком из сети TOR. Данная статья - моё виденье лучшего гайда. Данная гайд - фраза "Делай так, и не парься", он содержит всюинформацию, которую надлежит знать, чтобы создать свой сайт(или, по крайней мере, достаточно-таки солидную часть). Если вы знаете как дополнить данное руководство, я был бы крайне благодарен, если бы вы отписали об этом в комментарии под постом.
1. VDS
VDS(он же дедик, он же сервер) - простым языком, компьютер, на который мы поставим весь нужный софт, и который будет принимать, а так же обрабатывать запросы от пользователей.
К счастью(оно же к сожаления), в сети TOR нет хостингов для серверов. Поэтому, нам нужно настраивать сервер самостоятельно. К покупке VDS надлежит отноиться с осторожностью. Крайне не советуется брать сервера у сервисов в клирнете. Оптимально - дедик с рук у торговца в дарке. Идеально - свой собственный сервер где-то, где вы не живёте. В крайнем случае, если вы хотите просто прикоснуться к данному ремеслу, вы можете делать всё на виртуалке, стоящей на вашем личном ПК. Для более комфортной работы на устройство надлежит установить Ubuntu-20.04-amd64, использование иных ОС некритично, но есть вероятность, что команды будут выглядеть чуть по-другому, а программы могут работать иначе, имея те же настройки. GUI по желанию, если у вас нет опыта работы с терминалом Linux, то настоятельно рекомендуется.
1.1 GNOME
GNOME - это графическая оболочка, без неё весь процесс работы с системой будет выглядеть как набор команд белыми буковками по чёрному фону. Если по какой-то причине при установке системы графическая оболочка не встала автоматически, и вас это не радует, то вам придётся поставить ГНОМ'а вручную. Это делается в две команды. Первым делом вам нужно установить модуль tasksel. Для этого введите в терминал данную команду:
2. TOR
Теперь на наше устройство нужно поставить tor. Это делается данной командой:
Теперь перезапускаем tor:
3. NGINX
Nginx- это веб-сервер. Буквально, программа, которая обрабатывает запросы от клиентов вашего сайта
Скачиваем его:
Теперь просто кидаем в папку /var/www/site1 нужный вам сайт и радуемся стабильно работающему, абузоустойчивому сайту... Или нет?..
3.1 Правим конфиги
Для начала, чтобы в случае, если что-то пойдёт не так, стоит создать копию имеющегося конфига:
4. Файервол
Теперь файервол. Это быстро. Буквально три команды.
Э-рась:

Милый бард Гудо решил поизучать сайтостроение и то, как происходит реализация сайта в Нашей Любимой Сети TOR. И вот, после того, как я потратил на изучение этого действа две недели, отдавая себя всего, я готов представить вам мой гайд о том, как создать свой сайт и как настроить сервер, чтобы он мог работать с трафиком из сети TOR. Данная статья - моё виденье лучшего гайда. Данная гайд - фраза "Делай так, и не парься", он содержит всюинформацию, которую надлежит знать, чтобы создать свой сайт(или, по крайней мере, достаточно-таки солидную часть). Если вы знаете как дополнить данное руководство, я был бы крайне благодарен, если бы вы отписали об этом в комментарии под постом.
1. VDS
VDS(он же дедик, он же сервер) - простым языком, компьютер, на который мы поставим весь нужный софт, и который будет принимать, а так же обрабатывать запросы от пользователей.
К счастью(оно же к сожаления), в сети TOR нет хостингов для серверов. Поэтому, нам нужно настраивать сервер самостоятельно. К покупке VDS надлежит отноиться с осторожностью. Крайне не советуется брать сервера у сервисов в клирнете. Оптимально - дедик с рук у торговца в дарке. Идеально - свой собственный сервер где-то, где вы не живёте. В крайнем случае, если вы хотите просто прикоснуться к данному ремеслу, вы можете делать всё на виртуалке, стоящей на вашем личном ПК. Для более комфортной работы на устройство надлежит установить Ubuntu-20.04-amd64, использование иных ОС некритично, но есть вероятность, что команды будут выглядеть чуть по-другому, а программы могут работать иначе, имея те же настройки. GUI по желанию, если у вас нет опыта работы с терминалом Linux, то настоятельно рекомендуется.
1.1 GNOME
GNOME - это графическая оболочка, без неё весь процесс работы с системой будет выглядеть как набор команд белыми буковками по чёрному фону. Если по какой-то причине при установке системы графическая оболочка не встала автоматически, и вас это не радует, то вам придётся поставить ГНОМ'а вручную. Это делается в две команды. Первым делом вам нужно установить модуль tasksel. Для этого введите в терминал данную команду:
После, вам нужно установить сам GNOME.$ sudo apt install tasksel
Теперь нужно добавить пользователя командой adduser$ sudo tasksel install ubuntu-desktop
После этого вводите пароль и, по желанию(откровенно говоря, это вам нахрен не нужно), заполняете предложенные данные.$ sudo adduser user
2. TOR
Теперь на наше устройство нужно поставить tor. Это делается данной командой:
Если выдаёт ошибку, значит система не может найти модуль tor в своих репозиториях. Это фиксится либо простейшими командами(которые всегда нужно прописывать после установки системы)$ sudo apt-get install tor
Либо добавлением нужных репозиториев вручную:$ sudo apt-get update
$ sudo apt-get upgrade
Затем в torproject.rep вставляем:# touch /etc/yum.repos.d/torproject.repo
# vi /etc/yum.repos.d/torproject.rep
После установки правим файл /etc/tor/torrc[Tor]
name=Tor Project Repo
baseurl=Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
gpgcheck=1
enabled=1
gpgkey=Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Где /var/lib/tor/site1 - путь к закрытому ключу.HiddenServiceDir /var/lib/tor/site1
HiddenServicePort 80 127.0.0.1:80
Теперь перезапускаем tor:
После перезагрузки тора в директории /var/lib/tor/site1 появится файл hostname, в нём будет находиться ссылка на наш сайт. Для того, чтобы увидеть её пишем:$ /etc/init.d/tor restart
$ cat /var/lib/tor/site1/hostname
3. NGINX
Nginx- это веб-сервер. Буквально, программа, которая обрабатывает запросы от клиентов вашего сайта
Скачиваем его:
Потом редактируем конфиги.$ sudo apt-get install nginx
Находим там server и вставляем туда сие значения:$ nano /etc/nginx/nginx.conf
Перезапускаем nginx:server {
listen 127.0.0.1:80 default_server;
server_name localhost;
root /var/www/site1;
index index.php;
location / {
allow 127.0.0.1;
deny all;
}
}
FIN! Сервер работает и показывает сайт в сети TOR!service nginx restart
Теперь просто кидаем в папку /var/www/site1 нужный вам сайт и радуемся стабильно работающему, абузоустойчивому сайту... Или нет?..
3.1 Правим конфиги
Для начала, чтобы в случае, если что-то пойдёт не так, стоит создать копию имеющегося конфига:
Теперь создаём конфиг с конфигурацией для высоко нагруженного сайта. Открываем конфиг:sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
И вставляем это:sudo nano /etc/nginx/nginx.conf
И перезапускаемся:user www-data;
worker_processes auto;
pid /run/nginx.pid;
worker_rlimit_nofile 2129952;
events {
worker_connections 81920;
multi_accept on;
use epoll;
}
http {
##
# Basic Settings
##
open_file_cache max=200000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
reset_timedout_connection on;
send_timeout 2;
client_max_body_size 32k;
client_body_buffer_size 32k;
client_body_in_single_buffer on;
client_body_timeout 10s;
client_header_timeout 10s;
client_header_buffer_size 8k;
large_client_header_buffers 4 32k;
types_hash_max_size 2048;
server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log off;
error_log off;
##
# Gzip Settings
##
gzip on;
gzip_disable "MSIE [1-6]\.";
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# Limits
##
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=30r/s;
##
# Server configuration
##
server {
listen 127.0.0.1:80 default_server;
server_name localhost;
root /var/www/site1;
index index.php;
location / {
allow 127.0.0.1;
deny all;
}
}
}
И последнее. Осталось совсем чуть-чуть.$ sudo service nginx restart
4. Файервол
Теперь файервол. Это быстро. Буквально три команды.
Э-рась:
Э-двась:sudo apt-get install ufw
Э-трись:sudo ufw allow ssh
Вот. Теперь точно всё. Удачи в создании сайтов, Мои Дорогие Друзья!sudo ufw enable
