Metti al sicuro il tuo VPS: una checklist per i primi 10 minuti
Scritto dal team ApexVPS • Ultimo aggiornamento: luglio 2026 • 9 min di lettura
Un nuovo VPS Linux viene sondato da bot automatizzati entro pochi minuti dalla messa online, quindi la mossa più intelligente è eseguire una breve checklist ripetibile per proteggere un VPS prima di installare qualsiasi altra cosa. Questa guida è quella checklist: una routine pratica per i primi 10 minuti che puoi seguire su qualsiasi nuovo server Ubuntu o Debian per creare un utente non root, bloccare SSH, attivare un firewall e chiudere la porta agli accessi brute-force. Ogni comando qui sotto è standard e sicuro da copiare, e nessuno richiede strumenti speciali: basta il tuo terminale e qualche minuto.
Segui i passaggi in ordine. Ognuno si basa sul precedente, e alla fine avrai un server molto più difficile da violare rispetto all'immagine predefinita con cui hai iniziato.
Perché tutta questa fretta? Lo spazio IPv4 pubblico viene scansionato continuamente. Motori di ricerca per dispositivi connessi a Internet, insieme a innumerevoli botnet, catalogano nuovi host e provano credenziali predefinite 24 ore su 24. Il divario tra "il server è attivo" e "il server viene attaccato" si misura in minuti, non in giorni. Spendere dieci minuti concentrati su queste basi ti toglie dal gruppo dei bersagli facili che gli strumenti automatizzati adorano, e non costa nulla oltre alla tua attenzione.
Prima di iniziare
Avrai bisogno dell'accesso SSH al tuo nuovo server e dell'indirizzo IP che il provider ti ha inviato via email. Su ApexVPS ogni piano include accesso root completo, quindi puoi completare da solo questa intera procedura di hardening. Apri un terminale e connettiti come root (o con l'utente predefinito creato dall'immagine):
ssh root@your_server_ip
Una regola conta più di ogni altra: non disabilitare mai un metodo di accesso finché non hai confermato che la sostituzione funziona. Tieni aperta la tua prima sessione SSH mentre ne testi una seconda. Se qualcosa va storto, quella sessione aperta è la tua rete di sicurezza.
Passaggio 1 — Aggiorna il sistema
Il software aggiornato è la base di ogni checklist di sicurezza VPS. Inizia aggiornando l'indice dei pacchetti e installando le ultime correzioni di sicurezza:
sudo apt update && sudo apt upgrade -y
Su una nuova immagine spesso vengono scaricati decine di aggiornamenti, incluse patch per kernel e OpenSSH. Se il kernel è stato aggiornato, pianifica un riavvio con sudo reboot una volta completato il resto della checklist.
Passaggio 2 — Crea un utente non root con sudo
Accedere direttamente come root è rischioso: un singolo comando sbagliato viene eseguito con privilegi illimitati e root è il primo account che ogni attaccante prova. Crea un utente dedicato e concedigli i diritti amministrativi tramite sudo:
adduser deploy
usermod -aG sudo deploy
Il primo comando crea l'account e richiede una password; il secondo lo aggiunge al gruppo sudo. Sostituisci deploy con il nome che preferisci. D'ora in poi accederai come questo utente e eleverai a root solo quando un comando specifico lo richiede.
Passaggio 3 — Configura l'autenticazione con chiave SSH
Le password possono essere indovinate; le chiavi SSH non possono. Genera una coppia di chiavi moderna Ed25519 sul tuo computer locale (non sul server):
ssh-keygen -t ed25519 -C "[email protected]"
Accetta la posizione predefinita e, idealmente, imposta una passphrase. Poi copia la parte pubblica sul tuo nuovo utente sul server:
ssh-copy-id deploy@your_server_ip
Se ssh-copy-id non è disponibile, crea manualmente la directory e il file sul server, incolla la tua chiave pubblica in ~/.ssh/authorized_keys e correggi i permessi:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Ora apri un nuovo terminale e verifica di poter accedere senza password: ssh deploy@your_server_ip. Non proseguire finché non funziona — il passaggio successivo dipende da questo.
Passaggio 4 — Blocca SSH: disabilita il login root e le password
Con l'accesso via chiave dimostrato, disattiva le opzioni più deboli. Modifica la configurazione del demone SSH:
sudo nano /etc/ssh/sshd_config
Imposta (o decommenta e modifica) queste tre direttive:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Valida il file prima di applicarlo, poi riavvia il servizio:
sudo sshd -t
sudo systemctl restart ssh
Il controllo sshd -t intercetta errori di battitura che potrebbero altrimenti chiuderti fuori. Dopo il riavvio, testa una nuova connessione in un terminale separato. Il login root via SSH e il tentativo di password sono ora fuori gioco.
Cambia la porta SSH (opzionale)
Spostare SSH dalla porta 22 non fermerà un attaccante determinato, ma ti nasconde dal rumore di fondo costante dei bot che scansionano solo la porta predefinita. Se lo desideri, aggiungi una riga come Port 2222 a /etc/ssh/sshd_config. Importantissimo: apri la nuova porta nel firewall (passaggio successivo) prima di riavviare SSH, altrimenti rimarrai bloccato.
Passaggio 5 — Abilita un firewall con UFW
Un firewall garantisce che solo le porte che intendi esporre siano raggiungibili. Ubuntu e Debian includono UFW (Uncomplicated Firewall), che è esattamente ciò che promette il nome. Imposta una policy predefinita sensata e consenti SSH prima di abilitarlo:
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose
Il profilo OpenSSH apre la porta 22. Se hai spostato SSH nel passaggio precedente, consenti la nuova porta con sudo ufw allow 2222/tcp. Hai un sito web? Aggiungi HTTP e HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Tutto il resto rimane chiuso per impostazione predefinita, che è esattamente ciò che vuoi su un server pubblico.
Passaggio 6 — Installa fail2ban per fermare la forza bruta
Anche con le chiavi, gli attaccanti continueranno a martellare la tua porta SSH. fail2ban monitora i log e banna temporaneamente qualsiasi IP che fallisce troppe volte. Installalo e abilitalo:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
Per personalizzare le regole, copia la configurazione predefinita in una sovrascrittura locale, così gli aggiornamenti non sovrascriveranno mai le tue modifiche, quindi modificala:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Nella sezione [sshd] puoi regolare valori come maxretry e bantime. Ricarica con sudo systemctl restart fail2ban e controlla chi è attualmente in jail usando sudo fail2ban-client status sshd.
Passaggio 7: attiva gli aggiornamenti di sicurezza automatici
Le falle di sicurezza vengono scoperte di continuo, e quelle che fanno male sono le patch che non hai mai applicato. Il pacchetto unattended-upgrades installa gli aggiornamenti importanti per te, secondo una pianificazione:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
Scegli "Sì" quando richiesto e Ubuntu o Debian applicheranno tranquillamente gli aggiornamenti di sicurezza in background. Questo singolo passaggio riduce il divario tra la divulgazione di una vulnerabilità e la protezione del tuo server.
Passaggio 8: disattiva i servizi inutilizzati e l'hardening di base
Ogni servizio in ascolto sulla rete è una potenziale via d'accesso, quindi rimuovi tutto ciò che non ti serve. Elenca cosa è effettivamente in esecuzione e cosa è associato a una porta:
sudo systemctl list-units --type=service --state=running
sudo ss -tulpn
Se individui un servizio che non stai utilizzando, disattivalo e fermalo:
sudo systemctl disable --now <service-name>
Alcuni altri piccoli interventi completano la checklist:
- Mantieni preciso l'orologio — timestamp affidabili rendono i tuoi log affidabili;
timedatectlconferma che la sincronizzazione dell'ora è attiva. - Rivedi l'accesso sudo — solo gli account che hanno realmente bisogno di root dovrebbero essere nel gruppo
sudo. - Leggi i tuoi log —
sudo journalctl -u sshmostra esattamente chi ha bussato alla tua porta.
Per una visione più approfondita a livello di framework della configurazione sicura, la Fondazione OWASP pubblica linee guida ampiamente rispettate su hardening e sicurezza, che vale la pena aggiungere ai segnalibri man mano che la tua configurazione cresce.
La tua checklist di 10 minuti a colpo d'occhio
Tieni questo riepilogo a portata di mano: è l'intera routine per proteggere un VPS in formato checklist, così puoi ripeterla in un paio di minuti su ogni nuovo server che crei:
- Aggiorna tutti i pacchetti e riavvia se il kernel è cambiato.
- Crea un utente non root e aggiungilo al gruppo
sudo. - Genera una chiave SSH Ed25519 e copia la chiave pubblica sul server.
- Conferma che l'accesso tramite chiave funziona in un secondo terminale.
- Disabilita l'accesso root e l'autenticazione tramite password in
sshd_config. - Facoltativamente, sposta SSH su una porta non standard.
- Abilita UFW, nega le connessioni in entrata per impostazione predefinita e consenti solo le porte che utilizzi.
- Installa fail2ban per bloccare automaticamente i tentativi di forza bruta.
- Attiva gli aggiornamenti di sicurezza automatici.
- Disattiva i servizi inutilizzati e controlla cosa è in ascolto.
Nessuno di questi passaggi è difficile di per sé, ma saltarne uno lascia un'ovvia lacuna. Eseguendoli insieme formano una solida base che blocca la stragrande maggioranza degli attacchi opportunistici. Da qui puoi aggiungere extra man mano che le tue esigenze crescono: un proxy inverso con TLS, uno strumento di rilevamento delle intrusioni, l'isolamento per servizio con container o un backup off-server tuo, in aggiunta agli snapshot del provider.
Come ApexVPS completa il tuo hardening
La checklist sopra protegge il sistema operativo, ma alcune minacce vivono al di sotto. Gli attacchi volumetrici e i guasti hardware sono gestiti a livello di infrastruttura, ed è qui che il tuo provider conta. Ogni piano ApexVPS include sempre attiva la protezione DDoS, quindi un'ondata di traffico viene assorbita prima che raggiunga il tuo firewall, più backup automatici — giornalieri su Starter Pro e snapshot orari su Business ed Enterprise — così un errore o un compromesso non significa mai ricominciare da zero. Monitoraggio 24/7 e CPU e RAM realmente dedicate significano che un vicino rumoroso non può né rallentarti né diventare un tuo problema.
Puoi vedere l'intero set di protezioni nella panoramica delle funzionalità di ApexVPS e confrontare cosa include ogni piano nella pagina dei piani e prezzi VPS. Se stai blindando una macchina specificamente per eseguire le tue app, la nostra guida VPS per self-hosting si abbina perfettamente a questa checklist. La registrazione richiede solo un'email e il pagamento è solo in criptovaluta tramite OxaPay: Bitcoin, Ethereum, USDT e oltre 30 monete, senza carta di credito, conto bancario o KYC.
Domande frequenti
Qual è la prima cosa da fare per mettere in sicurezza un nuovo VPS?
Aggiorna tutti i pacchetti con sudo apt update && sudo apt upgrade -y, poi crea un utente non root con diritti sudo per smettere di accedere come root. Questi due passaggi chiudono i percorsi di attacco più comuni e dannosi prima di configurare qualsiasi altra cosa.
Devo cambiare la porta SSH predefinita?
È facoltativo. Spostare SSH dalla porta 22 riduce il volume di scansioni automatiche nei log, ma non è una vera sicurezza da solo: autenticazione tramite chiave, firewall e fail2ban fanno il lavoro pesante. Se cambi porta, apri la nuova in UFW prima di riavviare SSH per non rimanere bloccato fuori.
Ho ancora bisogno di un firewall se uso chiavi SSH?
Sì. Le chiavi SSH proteggono solo il servizio SSH; un firewall come UFW controlla tutte le altre porte della macchina. Negare tutto il traffico in ingresso per impostazione predefinita e consentire solo le porte che usi effettivamente è una parte fondamentale di qualsiasi checklist per un VPS sicuro, chiavi o meno.
fail2ban è necessario su un VPS?
È fortemente consigliato. Anche con gli accessi con password disabilitati, i bot continueranno a sondare la tua porta SSH e a ingombrare i log. fail2ban banna automaticamente i recidivi, riducendo il rumore e bloccando la piccola possibilità di un attacco di forza bruta riuscito contro qualsiasi servizio.
ApexVPS include protezione DDoS e backup?
Sì. Ogni piano include protezione DDoS sempre attiva e backup automatici: giornalieri su Starter Pro e snapshot orari su Business e Enterprise, insieme a monitoraggio 24/7. Questi completano il tuo hardening dell'OS coprendo il livello infrastrutturale che non puoi mettere in sicurezza dall'interno del server.