OffshoreVps
Sicurezza25 set 20269 min di letturaDi il team di OffshoreVps

Come mettere in sicurezza un nuovo VPS Linux in 15 minuti

Una checklist da copiare e incollare per un VPS Ubuntu o Debian appena creato: chiavi SSH, un utente non root, un firewall, fail2ban, aggiornamenti automatici e monitoraggio di base.

Una nuova VPS con un indirizzo IP pubblico inizia a ricevere tentativi di accesso automatici nel giro di pochi minuti. Nulla di personale: i bot scansionano semplicemente ogni indirizzo. Pochi passaggi di base ne bloccano quasi tutti. Questa checklist presuppone un server nuovo con Ubuntu 24.04 o Debian 12/13 e richiede circa quindici minuti.

Finestra del terminale su un VPS che mostra i comandi usati per mettere in sicurezza un nuovo VPS, a partire da “apt update && apt full-upgrade -y”
Il tipo di comandi che eseguirai sul tuo server in questa guida.

1. Aggiorna prima di tutto

apt update && apt full-upgrade -y
reboot

Accedi di nuovo dopo il riavvio. Parti sempre da un sistema completamente aggiornato.

2. Crea un utente non root

Lavorare sempre come root rende pericoloso ogni errore di battitura. Crea un utente normale con diritti sudo:

adduser deploy
usermod -aG sudo deploy

3. Configura le chiavi SSH

Sul tuo computer, crea una coppia di chiavi se non ne hai una e copia la metà pubblica sul server:

ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP

Apri un secondo terminale e verifica di poter accedere come deploy con la chiave prima di proseguire. Non chiudere la sessione originale finché non ci sei riuscito.

4. Disattiva l’accesso con password e come root

Modifica la configurazione del demone SSH:

sudo nano /etc/ssh/sshd_config.d/99-hardening.conf

Inserisci queste righe nel file:

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

Controlla la sintassi e ricarica:

sudo sshd -t && sudo systemctl reload ssh

5. Abilita un firewall

UFW è l’opzione più semplice. Consenti prima SSH, poi attiva il firewall:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp   # only if you run a web server
sudo ufw enable
sudo ufw status verbose

Apri porte solo per i servizi che esegui davvero. Tutto il resto resta chiuso per impostazione predefinita.

I passaggi di questa guida in ordine: 1. 1. Aggiorna prima tutto; 2. 3. Configura le chiavi SSH; 3. 5. Abilita un firewall; 4. 6. Aggiungi fail2ban; 5. 8. Controlla cosa è in ascolto; 6. Cosa fare dopo
I passaggi di questa guida, in ordine.

6. Aggiungi fail2ban

Fail2ban monitora i log e blocca temporaneamente gli indirizzi che continuano a fallire l’accesso.

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Le impostazioni predefinite sono adeguate per SSH. Poiché hai già disattivato le password, questo serve soprattutto a ridurre il rumore nei log e lo spreco di CPU.

7. Attiva gli aggiornamenti di sicurezza automatici

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Questo installa automaticamente le patch di sicurezza. Riavvia ogni tanto per gli aggiornamenti del kernel, oppure lascia che lo faccia lo strumento in un orario tranquillo.

8. Controlla cosa è in ascolto

sudo ss -tulpn

Tutto ciò che è in ascolto su 0.0.0.0 e che non ti aspettavi merita un’indagine. I servizi destinati solo all’uso locale (database, cache, pannelli di amministrazione) dovrebbero restare in ascolto su 127.0.0.1.

9. Monitoraggio di base e backup

  • Controlla i log con journalctl -u ssh --since today ogni tanto.
  • Controlla le risorse con htop e df -h così un disco pieno o un processo fuori controllo non ti coglie di sorpresa.
  • Fai i backup. Crea uno snapshot del server prima di modifiche importanti e conserva una copia fuori dal server di tutto ciò che non puoi ricreare.

Cosa fare dopo

Ora hai un server molto più difficile da violare rispetto a quello predefinito. Da qui, tieni aggiornato il software, esegui ogni servizio come utente non privilegiato e esponi solo ciò che serve. Se vuoi un tunnel privato verso il server, la nostra guida a configurare WireGuard è un buon passo successivo.

Domande frequenti

Cosa dovrei fare per prima cosa su un nuovo VPS?

Aggiorna i pacchetti, crea un utente non root, passa alle chiavi SSH, disattiva l’accesso con password e abilita un firewall.

Dovrei cambiare la porta SSH?

Riduce il rumore nei log ma non è vera sicurezza. Le chiavi e un firewall contano molto di più.