Guida PepperTools
Tecnologia e server

Configurare e mettere in sicurezza un vServer Debian: guida passo passo per principianti (Parte 1 di 3)

Parte 1 della serie „Il tuo server – da 0 a sicuro": hai noleggiato un vServer – e adesso? Questa guida per principianti porta il tuo server Debian 12 a una base sicura: aggiornamento del sistema, utente sudo, SSH con chiave, firewall, Fail2ban e aggiornamenti di sicurezza automatici. Ogni passo da copiare.

Configurare e mettere in sicurezza un vServer Debian: guida passo passo per principianti (Parte 1 di 3)

Configurare e mettere in sicurezza un vServer Debian: guida passo passo per principianti (Parte 1 di 3)

Serie „Il tuo server – da 0 a sicuro" · 3 parti:

  1. Configurare & mettere in sicurezza un vServer DebianSei qui
  2. Installare & configurare Froxlor
  3. Configurare bene l'e-mail: SPF, DKIM & DMARC

Questa è la Parte 1. Porta il tuo server appena noleggiato a uno stato di base sicuro. Su questo server, nella Parte 2 installeremo il pannello di gestione Froxlor e nella Parte 3 configureremo l'invio di e-mail.

Debian vServer einrichten & absichern

Indice


Hai appena noleggiato un vServer (VPS) e ti chiedi: „E adesso?" È proprio qui che iniziamo. Questa guida è pensata per principianti assoluti. Spieghiamo con parole semplici cosa facciamo e perché – e ogni comando puoi semplicemente copiarlo e incollarlo. Alla fine avrai un server aggiornato, protetto dagli attacchi più comuni.

Usiamo Debian 12 (Bookworm), uno dei sistemi server più diffusi e stabili. Se usi Ubuntu, quasi tutti i comandi sono identici.

Importante: In tutti i comandi sostituisci i segnaposto con i tuoi valori reali – SERVER-IP con l'indirizzo IP del tuo server (nell'e-mail di conferma del provider) e nome-utente con un nome a scelta.

Prerequisiti

  • Un vServer/VPS noleggiato con Debian 12. Non ne hai ancora uno? Provider: ad es. IONOS, Hetzner o webtropia.
  • L'indirizzo IP e la password root del server (ricevuti via e-mail dal provider).
  • Un terminale sul tuo computer: preinstallato su macOS e Linux („Terminale"), su Windows usa PowerShell (preinstallato) o PuTTY.

Niente di più. Iniziamo.

Passo 1: Connettersi al server via SSH

„SSH" è una connessione remota cifrata al tuo server – digiti i comandi sul tuo computer, vengono eseguiti sul server. Apri il terminale e connettiti come utente root:

ssh root@SERVER-IP

La prima volta ti viene chiesto se ti fidi del server – digita yes e premi Invio. Poi inserisci la password root (la digitazione è invisibile, è normale). Una volta connesso, la riga appare così:

root@tuo-server:~#

Congratulazioni – sei dentro. (Un'introduzione dettagliata a SSH si trova nella wiki di Debian.)

Passo 2: Aggiornare il sistema

Un server appena installato contiene spesso pacchetti obsoleti con falle note. Il primo passo è quindi sempre: aggiornare tutto. Con questo comando il server scarica l'elenco degli aggiornamenti, li installa, rimuove i pacchetti non più necessari e fa pulizia:

apt update && apt full-upgrade -y && apt autoremove -y && apt clean

Può richiedere qualche minuto. Se compare un messaggio che indica la necessità di riavviare, riavvia il server:

reboot

Dopo il riavvio la connessione si interrompe per un attimo. Attendi ~30 secondi e riconnettiti con ssh root@SERVER-IP.

Passo 3: Nome host, fuso orario e lingua

Affinché i log abbiano marche temporali corrette e il server abbia un nome ordinato, impostiamo tre piccole cose.

Nome host (un nome per il server, ad es. web01):

hostnamectl set-hostname web01

Impostare il fuso orario (qui: Europa/Roma; adatta):

timedatectl set-timezone Europe/Rome

Installare i pacchetti lingua (locales) e generare l'UTF-8:

apt install -y locales
sed -i 's/# it_IT.UTF-8/it_IT.UTF-8/' /etc/locale.gen
locale-gen

Verifica il risultato:

timedatectl

Dovrebbe comparire „Time zone: Europe/Rome".

Passo 4: Creare un utente con privilegi sudo

Lavorare sempre come root è pericoloso – un solo errore di battitura può danneggiare l'intero sistema. Meglio: un utente normale che ottiene i diritti di amministratore solo quando serve, tramite la parola precedente sudo.

Crea l'utente (sostituisci nome-utente) e imposta una password robusta quando richiesto:

adduser nome-utente

Le altre domande (nome, telefono…) puoi saltarle con Invio. Ora assegna i privilegi sudo all'utente:

usermod -aG sudo nome-utente

Provalo prima di proseguire. Apri una seconda finestra del terminale e accedi con il nuovo utente:

ssh nome-utente@SERVER-IP

Verifica che sudo funzioni:

sudo whoami

Se dopo aver inserito la password compare root, va tutto bene. Lascia aperta questa seconda finestra – ci serve come rete di sicurezza nel passo successivo.

Passo 5: Mettere in sicurezza SSH (disattivare il login root, login con chiave)

Ora rendiamo l'accesso remoto molto più sicuro. Due misure: l'accesso con chiave SSH invece della password e nessun login root diretto.

Attenzione – rischio di blocco: In questo passo modifichiamo l'accesso SSH. Lascia assolutamente aperta la finestra funzionante del Passo 4. Così potrai rientrare se qualcosa va storto.

Consiglio Windows – mi servono PuTTY e Pageant? Non per forza. Windows 10/11 include già OpenSSH, e i comandi seguenti (ssh-keygen, ssh) funzionano direttamente in PowerShell – come su macOS/Linux. Se preferisci gli strumenti PuTTY (o hai un Windows più vecchio), procedi così:

>

1. Genera una chiave con PuTTYgen: imposta „Type of key" su EdDSA → Ed25519, clicca Generate, muovi il mouse. Salva la chiave privata come .ppk; copia la chiave pubblica mostrata (campo „Public key for pasting…") negli appunti. 2. Metti la chiave pubblica sul server nel file ~/.ssh/authorized_keys del tuo utente (una riga). 3. Carica la chiave privata in Pageant (l'agente chiavi di PuTTY) – così non devi riselezionarla a ogni connessione. 4. Connettiti con PuTTY (host: nome-utente@SERVER-IP).

>

PuTTYgen e Pageant sono nel pacchetto PuTTY: putty.org. Le due vie sono equivalenti – qui restiamo su OpenSSH integrato perché richiede meno passaggi.

5.1 Genera una chiave sul tuo computer. Esegui questo comando in un terminale sul tuo PC (non sul server) e conferma le domande con Invio:

ssh-keygen -t ed25519 -C "mio-server"

5.2 Copia la chiave pubblica sul server (sempre dal tuo PC):

ssh-copy-id nome-utente@SERVER-IP

Su Windows senza ssh-copy-id usa invece:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh nome-utente@SERVER-IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

5.3 Test: Riconnettiti – ora non dovrebbe più essere richiesta alcuna password:

ssh nome-utente@SERVER-IP

5.4 Disattiva il login con password e il login root. Sul server, modifica la configurazione SSH con l'editor nano:

sudo nano /etc/ssh/sshd_config

Cerca le righe seguenti (o aggiungile) e impostale esattamente così:

PermitRootLogin no
PasswordAuthentication no

Salva Ctrl+O, Invio, chiudi Ctrl+X. Poi ricarica il servizio SSH:

sudo systemctl restart ssh

Importante: Non chiudere ancora la finestra attuale. Aprine una nuova e verifica che l'accesso come nome-utente funzioni ancora – e che ssh root@SERVER-IP venga ora rifiutato. Solo allora il passo è riuscito. Approfondimento nella wiki Debian su SSH.

Passo 6: Configurare il firewall (ufw)

Un firewall blocca tutte le porte di rete tranne le poche che servono davvero. Usiamo ufw („Uncomplicated Firewall") – semplice e adatto ai principianti.

Installa e imposta le regole di base (blocca tutto il traffico in entrata, consenti quello in uscita):

sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing

Consenti l'accesso SSH prima dell'attivazione – altrimenti ti blocchi fuori:

sudo ufw allow OpenSSH

Per il futuro server web (Froxlor nella Parte 2) apriamo anche le porte web:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Ora attiva il firewall e verifica lo stato:

sudo ufw enable
sudo ufw status verbose

Conferma la domanda con y. Nell'elenco di stato dovrebbero comparire come consentiti solo SSH (22), 80 e 443. Dettagli su ufw nella Ubuntu Server Guide.

Passo 7: Protezione anti-brute-force con Fail2ban

Gli aggressori provano migliaia di password in modo automatizzato. Fail2ban rileva troppi tentativi falliti e blocca temporaneamente l'indirizzo IP attaccante. Installa e attiva:

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban

Creiamo una configurazione propria affinché gli aggiornamenti non la sovrascrivano:

sudo nano /etc/fail2ban/jail.local

Incolla il contenuto seguente (blocca un IP dopo 5 tentativi falliti per 1 ora):

[sshd]
enabled = true
maxretry = 5
bantime = 1h
findtime = 10m

Salva (Ctrl+O, Invio, Ctrl+X) e riavvia il servizio:

sudo systemctl restart fail2ban

Lo stato puoi verificarlo in qualsiasi momento:

sudo fail2ban-client status sshd

Passo 8: Aggiornamenti di sicurezza automatici

Le falle di sicurezza vengono scoperte di continuo. Affinché il server installi automaticamente le patch importanti, configuriamo unattended-upgrades:

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

Nella domanda scegli „Yes". Tutto qui – d'ora in poi il server installa da solo gli aggiornamenti di sicurezza. Maggiori info nella wiki Debian su UnattendedUpgrades.

Checklist: il tuo server è sicuro?

Prima di proseguire, controlla rapidamente:

  • [ ] Sistema aggiornato (apt update && apt full-upgrade)
  • [ ] Nome host, fuso orario e locale impostati
  • [ ] Utente proprio con privilegi sudo funzionante
  • [ ] Login con chiave SSH funzionante, login con password disattivato
  • [ ] ssh root@SERVER-IP rifiutato
  • [ ] Firewall (ufw) attivo, aperte solo 22/80/443
  • [ ] Fail2ban in esecuzione
  • [ ] Aggiornamenti di sicurezza automatici attivi

Domande frequenti (FAQ)

Mi sono bloccato fuori – e adesso? Quasi tutti i provider offrono nell'area clienti una funzione „VNC" o „console", con cui puoi accedere direttamente senza SSH e annullare le impostazioni.

Devo usare le chiavi SSH o basta una password? Le chiavi sono molto più sicure e fortemente consigliate. Se vuoi assolutamente restare con una password, lascia PasswordAuthentication su yes – usa però una password molto lunga e soprattutto Fail2ban.

Funziona anche su Ubuntu? Sì, in modo quasi identico. Solo in versioni molto vecchie alcuni nomi di pacchetto possono differire.

Servono conoscenze di Linux? No. Se copi i comandi e sostituisci i segnaposto, ce la fai. Un po' di pazienza aiuta la prima volta.

Come si prosegue?

Il tuo server ora è sicuro. Nella parte successiva installiamo Froxlor, un pannello di gestione gratuito con cui gestisci facilmente domini, siti web, certificati SSL e database tramite un'interfaccia – senza console:

👉 Parte 2: Installare & configurare Froxlor

E nella Parte 3: Configurare bene l'e-mail: SPF, DKIM & DMARC facciamo in modo che le tue e-mail vengano recapitate in sicurezza.

Tra l'altro: se preferisci far sviluppare software o hai bisogno di soluzioni server/web personalizzate, PepperTools ti aiuta volentieri.

Fonti

Aggiornato a giugno 2026. Comandi e nomi dei pacchetti possono cambiare con le nuove versioni – fa fede la documentazione ufficiale.

Gestire le fatture piu facilmente

Easy Invoice unisce preventivi, fatture e gestione clienti nel cloud.

Prova Easy Invoice

Versioni linguistiche

EN Set up and secure a Debian vServer: a beginner's step-by-step guide (Part 1 of 3) FR Configurer et sécuriser un vServer Debian : guide pas à pas pour débutants (Partie 1 sur 3) ES Configurar y asegurar un vServer Debian: guía paso a paso para principiantes (Parte 1 de 3) DE Debian-vServer einrichten und absichern: Schritt-für-Schritt für Einsteiger (Teil 1 von 3) TR Debian vServer kurulumu ve güvenli hale getirme: yeni başlayanlar için adım adım (3'ün 1. Bölümü) PL Konfiguracja i zabezpieczenie serwera Debian vServer: krok po kroku dla początkujących (Część 1 z 3) RU Настройка и защита vServer на Debian: пошагово для новичков (Часть 1 из 3) NL Een Debian-vServer instellen en beveiligen: stap-voor-stap voor beginners (Deel 1 van 3)