Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
hosting — Server di hosting web condiviso automatizzato basato su Tor con supporto multi-versione PHP, routing email, istanze Tor con auto-scaling, e rafforzamento della sicurezza integrato inclusa protezione CSRF, CSP e chiavi onion crittografate. | Kitploit
Strumenti/GitHubGitHub/danwin/hosting
Scripting e AutomazioneAudit di ConfigurazioneSicurezza WebSicurezza di RetePrivacyUtilità e Framework
GitHubdanwin/hosting

hosting

Server di hosting web condiviso automatizzato basato su Tor con supporto multi-versione PHP, routing email, istanze Tor con auto-scaling, e rafforzamento della sicurezza integrato inclusa protezione CSRF, CSP e chiavi onion crittografate.

Vedi Repository
3711264 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Informazioni Generali:

Questa è una configurazione per un server di hosting condiviso basato su Tor. Viene fornita così com'è e, prima di metterla in produzione, dovresti apportare modifiche in base alle tue esigenze. È un lavoro in corso e dovresti controllare attentamente la cronologia dei commit per eventuali modifiche prima di aggiornare. Per un server di produzione, si consigliano almeno 1 TB di spazio su disco SSD, 32 GB di RAM e 8 core della CPU. Per un piccolo server di test/personale, sono sufficienti 4 GB di RAM e 1 core della CPU.

Traduzione:

Le traduzioni sono gestite in Weblate. Se preferisci inviare manualmente le traduzioni, lo script update-translations.sh può essere utilizzato per aggiornare il template della lingua e i file di traduzione dal sorgente. Genererà il file var/www/locale/hosting.pot che potrai poi usare come base per creare un nuovo file di lingua in var/www/YOUR_LANG_CODE/LC_MESSAGES/hosting.po e modificarlo con un programma di traduzione, come Poedit. Una volta terminato, puoi aprire una pull request, o inviarmi un'email, per includere la traduzione.

Istruzioni di Installazione:

La configurazione è stata testata con Debian 13 (Trixie) e Ubuntu 24.04 LTS. Si consiglia di installare Debian 13 o Ubuntu 24.04 sul tuo server, ma con qualche piccolo aggiustamento potresti riuscire a farla funzionare anche su altre distribuzioni e/o versioni. Se vuoi costruirlo su un raspberry pi, non usare le immagini raspbian perché molte cose si romperanno. Scarica invece un'immagine per il tuo modello di pi da https://raspi.debian.net/daily-images/.

Installazione Automatica

Il modo più semplice per installare è con l'installer automatico:

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

L'installer gestisce tutto: installazione dei pacchetti, compilazione di PHP/ImageMagick, configurazione di Tor, setup di MySQL e provisioning dei servizi. Richiederà le password o le genererà automaticamente.

Opzioni:

root@kitploit:~
./install.sh --non-interactive        # Salta le richieste, genera password casuali
./install.sh --vanity <prefisso>      # Genera un indirizzo .onion personalizzato
./install.sh --skip-binaries          # Salta la compilazione (usa se già compilato)
./install.sh --db-pass <pass>         # Imposta la password MySQL per hosting
./install.sh --pma-pass <pass>        # Imposta la password MySQL per phpMyAdmin
./install.sh --admin-pass <pass>      # Imposta la password del pannello di amministrazione

La generazione di un .onion personalizzato usa mkp224o (compilato automaticamente). Sono validi solo i caratteri a-z e 2-7. Un prefisso di 4 caratteri richiede minuti, 5 caratteri richiede 10-30 minuti, 6+ caratteri richiede ore.

Le credenziali sono salvate in /root/hosting-credentials.txt.

Aggiornamento

root@kitploit:~
cd hosting
./update.sh              # Aggiorna il codice, preserva la configurazione
./update.sh --rebuild    # Ricostruisce anche PHP/ImageMagick
./update.sh --code-only  # Aggiorna solo i file PHP

Lo script di aggiornamento esegue un backup della configurazione, recupera l'ultimo codice, ripristina le password e l'indirizzo onion, e riavvia i servizi. Rileva se install_binaries.sh è cambiato e ti avvisa di ricostruire.

Installazione Manuale

Se preferisci installare manualmente, segui i passaggi seguenti.

Rimuovi i pacchetti che potrebbero interferire con questa configurazione:

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

Se dopo questo passaggio hai problemi a risolvere i nomi host, passa temporaneamente a un nameserver pubblico come 1.1.1.1 (di CloudFlare) o 8.8.8.8 (di Google)

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

Aggiungi repository aggiuntivi (solo Debian — Ubuntu ha nginx e brotli nativamente):

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

Installa git e clona questo repository

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

Installa i binari personalizzati ottimizzati

root@kitploit:~
./install_binaries.sh

Nota che anche Debian ha un archivio di pacchetti per servizi onion, quindi potresti voler modificare /etc/apt/sources.list per caricare da lì invece:

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

Copia (e modifica secondo le tue esigenze) i file del sito in var/www in /var/www e i file di configurazione in etc in /etc dopo che l'installazione è terminata. Poi riavvia alcuni servizi:

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

Sostituisci il dominio .onion predefinito con il tuo dominio:

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

Per il tuo dominio clearnet, devi aggiungerlo a relay_domains in /etc/postfix/main.cf e modificare il dominio predefinito nei seguenti file:

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

Questa configurazione ha due istanze di postfix, una per ricevere e inviare mail ad altri servizi .onion e una per riscrivere gli indirizzi per passarli a un relay di posta clearnet. Potresti voler creare o meno la seconda istanza eseguendo

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

Se hai creato un'istanza, decommenta la configurazione relativa al relay clearnet in etc/postfix/main.cf e assicurati di copiare e modificare anche i file di configurazione da etc/postfix-clearnet

Se hai riscontrato il seguente problema: postfix: fatal: chdir(/var/spool/postfix-clearnet): No such file or directory puoi semplicemente copiare il chroot dall'istanza postfix predefinita così: cd /var/spool/ && cp -a postfix/ postfix-clearnet/

Dopo aver copiato (e modificato) la configurazione di posfix, devi creare i database dai file di mapping (anche ogni volta che aggiorni quei file):

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 #solo se hai una seconda istanza

Per salvare i file temporanei in memoria, aggiungi quanto segue a /etc/fstab:

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

Per indurire il sistema e nascondere i pid agli utenti non root, aggiungi anche quanto segue:

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

E aggiungi le opzioni noatime,usrjquota=aquota.user,jqfmt=vfsv1 al mountpoint /home, poi inizializza la quota. Sostituisci /home con /, se non hai una partizione separata:

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)

In alcuni casi, potresti ottenere un errore che la quota non è supportata. Questo di solito accade in ambienti virtuali. Assicurati di avere il kernel completo installato, non uno con un pacchetto -virtual. Di solito sono linux-image-amd64, linux-image-arm64 o linux-image-generic, a seconda della tua distribuzione. Assicurati anche di eseguire una macchina virtuale reale (es. KVM). Alcuni fornitori vendono VPS containerizzati (es. OpenVZ), il che significa che non esegui il tuo kernel...

Installa sodium_compat per il supporto di v3 hidden_service

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

Crea un utente mysql per phpmyadmin e configuralo in /var/www/html/phpmyadmin/config.inc.php e riempi $cfg['blowfish_secret'] con caratteri casuali:

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

Crea un utente mysql con tutti i permessi per la gestione dell'hosting:

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

Poi modifica la configurazione del database in /var/www/common.php e /etc/postfix/sql/alias.cf

Ultimo ma non meno importante, imposta il database eseguendo

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

Abilita i timer di systemd per eseguire regolarmente varie attività di gestione:

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

Il passo finale è riavviare, attendere circa 5 minuti per l'avvio di tutti i servizi, e verificare che tutto funzioni creando un account di test.

Versioni PHP:

Gli utenti possono scegliere tra PHP 8.2, 8.3, 8.4 e 8.5 al momento della registrazione e cambiare la loro versione dalla dashboard. Il valore predefinito è PHP 8.5.

Auto-Scaling:

Le istanze di Tor si ridimensionano automaticamente in base al numero di account. Il timer hosting-autoscale.timer viene eseguito ogni ora e aggiunge una nuova istanza per ogni ~250 account. Gli ID delle istanze vanno da a a z, poi aa, ab, ecc. Puoi anche impostare manualmente le istanze in SERVICE_INSTANCES in /var/www/common.php ed eseguire setup.php.

Sicurezza:

  • I token CSRF utilizzano byte casuali crittograficamente sicuri
  • La password dell'amministratore è memorizzata come hash bcrypt
  • L'ID di sessione viene rigenerato al login
  • Tutto l'output dinamico è escapato con htmlspecialchars()
  • Le regole di riscrittura di Nginx sono validate contro l'iniezione di configurazione
  • Le chiavi private degli onion sono crittografate a riposo con libsodium
  • Le password SFTP sono crittografate in sessione con scadenza di 1 ora
  • Il login dell'amministratore ha una limitazione di velocità con backoff esponenziale
  • Content Security Policy con script-src 'none'
  • Nessun JavaScript su nessuna pagina
  • Messaggi di errore di login generici per prevenire l'enumerazione degli username
  • Protezione contro il path traversal del FileManager

TODO: Multi-Server / Clustering:

  • Replicazione del database (primary-replica MariaDB)
  • Storage condiviso per /home tra i nodi (GlusterFS/CephFS)
  • Bilanciatore di carico per i nodi rivolti a Tor
  • Configurazione centralizzata (database condiviso o etcd)
  • Assegnazione delle istanze tra nodi basata sul carico del server
  • Autoscale distribuito tra server
  • Condivisione di sessioni PHP basata su Redis
  • Routing della posta al nodo corretto per account
  • Monitoraggio dello stato di salute tra nodi
  • Aggiornamenti a rotazione con drenaggio del traffico
  • Strumento di migrazione delle chiavi Onion tra server
  • ClamAV/Rspamd condivisi su nodi dedicati
  • Orchestrazione coordinata dei backup
Scarica lo strumento