Proteggere passo dopo passo un nuovo VPS Ubuntu
Proteggi un nuovo VPS Ubuntu aggiornandolo, creando un amministratore nominativo, verificando l’accesso SSH con chiave, limitando i servizi esposti, attivando il firewall host e predisponendo monitoraggio e backup. Esegui le modifiche nell’ordine indicato, mantieni disponibile la console del fornitore e non chiudere la sessione SSH originale finché una seconda connessione non riesce.
Dati principali
- Si applica a
- Versioni supportate di Ubuntu Server con systemd e OpenSSH
- Salvaguardia principale
- Mantenere l’accesso console e provare una seconda sessione
- Autenticazione
- Chiave SSH con passphrase per un utente nominativo
- Recupero
- Backup indipendente e ripristino collaudato
Aggiornare e ispezionare prima di cambiare l’accesso
Crea uno snapshot del fornitore soltanto se la piattaforma lo offre e se sai che non è un backup indipendente. Accedi con il metodo iniziale documentato, conferma l’immagine del sistema operativo e applica gli aggiornamenti dei repository con sudo apt update seguito da sudo apt full-upgrade. Leggi le richieste prima di accettare la sostituzione dei file di configurazione, quindi esegui sudo reboot se necessario per il kernel o un componente essenziale.
Riconnettiti e censisci i servizi in ascolto con sudo ss -tulpn. Ogni porta esposta deve avere un responsabile e uno scopo. Un’immagine cloud minima di Ubuntu può differire da un’immagine installata, quindi non presumere quali servizi siano attivi. Registra la configurazione iniziale prima di installare lo stack applicativo.
- Usa soltanto repository e chiavi che hai deciso di considerare affidabili.
- Rimuovi il software inutilizzato dopo aver verificato che non sia una dipendenza.
- Pianifica gli aggiornamenti, senza lasciare il primo upgrade come evento isolato.
Creare un amministratore nominativo e verificare le chiavi SSH
Crea un account separato con sudo adduser deploy, sostituendo deploy con il nome scelto, quindi concedi i privilegi amministrativi con sudo usermod -aG sudo deploy. Aggiungi la parte pubblica della chiave SSH al file ~/.ssh/authorized_keys dell’utente tramite la funzione del fornitore o ssh-copy-id. Non caricare mai il file della chiave privata.
Apri un secondo terminale e prova ssh deploy@SERVER_IP. Verifica che sudo -v funzioni. Solo dopo questa prova valuta se disabilitare l’accesso root diretto e la password. Modifica un file aggiuntivo con sudoedit /etc/ssh/sshd_config.d/60-local-hardening.conf, imposta PermitRootLogin no e PasswordAuthentication no, convalida con sudo sshd -t, quindi ricarica con sudo systemctl reload ssh. Mantieni aperta la sessione esistente e riprova.
- Sostituisci espressamente tutti i nomi e gli indirizzi di esempio.
- Usa una passphrase locale e un gestore di password o agente sicuro.
- Se la convalida fallisce, correggi il file e non ricaricare SSH.
Consentire soltanto i servizi di rete necessari
UFW offre una comoda interfaccia al firewall host di Ubuntu. Verifica prima che SSH usi la porta prevista. Autorizzala con sudo ufw allow OpenSSH; se hai cambiato intenzionalmente la porta, crea la regola corrispondente. Esamina lo stato previsto con sudo ufw status verbose, abilita con sudo ufw enable e prova l’accesso da un nuovo terminale prima di chiudere quello vecchio.
Aggiungi le porte applicative soltanto quando il servizio è installato e pronto. Per un server web si tratta spesso di TCP 80 e 443, ma non esiste un elenco universale. Il firewall del fornitore e UFW possono integrarsi: documentali entrambi, affinché chi gestisce un incidente sappia quale livello ha bloccato il traffico.
- Non abilitare da remoto un firewall deny-by-default senza una regola che consenta SSH.
- Associa i database privati a interfacce locali o private.
- Dopo la distribuzione del software, esegui di nuovo
sudo ss -tulpn.
Trasformare l’hardening in una routine operativa
Installa e controlla gli aggiornamenti automatici di sicurezza con sudo apt install unattended-upgrades, quindi configurali secondo le politiche di manutenzione e riavvio. Monitora disco, memoria, errori di autenticazione, stato dei servizi, scadenza dei certificati e risultati dei backup. Non esporre un agente di monitoraggio senza autenticazione e restrizioni di rete.
Crea un backup indipendente e versionato e ripristinalo in un sistema di prova isolato. Conserva codici di recupero e istruzioni della console separatamente dal VPS. Le impostazioni di sicurezza evolvono: prima della produzione confronta questa checklist generale con la documentazione Ubuntu aggiornata e le esigenze dell’applicazione.
- Rivedi periodicamente account e chiavi degli amministratori.
- Applica patch alle applicazioni oltre che al sistema operativo.
- Documenta un percorso di recupero prima di rimuovere un metodo di accesso.
Fonti
Domande frequenti
Devo cambiare la porta SSH?
Può ridurre il rumore delle scansioni ordinarie, ma non sostituisce autenticazione a chiave, patch, controlli di accesso e monitoraggio. Se la cambi, aggiorna ogni firewall e prova prima di chiudere la sessione.
Posso disabilitare subito l’accesso root?
Solo dopo che un utente nominativo si autentica con chiave, ottiene i privilegi sudo necessari e si riconnette in una sessione separata. Mantieni il recupero tramite console.
UFW basta a proteggere il VPS?
No. Il firewall limita la raggiungibilità di rete; non corregge software vulnerabile, non protegge credenziali sottratte, non mette in sicurezza la logica applicativa e non sostituisce i backup.