Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
hosting — Автоматизированный сервер общего веб-хостинга на базе Tor с поддержкой нескольких версий PHP, маршрутизацией электронной почты, автоматическим масштабированием экземпляров Tor и встроенной защитой, включая защиту от CSRF, CSP и зашифрованные ключи onion. | Kitploit
Инструменты/GitHubGitHub/danwin/hosting
Скриптинг и автоматизацияАудит конфигурацииВеб-безопасностьСетевая безопасностьКонфиденциальностьУтилиты и фреймворки
GitHubdanwin/hosting

hosting

Автоматизированный сервер общего веб-хостинга на базе Tor с поддержкой нескольких версий PHP, маршрутизацией электронной почты, автоматическим масштабированием экземпляров Tor и встроенной защитой, включая защиту от CSRF, CSP и зашифрованные ключи onion.

Репозиторий
3711264 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

Общая информация:

Это конфигурация для сервера общего хостинга на базе Tor. Предоставляется «как есть», и перед вводом в эксплуатацию вы должны внести изменения в соответствии со своими потребностями. Это незавершённая работа, и перед обновлением следует внимательно проверять историю коммитов на предмет изменений. Для production-сервера рекомендуется не менее 1 ТБ SSD-дискового пространства, 32 ГБ ОЗУ и 8 ядер ЦП. Для небольшого тестового/личного сервера достаточно 4 ГБ ОЗУ и 1 ядра ЦП.

Переводы:

Переводы управляются в Weblate. Если вы предпочитаете отправлять переводы вручную, скрипт update-translations.sh можно использовать для обновления шаблона языка и файлов перевода из исходного кода. Он создаст файл var/www/locale/hosting.pot, который вы затем можете использовать как основу для создания нового языкового файла в var/www/ВАШ_КОД_ЯЗЫКА/LC_MESSAGES/hosting.po и отредактировать его с помощью программы для перевода, такой как Poedit. После завершения вы можете открыть pull request или написать мне, чтобы включить перевод.

Инструкции по установке:

Конфигурация тестировалась с Debian 13 (Trixie) и Ubuntu 24.04 LTS. Рекомендуется установить Debian 13 или Ubuntu 24.04 на ваш сервер, но с небольшими доработками вы также сможете запустить это на других дистрибутивах и/или версиях. Если вы хотите собрать это на Raspberry Pi, не используйте образы Raspbian, так как некоторые вещи сломаются. Вместо этого загрузите образ для вашей модели Pi с https://raspi.debian.net/daily-images/.

Автоматическая установка

Самый простой способ установки — с помощью автоматического установщика:

root@kitploit:~
apt update && apt install git && git clone https://github.com/DanWin/hosting && cd hosting
./install.sh

Установщик обрабатывает всё: установку пакетов, компиляцию PHP/ImageMagick, настройку Tor, настройку MySQL и подготовку сервисов. Он запросит пароли или сгенерирует их автоматически.

Параметры:

root@kitploit:~
./install.sh --non-interactive        # Пропустить запросы, сгенерировать случайные пароли
./install.sh --vanity <префикс>        # Сгенерировать «ванильный» .onion-адрес
./install.sh --skip-binaries          # Пропустить компиляцию (использовать, если уже собрано)
./install.sh --db-pass <пароль>       # Установить пароль MySQL для хостинга
./install.sh --pma-pass <пароль>      # Установить пароль MySQL для phpMyAdmin
./install.sh --admin-pass <пароль>    # Установить пароль панели администратора

Генерация «ванильного» .onion использует mkp224o (компилируется автоматически). Допустимы только символы a-z и 2-7. Префикс из 4 символов занимает минуты, из 5 символов — 10-30 минут, из 6+ символов — часы.

Учётные данные сохраняются в /root/hosting-credentials.txt.

Обновление

root@kitploit:~
cd hosting
./update.sh              # Обновить код, сохранить конфигурацию
./update.sh --rebuild    # Также пересобрать PHP/ImageMagick
./update.sh --code-only  # Обновить только PHP-файлы

Скрипт обновления создаёт резервную копию вашей конфигурации, загружает последний код, восстанавливает пароли и .onion-адрес, а затем перезапускает сервисы. Он определяет, изменился ли install_binaries.sh, и предупреждает о необходимости пересборки.

Ручная установка

Если вы предпочитаете устанавливать вручную, следуйте шагам ниже.

Удалите пакеты, которые могут мешать этой настройке:

root@kitploit:~
DEBIAN_FRONTEND=noninteractive apt purge -y apache2* dnsmasq* eatmydata exim4* imagemagick-6-common mysql-client* mysql-server* nginx* libnginx-mod* php7* resolvconf && systemctl disable systemd-resolved.service && systemctl stop systemd-resolved.service

Если после этого шага у вас возникли проблемы с разрешением имён хостов, временно переключитесь на публичный DNS-сервер, например 1.1.1.1 (от CloudFlare) или 8.8.8.8 (от Google):

root@kitploit:~
rm /etc/resolv.conf && echo "nameserver 1.1.1.1" > /etc/resolv.conf

Добавьте дополнительные репозитории (только для Debian — в Ubuntu nginx и brotli есть изначально):

root@kitploit:~
apt update && apt install git apt-transport-tor curl lsb-release
curl -sSL https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc > /etc/apt/trusted.gpg.d/torproject.asc
curl -sSL https://packages.sury.org/nginx/apt.gpg > /etc/apt/trusted.gpg.d/sury.gpg
echo "deb tor://apow7mjfryruh65chtdydfmqfpj5btws7nbocgtaovhvezgccyjazpqd.onion/torproject.org/ `lsb_release -cs` main" >> /etc/apt/sources.list
echo "deb https://packages.sury.org/nginx/ `lsb_release -cs` main" >> /etc/apt/sources.list
apt update && apt upgrade

Установите git и клонируйте этот репозиторий:

root@kitploit:~
apt update && apt install git && git clone https://github.com/DanWin/hosting && cd hosting

Установите пользовательские оптимизированные бинарные файлы:

root@kitploit:~
./install_binaries.sh

Обратите внимание, что в Debian также есть архив пакетов onion-сервисов, поэтому вы можете отредактировать /etc/apt/sources.list для загрузки оттуда:

root@kitploit:~
deb tor://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian `lsb_release -cs` main

Скопируйте (и измените в соответствии со своими потребностями) файлы сайта из var/www в /var/www и файлы конфигурации из etc в /etc после завершения установки. Затем перезапустите некоторые сервисы:

root@kitploit:~
systemctl daemon-reload && systemctl restart bind9.service && systemctl restart [email protected]

Замените домен .onion по умолчанию на свой:

root@kitploit:~
sed -i "s/dhosting4xxoydyaivckq7tsmtgi4wfs3flpeyitekkmqwu4v4r46syd.onion/`cat /var/lib/tor/hidden_service/hostname`/g" /etc/postfix/sql/alias.cf /etc/postfix/sender_login_maps /etc/postfix/main.cf /var/www/skel/www/index.hosting.html /var/www/common.php /etc/postfix/canonical /etc/postfix-clearnet/canonical /var/www/html/squirrelmail/config/config.php

Для вашего clearnet-домена вам нужно добавить его в relay_domains в /etc/postfix/main.cf и отредактировать домен по умолчанию в следующих файлах:

root@kitploit:~
/var/www/common.php
/etc/postfix/canonical
/etc/postfix-clearnet/canonical

Эта настройка имеет два экземпляра Postfix: один для приёма и отправки почты другим .onion-сервисам, и один для перезаписи адресов для передачи их на почтовый релей для clearnet. Вы можете создать второй экземпляр, выполнив:

root@kitploit:~
postmulti -e init
postmulti -I postfix-clearnet -e create
postmulti -i clearnet -e enable
postmulti -i clearnet -p start

Если вы создали экземпляр, раскомментируйте соответствующие настройки релея clearnet в etc/postfix/main.cf и не забудьте также скопировать и изменить файлы конфигурации из etc/postfix-clearnet.

Если вы столкнулись со следующей ошибкой: postfix: fatal: chdir(/var/spool/postfix-clearnet): No such file or directory, вы можете просто скопировать chroot из экземпляра Postfix по умолчанию следующим образом: cd /var/spool/ && cp -a postfix/ postfix-clearnet/

После копирования (и изменения) конфигурации Postfix необходимо создать базы данных из файлов сопоставления (также каждый раз при обновлении этих файлов):

root@kitploit:~
postalias /etc/aliases
postmap /etc/postfix/canonical /etc/postfix/sender_login_maps /etc/postfix/transport
postmap /etc/postfix-clearnet/canonical /etc/postfix-clearnet/sasl_password /etc/postfix-clearnet/transport # только если у вас есть второй экземпляр

Чтобы сохранять временные файлы в памяти, добавьте следующее в /etc/fstab:

root@kitploit:~
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/log/nginx tmpfs rw,user,noatime 0 0

Для укрепления системы и скрытия PID от обычных пользователей также добавьте:

root@kitploit:~
proc /proc proc defaults,hidepid=2 0 0

И добавьте опции noatime,usrjquota=aquota.user,jqfmt=vfsv1 к точке монтирования /home, затем инициализируйте квоту. Замените /home на /, если у вас нет отдельного раздела:

root@kitploit:~
systemctl daemon-reload
mount -o remount $(findmnt -n -o TARGET --target /home)
quotacheck -cMu $(findmnt -n -o TARGET --target /home)
quotaon $(findmnt -n -o TARGET --target /home)

В некоторых случаях вы можете получить ошибку о том, что квота не поддерживается. Обычно это происходит в виртуальных средах. Убедитесь, что у вас установлено полное ядро, а не пакет с -virtual. Обычно это linux-image-amd64, linux-image-arm64 или linux-image-generic, в зависимости от вашего дистрибутива. Также убедитесь, что вы работаете на реальной виртуальной машине (например, KVM). Некоторые провайдеры предоставляют контейнерные VPS (например, OpenVZ), что означает, что вы не используете собственное ядро.

Установите sodium_compat для поддержки v3 hidden_service:

root@kitploit:~
cd /var/www && composer install

Создайте пользователя MySQL для phpmyadmin и настройте его в /var/www/html/phpmyadmin/config.inc.php, а также заполните $cfg['blowfish_secret'] случайными символами:

root@kitploit:~
mysql
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'MY_PASSWORD';
CREATE DATABASE phpmyadmin;
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'phpmyadmin'@'%';
FLUSH PRIVILEGES;
quit
mysql phpmyadmin < /var/www/html/phpmyadmin/sql/create_tables.sql

Создайте пользователя MySQL со всеми привилегиями для управления хостингом:

root@kitploit:~
mysql
CREATE USER 'hosting'@'%' IDENTIFIED BY 'MY_PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'hosting'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

Затем отредактируйте конфигурацию базы данных в /var/www/common.php и /etc/postfix/sql/alias.cf.

И последнее, но не менее важное: настройте базу данных, выполнив:

root@kitploit:~
php /var/www/setup.php

Включите systemd-таймеры для регулярного выполнения различных задач управления:

root@kitploit:~
systemctl enable hosting-del.timer && systemctl enable hosting.timer && systemctl enable hosting-autoscale.timer

Финальный шаг — перезагрузиться, подождать около 5 минут, пока все сервисы запустятся, и проверить, всё ли работает, создав тестовую учётную запись.

Версии PHP:

Пользователи могут выбирать между PHP 8.2, 8.3, 8.4 и 8.5 при регистрации и менять версию на панели управления. По умолчанию используется PHP 8.5.

Автомасштабирование:

Экземпляры Tor масштабируются автоматически в зависимости от количества учётных записей. Таймер hosting-autoscale.timer запускается каждый час и добавляет новый экземпляр примерно на каждые 250 учётных записей. Идентификаторы экземпляров идут от a до z, затем aa, ab и т.д. Вы также можете вручную задать экземпляры в SERVICE_INSTANCES в /var/www/common.php и запустить setup.php.

Безопасность:

  • Токены CSRF используют криптографически безопасные случайные байты
  • Пароль администратора хранится в виде bcrypt-хэша
  • Идентификатор сессии перегенерируется при входе
  • Все динамические выходные данные экранируются с помощью htmlspecialchars()
  • Правила перезаписи Nginx проверяются на инъекцию в конфигурацию
  • Приватные ключи .onion шифруются в состоянии покоя с помощью libsodium
  • Пароли SFTP шифруются в сессии с истечением через 1 час
  • Вход администратора ограничен по скорости с экспоненциальной задержкой
  • Политика безопасности контента с script-src 'none'
  • Никакого JavaScript ни на одной странице
  • Общие сообщения об ошибках входа для предотвращения перебора имён пользователей
  • Защита от обхода пути в FileManager

TODO: многопользовательская/кластерная архитектура:

  • Репликация базы данных (MariaDB primary-replica)
  • Общее хранилище для /home на нескольких узлах (GlusterFS/CephFS)
  • Балансировщик нагрузки для узлов, обращённых к Tor
  • Централизованная конфигурация (общая база данных или etcd)
  • Назначение экземпляров между узлами на основе загрузки сервера
  • Распределённое автомасштабирование между серверами
  • Совместное использование сессий PHP на основе Redis
  • Маршрутизация почты на правильный узел по учётной записи
  • Мониторинг состояния между узлами
  • Плавные обновления с отводом трафика
  • Инструмент миграции ключей .onion между серверами
  • Совместный ClamAV/Rspamd на выделенных узлах
  • Координированная оркестрация резервного копирования
Скачать инструмент