Vai al contenuto
Home » 🧭 Howto – Guide Tecniche per Tor, Privacy e Sicurezza » 🛡️ Accesso SSH via Tor – Hidden Service su Debian » 🔐 Parte 2 – Hardening SSH con autenticazione a chiave pubblica

🔐 Parte 2 – Hardening SSH con autenticazione a chiave pubblica

Sicurezza avanzata per accesso remoto via Tor

🎯 Obiettivo

In questa seconda parte, rafforzeremo la sicurezza dell’accesso SSH via Tor, eliminando l’autenticazione tramite password e disabilitando il login diretto dell’utente root.

Otterremo:

  • Accesso SSH solo tramite chiave pubblica
  • Porta SSH personalizzata (2222)
  • Creazione di un utente dedicato (es. netsec)
  • Blocco del login root e delle password

💡 Suggerimento operativo: è consigliabile mantenere due sessioni SSH contemporanee: una attiva con i privilegi root per eventuali correzioni, l’altra per testare i nuovi accessi. Questo approccio ti proteggerà da errori che potrebbero impedire il ricollegamento.

✅ Requisiti

  • Aver completato la Parte 1 (connessione SSH via Tor funzionante sulla porta 22)
  • Accesso root o sudo attivo su un server Debian-based (Debian 12, Ubuntu o simili)

👤 Creazione dell’utente dedicato (Server)

adduser netsec
usermod -aG sudo netsec

Puoi scegliere qualsiasi nome utente, ma evita nomi comuni o facilmente intuibili.

🔑 Generazione della chiave SSH (Client)

Se non l’hai ancora fatto:

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_stealth-ssh -C "tor access key"
  • Lascia vuoto se non vuoi una passphrase (consigliata per maggiore sicurezza).
  • La chiave pubblica sarà: ~/.ssh/id_ed25519_stealth-ssh.pub

Copia la chiave sul server (in LAN o .onion):

ssh-copy-id -i ~/.ssh/id_ed25519_stealth-ssh.pub -p 22 netsec@IP_O_HOSTNAME

Verifica l’accesso iniziale:

torsocks ssh -i ~/.ssh/id_ed25519_stealth-ssh -p 22 netsec@fjiswfc5qssgycfnt4g4zrwt4k7rdi7ze4v5gxvdfwvk75dselqvezad.onion

Questo passaggio garantisce che la chiave pubblica sia correttamente installata e funzionante prima di disattivare le credenziali root.

✅ Se l’accesso funziona correttamente, possiamo procedere alla modifica della configurazione SSH.

🔧 Configurazione sicura di SSH (Server)

Modifica /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

E assicurati che contenga:

Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers netsec

⚠️ Importante: mantieni due sessioni aperte finché non verifichi il nuovo accesso. In caso di errore, potresti perdere il controllo del server (salvo accesso fisico o console VPS).

🔁 Modifica Hidden Service Tor per nuova porta (Server)

Aggiorna il file /etc/tor/torrc:

HiddenServiceDir /var/lib/tor/ssh_hidden_service/
HiddenServicePort 2222 127.0.0.1:2222

Riavvia Tor:

sudo systemctl restart tor@default

Verifica l’indirizzo .onion attuale (non dovrebbe cambiare, ma è utile controllare):

sudo cat /var/lib/tor/ssh_hidden_service/hostname

🔄 Riavvia il servizio SSH (Server)

sudo systemctl restart ssh

Verifica che la nuova porta sia in ascolto:

sudo ss -tulpen | grep 2222

🧪 Connessione finale (Client, via Tor sulla porta 2222)

torsocks ssh -i ~/.ssh/id_ed25519_stealth-ssh -p 2222 netsec@fjiswfc5qssgycfnt4g4zrwt4k7rdi7ze4v5gxvdfwvk75dselqvezad.onion

✅ Se accedi con successo, il server è correttamente configurato per accettare connessioni via chiave pubblica attraverso rete Tor, sulla porta 2222.

🔒 Nota: Il server è ancora raggiungibile anche tramite IP. La restrizione completa all’accesso via Tor sarà trattata nella Parte 3 con l’applicazione di firewall e regole avanzate.

Prossimo step: Firewall, Fail2Ban e Watchdog nella Parte 3.