Salta al contenuto
PURPLEDUEL

Hardening di SSH: come proteggere l’accesso remoto al server

Aggiornato il · 3 min di lettura

SSH (Secure Shell) è il modo standard per amministrare un server Linux da remoto, e per questo è uno dei servizi più attaccati: un server esposto a Internet riceve tentativi di login in continuazione, di giorno e di notte. L'hardening è l'insieme delle impostazioni che lo rendono molto più difficile da forzare, senza togliere comodità a chi lo usa legittimamente.

Perché SSH è un bersaglio

Una macchina appena creata sul cloud, con SSH aperto sulla porta 22, comincia a ricevere tentativi automatici dopo pochi minuti. Gli attaccanti usano programmi che provano nomi utente come root, admin o ubuntu con elenchi di password comuni. Se un solo accesso va a buon fine, hanno il controllo del server. Le difese sono semplici: togliere gli accessi che non servono e rendere inutili le password indovinate.

Un esempio concreto: le impostazioni che contano

Il comportamento del servizio si controlla nel file /etc/ssh/sshd_config. Ecco un estratto con le direttive più importanti:

# /etc/ssh/sshd_config (estratto)
# nessun accesso diretto come root
PermitRootLogin no
# solo chiavi, niente password
PasswordAuthentication no
PubkeyAuthentication yes
# solo questi utenti possono entrare
AllowUsers anna marco
# pochi tentativi per connessione e poco tempo per autenticarsi
MaxAuthTries 3
LoginGraceTime 30
# funzioni che non servono, spente
X11Forwarding no

Dopo ogni modifica verifica la sintassi con sudo sshd -t e tieni aperta una seconda sessione mentre ricarichi il servizio: se sbagli una direttiva e ti chiudi fuori, la sessione già aperta ti permette di correggere.

Le altre difese

Cambiare la porta da 22 a un altro numero riduce il rumore nei log ma non è una protezione: chi fa una scansione la trova comunque. Usala come un extra, mai al posto delle misure sopra.

Errori comuni

Continua a leggere