Un VPS appena creato viene scansionato e sondato entro pochi minuti dalla sua messa online. La buona notizia: un'ora di hardening ordinato blocca la stragrande maggioranza degli attacchi opportunistici. Ecco la checklist, nell'ordine che conta, per un nuovo server orientato alla privacy.
1. Blocca subito SSH
Crea un utente non-root con sudo, aggiungi la tua chiave pubblica, poi disabilita l'autenticazione con password e il login come root in sshd_config (PasswordAuthentication no, PermitRootLogin no). Il solo SSH basato su chiavi neutralizza i tentativi di indovinare la password, che costituiscono la maggior parte del rumore che colpisce il tuo server. Riavvia SSH e verifica che una nuova sessione funzioni prima di chiudere quella attuale.

2. Metti un firewall davanti a tutto
Nega di default il traffico in entrata, consenti solo ciò di cui hai bisogno. Con ufw: nega il traffico in entrata, consenti quello in uscita, poi apri la tua porta SSH e le porte specifiche dei servizi che esegui. Un firewall trasforma "ogni porta aperta è un bersaglio" in "esistono solo le porte che hai scelto", riducendo drasticamente la superficie d'attacco.
3. Aggiungi fail2ban
Installa fail2ban per monitorare i log di autenticazione e bannare temporaneamente gli IP che falliscono ripetutamente. Anche con SSH basato solo su chiavi, riduce il rumore nei log e attenua i tentativi di brute-force contro qualsiasi servizio esposto. Le impostazioni predefinite sono sensate; attiva la jail sshd e le jail per i servizi che esegui.
4. Attiva gli aggiornamenti di sicurezza automatici
Abilita unattended-upgrades (Debian/Ubuntu) in modo che le patch di sicurezza arrivino senza che tu debba ricordartene. Il modo più comune in assoluto in cui i server vengono compromessi è una vulnerabilità nota per cui era già disponibile una patch — automatizzare gli aggiornamenti chiude questa finestra mentre dormi.
5. Riduci la superficie d'attacco
Disinstalla i servizi che non usi, vincola a 127.0.0.1 i demoni destinati al solo uso locale, e controlla cosa è in ascolto con ss -tlnp. Ogni servizio in ascolto è un potenziale punto d'ingresso; meno ne esegui ed esponi, meno ci sarà da attaccare. Configura poi dei backup esterni al server, in modo che una compromissione sia recuperabile e non catastrofica.
L'ora, in sintesi
SSH basato solo su chiavi, un firewall a negazione predefinita, fail2ban, aggiornamenti automatici e una superficie di ascolto minima. Niente di esotico, tutto rapido da fare, e insieme bloccano gli attacchi automatizzati che rappresentano quasi tutte le compromissioni reali. Fallo prima di distribuire qualsiasi cosa che conti davvero.