SSH esposto su Internet: chiavi, niente root e poche altre impostazioni per rendere inutili i bot

Ogni server con SSH aperto su Internet riceve migliaia di tentativi di accesso al giorno. Chiavi al posto delle password, root disabilitato, tentativi limitati e aggiornamenti costanti chiudono la porta ai bot.

Mettere in sicurezza SSH: le impostazioni che ogni server Linux dovrebbe avere

Prova a guardare il file /var/log/auth.log di un server appena messo online, o l’output di journalctl -u ssh. Dopo pochi minuti trovi già i primi tentativi: utenti come root, admin, test, provati con elenchi di password comuni. In un giorno diventano migliaia. Sono bot, non persone, e non cercano te: cercano chiunque abbia lasciato la porta socchiusa.

Per rendere inutile tutto quel lavoro bastano poche impostazioni. La prima è smettere di usare le password. Genera sul tuo computer una coppia di chiavi, preferibilmente Ed25519, proteggi la privata con una passphrase e copia la pubblica sul server con ssh-copy-id. Quando hai verificato che l’accesso con chiave funziona, modifica /etc/ssh/sshd_config:

PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no

Mentre lo fai tieni aperta una sessione e prova il nuovo accesso da un secondo terminale: è il modo più semplice per non chiuderti fuori dal tuo stesso server.

Chi entra, e quante volte può sbagliare

Con root disattivato accedi con un utente personale e usi sudo per le operazioni amministrative, così ogni azione resta tracciata a nome di chi l’ha fatta. AllowUsers o AllowGroups restringono ulteriormente chi può collegarsi. Poi limita i tentativi: fail2ban legge i log e blocca per un periodo gli indirizzi che sbagliano troppo, mentre valori bassi di MaxAuthTries e LoginGraceTime riducono il tempo concesso a ciascuno. Se puoi, consenti SSH dal firewall solo dagli IP dell’ufficio o tramite VPN.

La porta 2222 non è una serratura

Spostare SSH dalla 22 a un’altra porta pulisce i log, e già questo ha un valore. Ma le scansioni la trovano comunque: va bene come aggiunta, mai al posto delle chiavi. Molto più utile tenere aggiornato OpenSSH insieme al resto del sistema; su Debian e Ubuntu unattended-upgrades installa da solo gli aggiornamenti di sicurezza.

Un’ultima abitudine, quella che si dimentica più spesso: apri ogni tanto il file authorized_keys e chiediti se tutte quelle chiavi appartengono a persone che devono ancora entrare.

Condividi LinkedIn X Telegram

Continua a leggere