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 😀