Seleziona una pagina

Questa guida è per gli amanti della privacy, che utilizzano la rete Tor come rete per divulgare o condividere idee e progetti in modo gratuito e senza costi grazie agli hidden services (i siti .onion).

A volte, anzi, è raccomandato utilizzare il protocollo https anche per questo tipo di siti, come ulteriore layer di sicurezza, e per farlo dobbiamo configurare apache.

PRIMA NOTA: se il tuo hidden service punta alla cartella principale del tuo server apache (/var/www/html), allora ti basterà generare i certificati SSL e configurare e abilitare default-ssl.conf nella cartella /etc/apache2/sites-available.

SECONDA NOTA: nel caso tu abbia un hidden service configurato come virtual host (ovvero che non punta a /var/www/html) allora dovrai un nuovo file di conf.

Generiamo i certificati SSL

Se non hai OpenSSL, puoi seguire la guida presente sul nostro blog: clicca qui

Per prima cosa, dobbiamo generare i nuovi certificati, da terminale digitiamo:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt [invio]

A questo punto, se il tuo hidden service punta alla directory principale di apache (*leggi PRIMA NOTA) dovrai solo modificare due righe, quindi apri il terminale e digita:

sudo cat /etc/apache2/sites-available/default-ssl.conf [invio]

Individua queste due righe:

                SSLCertificateFile      /etc/ssl/certs/snakeoil.crt
                SSLCertificateKeyFile /etc/ssl/private/snakeoil.key

E sostituiscile con queste:

            SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
            SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

Se invece il tuo hidden service punta ad una cartella diversa da quella principale (*leggi SECONDA NOTA), dovrai creare il file di conf, quindi apri il terminale e digita:

sudo nano nomedel.sito.conf [invio]

Ora Copia e Incolla questo codice:

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin [INSERISCI LA TUA MAIL]
                DocumentRoot [INSERISCI LA DIRECTORY DEL SITO]
                ServerAlias [INSERISCI L'INDIRIZZO HIDDEN SERVICE]
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
            SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
            SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>

Salva e chiudi. Ora devi abilitare SSL in apache, e poi abilitare il sito che hai appena configurato:

sudo a2enmod ssl [invio]
sudo systemctl restart apache2 [invio]

Ora abilitiamo il file .conf:

sudo a2ensite default-ssl.conf [invio]
       -oppure-
sudo a2ensite nomedel.sito.conf
sudo systemctl reload apache2 [invio]

Modifichiamo il file torrc

Chiudere il proxy tor se in uso. Ora da terminale apriamo il file torrc ed abilitiamo la porta 443, da terminale digitiamo:

sudo nano /etc/tor/torrc

Individuare la parte relativa all’hidden service:

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

#HiddenServiceDir /var/lib/tor/other_hidden_service/
#HiddenServicePort 80 127.0.0.1:80
#HiddenServicePort 22 127.0.0.1:22

Ed aggiungiamo la porta 443:

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

#HiddenServiceDir /var/lib/tor/other_hidden_service/
#HiddenServicePort 80 127.0.0.1:80
#HiddenServicePort 22 127.0.0.1:22

Salvare ed uscire. Ora possiamo riavviare tor. Aprite il browser e navigate il vostro hidden service anteponendo https:// all’indirizzo onion. Abbiamo finito

BUON DIVERTIMENTO 😀