ЦИКЛЫ СТАТЕЙ:

СОЗДАНИЕ САЙТА В СЕТИ TOR

Чужая статья. Автор неизвестен.

Рассмотрим пример настройки Tor onion сайта в операционной системе Ubuntu.

Общие рекомендации по соблюдению аннонимности:

  1. Не запускайте более ничего на данном сервере.
  2. Используйте начисто установленную операционную систему.
  3. Не используйте более никаких сервисов у данного сервис провайдера.
  4. Оплаичвайте услуги провайдера через PayPal или лучше через Bitcoin.
  5. Не предоставляйте сервис провайдеру никакой идентифицирующей Вас информации.
  6. Не запускайте Tor-relay на данном сервисе, потому как публичный адрес данного сервера будет публичным адресом Tor-relay.
  7. Не отправляйте почту с данного сервера.
  8. Используйте безопасное программное обеспечение запущенного сайта и стойкие пароли.
  9. Избегайте програмного обеспечения которое использует скрипты, такие как javascript например.
  10. Убедитесь, что Ваше приложение не выводит информацию об ошиках способную нарушить анонимность сервера.
  11. Убедитесь, что код сайта не использует какие либо элементы со сторонних сайтов, таких как jquery.com или google fonts.
  12. Устанавливайте своевременно обновления безопасности на сервер.

Основные шаги:

  1. Выбрать хостинг для сайта с учётом географического распределения пользователей.
  2. Установить и настроить операционную систему Ubuntu.
  3. Установить и настроить веб сервер Nginx.
  4. Установить и настроить Tor Hidden Services.

После проделанных шагов сайт будет доступен по своему onion адресу в сети Tor.

Будем исходить из того, что хостинг мы выбрали и у нас установлена операционная система Ubuntu.

  1. Настройка Ubuntu:

  2. Удаляем приложения которые могут повлиять на анонимность:

    sudo apt-get remove —purge rsyslog exim postfix sendmail wget curl

  3. Оптимизируем настройки для работы системы с нагруженным сайтом:

    sudo vi /etc/sysctl.d/100-nginx.conf

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    fs.file-max = 2097152
    net.core.netdev_max_backlog = 65536
    net.core.optmem_max = 25165824
    net.core.rmem_default = 16777216
    net.core.rmem_max = 31457280
    net.core.somaxconn = 65536
    net.core.wmem_default = 16777216
    net.core.wmem_max= 31457280
    net.ipv4.ip_local_port_range= 2000 65000
    net.ipv4.tcp_congestion_control = cubic
    net.ipv4.tcp_fin_timeout= 7
    net.ipv4.tcp_keepalive_intvl = 15
    net.ipv4.tcp_keepalive_probes = 3
    net.ipv4.tcp_keepalive_time = 90
    net.ipv4.tcp_max_orphans = 262144
    net.ipv4.tcp_max_syn_backlog = 2048
    net.ipv4.tcp_max_syn_backlog = 65536
    net.ipv4.tcp_max_tw_buckets = 1048576
    net.ipv4.tcp_mem = 8388608 8388608 8388608
    net.ipv4.tcp_orphan_retries = 0
    net.ipv4.tcp_rfc1337 = 1
    net.ipv4.tcp_rmem = 8192 87380 16777216
    net.ipv4.tcp_slow_start_after_idle = 0
    net.ipv4.tcp_syn_retries = 2
    net.ipv4.tcp_synack_retries = 2
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_wmem = 8192 65536 16777216
    vm.dirty_background_ratio = 2
    vm.swappiness = 10
    vm.dirty_ratio = 60
    sudo sysctl -p /etc/sysctl.d/100-nginx.conf

    sudo vi /etc/security/limits.conf
    *          soft    nofile  1048576
    *          hard   nofile   1048576
    root       soft    nofile   1048576
    root       hard   nofile   1048576

    sudo vi /etc/pam.d/su
    session       required       pam_limits.so
    sudo vi /etc/pam.d/common-session
    session       required       pam_limits.so
  4. Установка и настройка Nginx:

    1. sudo apt-get install nginx — устанавливаем Nginx.
    2. sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig — сохраняем оригинальный конфиг.
    3. sudo vi /etc/nginx/nginx.conf — создаём конфиг с конфигурацией для высоко нагруженного сайта:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      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:8080 default_server backlog=65536;
          server_name localhost _ "";

          root /usr/share/nginx/html;
          index index.html;

        #  error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 420 422 423 424 426 428 429 431 444 449 450 451 500 501 502 503 504 505 506 507 508 509 510 511 = /index.html;

        # limit_conn conn_limit_per_ip 20;
        # limit_req zone=req_limit_per_ip burst=50 nodelay;

          location / {
            expires 1h;
            allow 127.0.0.1;
            deny all;
          }

        }

      }
    4. sudo service nginx restart — перезагружаем Nginx.
  5. Установка и настройка Tor:

    1. Для установки Tor подключаем репозитории указанные на страничке проекта:
      sudo vi /etc/apt/sources.list

      deb http://deb.torproject.org/torproject.org trusty main
      deb-src http://deb.torproject.org/torproject.org trusty main

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

    2. Устанавливаем Tor:
      sudo apt-get update
      sudo apt-get install tor deb.torproject.org-keyring
    3. Выполняем настройки Tor Hidden Service:
      sudo vi /etc/tor/torrc

      HiddenServiceDir /var/lib/tor/hidden_service/
      HiddenServicePort 80 127.0.0.1:8080

    4. Перезапускам Tor:
      sudo service tor restart
    5. Узнаём свой Tor onion адрес:
      sudo cat /var/lib/tor/hidden_service/hostname

    Теперь наш сайт доступен по адресу который указан в данном файле.

    За это имя отвечает файл содержащий приватный ключ: /var/lib/tor/hidden_service/private_key

  6. Устанавливаем и настраиваем фаервол:

    1. Устанавливаем фаервол:
      sudo apt-get install ufw
    2. Настраиваем фаервол:
      sudo ufw allow ssh
    3. Разрешаем доступ к серверу через ssh:
      sudo ufw enable

МАТЕРИАЛЫ

  1. Как создать ONION-сайт
  2. Configuring Hidden Services for Tor
  3. How To Create A Hidden Service Tor Site To Set Up An Anonymous Website Or Server
  4. How to Create a Tor .onion Site [Updated]
  5. 500 Million hits/day with Nginx + PHP-FPM + MySQL
  6. Tuning Nginx for Best Performance
  7. Optimizing Nginx for High Traffic Loads
  8. Tuning NGINX for Performance
  9. sysctl.conf
  10. The GNU/Linux Kernel
  11. Part 1: Lessons learned tuning TCP and Nginx in EC2
  12. Increase «Open Files Limit»
  13. Setting up a hidden service with Nginx

Теги:

Автор: