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.