Mettere in sicurezza un VPS

Database di conoscenze

Mettere in sicurezza un VPS


Icons/System/eye-open Created with Sketch. 14173 viste 21.01.2026 Cloud / Server Privati Virtuali
Informazioni sulla traduzione

Questa traduzione è stata generata automaticamente dal nostro partner SYSTRAN. I contenuti potrebbero presentare imprecisioni, ad esempio la nomenclatura dei pulsanti o alcuni dettagli tecnici. In caso di dubbi consigliamo di fare riferimento alla versione inglese o francese della guida. Per aiutarci a migliorare questa traduzione, utilizza il pulsante "Contribuisci" di questa pagina.

Obiettivo

Al momento dell'ordine del tuo VPS, puoi scegliere una distribuzione o un sistema operativo da preinstallare. Il server è quindi pronto per essere utilizzato dopo la consegna. Tuttavia, in qualità di amministratore, è compito dell'utente attuare misure che garantiscano la sicurezza e la stabilità del sistema.

Questa guida ti mostra come proteggere un server basato su GNU/Linux.

OVHcloud mette a disposizione i server, ma non è autorizzata ad accedervi e non si occupa quindi della loro amministrazione. Garantire quotidianamente la gestione software e la sicurezza di queste macchine è quindi responsabilità dell’utente. Questa guida ti aiuta a muovere i primi passi nell’utilizzo del tuo VPS. Tuttavia, in caso di difficoltà o dubbi relativi ad amministrazione e sicurezza, ti consigliamo di contattare un fornitore specializzato. Per maggiori informazioni consulta la sezione “Per saperne di più” di questa guida.

Indice:

Prerequisiti

  • Un VPS nel tuo account OVHcloud
  • Avere un accesso amministratore (sudo) al server via SSH

Procedura

È una guida generale basata sui sistemi operativi Ubuntu, Debian e CentOS. Alcuni comandi devono essere adattati alla distribuzione utilizzata e alcuni trucchi ti invitano a utilizzare strumenti di terze parti. In caso di necessità, consulta la documentazione ufficiale relativa a queste applicazioni.

Per configurare il tuo primo VPS OVHcloud, consulta la nostra guida sulla messa in servizio di un VPS.

Questi esempi presuppongono la connessione come utente con elevate autorizzazioni.

Aggiorna il tuo sistema operativo

Gli sviluppatori di distribuzioni e di sistemi operativi propongono frequenti aggiornamenti di pacchetti, molto spesso per ragioni di sicurezza.
Garantire l'aggiornamento della distribuzione o del sistema operativo è un elemento essenziale per proteggere il VPS.

Questo aggiornamento avverrà in due step:

  • Aggiornamento dell'elenco dei pacchetti:
sudo apt update
  • Aggiornamento dei pacchetti effettivi:
sudo apt upgrade
sudo apt update && sudo apt upgrade

Il comando è identico a Ubuntu perché sia Debian che Ubuntu utilizzano apt.

sudo yum update

Su CentOS, il comando per aggiornare il sistema operativo utilizza yum o dnf, a seconda della versione.

Questa operazione deve essere effettuata regolarmente per mantenere un sistema aggiornato.

Creare e utilizzare una chiave SSH

L'autenticazione tramite chiave SSH è uno dei metodi più efficaci per proteggere l'accesso al tuo VPS.
A differenza dell'autenticazione tramite password, si basa su una coppia di chiavi crittografiche e permette di ridurre notevolmente i rischi di attacchi per forza bruta.

Ti consigliamo vivamente di configurare una chiave SSH già alla prima connessione al tuo server, e di privilegiare questo metodo per gli accessi amministrativi.

A seconda del tuo ambiente e dello strumento utilizzato per connettersi al tuo VPS, consulta uno dei seguenti guide:

Queste guide dettagliano i passaggi per:

  • generare una coppia di chiavi SSH;
  • distribuire la chiave pubblica sul tuo server;
  • connettersi in modo sicuro tramite SSH.

Una volta che l'autenticazione tramite chiave SSH è configurata e funzionante, puoi andare oltre rafforzando la configurazione del servizio SSH, ad esempio modificando la porta di ascolto o disattivando l'autenticazione tramite password.

Modifica la porta di default SSH

Prima di apportare qualsiasi modifica al servizio SSH, assicurati di disporre di un accesso funzionante tramite una chiave SSH per evitare di perdere l'accesso al tuo server.

Per questa sezione, le righe di comando seguenti sono le stesse per Ubuntu, Debian e CentOS.

Una delle prime operazioni da effettuare sul tuo server è la configurazione della porta di ascolto del servizio SSH. Di default, viene definita sulla porta 22, quindi i tentativi di hack del server da parte dei robot indirizzeranno questa porta in priorità. Modificare questo parametro a vantaggio di una porta diversa è una misura semplice per rafforzare la protezione del tuo server contro gli attacchi automatici.

Per farlo, modifica il file di configurazione del servizio con l'editor di testo scelto (nano è utilizzato in questo esempio):

sudo nano /etc/ssh/sshd_config

Dovrai trovare queste linee o equivalenti:

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0

Sostituisci il numero 22 con il numero di porta che preferisci.
Ricordati di non inserire un numero di porta già utilizzato sul tuo sistema. Per una maggiore sicurezza, utilizza un numero tra 49152 e 65535.

È inoltre possibile visualizzare le porte assegnate al proprio sistema utilizzando il seguente comando:

sudo cat /etc/services

Se la riga è "commentata" (cioè preceduta da un "#") come nell'esempio precedente, assicurarsi di rimuovere il "#" prima di salvare il file, in modo che la modifica venga presa in considerazione. Esempio:

Port 49152
#AddressFamily any
#ListenAddress 0.0.0.0

Se sul sistema operativo è configurato un firewall (UFW o iptables), è necessario modificarne le impostazioni per consentire il traffico sulla nuova porta prima di riavviare il servizio. Se si utilizza iptables, consultare questa guida: Configura il firewall su Linux con iptables. Se non è configurato alcun firewall predefinito, riavviare il servizio.

Salva e lascia il file di configurazione.

Riavvia il servizio:

sudo systemctl restart sshd

Ciò dovrebbe essere sufficiente per attuare le modifiche. In caso contrario, riavvia il VPS (sudo reboot).

Per Ubuntu 24.04 e versioni successive

Per le ultime versioni di Ubuntu, la configurazione SSH viene gestita nel file ssh.socket.

Per aggiornare la porta SSH, modifica la riga ListenStream nel file di configurazione con un editor di testo a tua scelta (nano utilizzato in questo esempio):

sudo nano /lib/systemd/system/ssh.socket

Il tuo file dovrebbe essere simile ai seguenti esempi, a seconda della versione di Ubuntu che hai installato:

[Socket]
ListenStream=49152
Accept=no

oppure

[Socket]
ListenStream=0.0.0.0:49152
ListenStream=[::]:22
BindIPv6Only=ipv6-only
Accept=no
FreeBind=yes

Salvare le modifiche ed eseguire i comandi seguenti:

sudo systemctl daemon-reload

Riavvia il servizio:

sudo systemctl restart ssh.socket

Ricordati di indicare la nuova porta ad ogni richiesta di connessione SSH al tuo server:

ssh username@IPv4_VPS -p NewPortNumber

Esempio:

ssh ubuntu@203.0.113.100 -p 49152

Se sei bloccato fuori dal tuo sistema, puoi utilizzare il nostro ambiente Rescue mode per annullare le modifiche apportate.

Crea un account con diritti utente limitati

In genere, i compiti che non richiedono privilegi root devono essere eseguiti tramite un utente standard. Per maggiori informazioni, consulta questa guida.

Configura il firewall interno (iptables)

Le distribuzioni GNU/Linux correnti sono fornite con un servizio di firewall chiamato iptables, che di default non dispone di regole attive. Per verificarlo, esegui il comando:

iptables -L

Per maggiori informazioni su iptables, consulta la nostra guida dedicata.

Ti consigliamo di creare e adattare le regole del firewall in base alle tue necessità. Per maggiori informazioni sulle diverse operazioni, consulta la documentazione ufficiale della distribuzione utilizzata.

Installer Fail2ban

Fail2ban è un framework di prevenzione contro le intrusioni il cui scopo è bloccare gli indirizzi IP da cui i robot o gli aggressori cercano di accedere al tuo sistema.
Questo pacchetto è indispensabile, in alcuni casi, per proteggere il tuo server dagli attacchi di tipo Brute Force o Denial of Service.

Per installare il pacchetto software, utilizza questo comando:

sudo apt install fail2ban

Su CentOS 7 e CentOS 8 (o RHEL), installare prima il repository EPEL (Extra Packages for Enterprise Linux), quindi Fail2ban:

sudo yum install epel-release
sudo yum install fail2ban

Puoi personalizzare i file di configurazione Fail2ban per proteggere i servizi esposti a Internet pubblico dai ripetuti tentativi di connessione.

Come raccomandato da Fail2ban, crei un file di configurazione locale dei tuoi servizi copiando il file "jail.conf":

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Apri il file con un editor di testo:

sudo nano /etc/fail2ban/jail.local

Leggi le informazioni in alto nel file, in particolare i commenti sotto [DEFAULT].

I parametri [DEFAULT] sono globali e si applicheranno quindi a tutti i servizi definiti per essere attivati (enabled) in questo file.

È importante sapere che i parametri globali saranno presi in considerazione solo se nel file non ci sono valori diversi definiti nelle sezioni di servizio (JAILS).

Prendiamo ad esempio queste linee sotto [DEFAULT]:

bantime = 10m
maxretry = 5
enabled = false

Questo significa che un indirizzo IP a partire dal quale un host tenta di connettersi sarà bloccato per dieci minuti dopo il quinto tentativo di apertura della sessione non andato a buon fine.
Inoltre, tutti i parametri specificati da [DEFAULT] e nelle sezioni seguenti rimangono disattivati a meno che la linea enabled = true non sia aggiunta per un servizio (come indicato qui di seguito # JAILS).

Come esempio di utilizzo, avere queste linee nella sezione [sshd] attiverà restrizioni solo per il servizio OpenSSH:

[sshd]
enabled = true
port = ssh
filter = sshd
maxretry = 3
findtime = 5m
bantime  = 30m

In questo esempio, se un tentativo di connessione SSH fallisce tre volte in cinque minuti, il periodo di divieto degli IP sarà di 30 minuti.

Se l'hai modificato, puoi sostituire "ssh" con il numero di porta reale.

L'approccio migliore consiste nell'attivare Fail2ban solo per i servizi eseguiti sul server. Ogni parametro personalizzato aggiunto con # JAILS avrà priorità sui valori predefiniti.

Una volta terminate le modifiche, salva il file e chiudi l'editor.

Riavvia il servizio per assicurarti che venga eseguito con le personalizzazioni applicate:

1. Comando consigliato con systemctl:

sudo systemctl restart fail2ban

2. Comando con service (metodo legacy, ancora compatibile):

sudo service fail2ban restart

Fail2ban dispone di numerosi parametri e filtri di personalizzazione e di opzioni predefinite, ad esempio quando vuoi aggiungere uno strato di protezione a un server web Nginx.

Per maggiori informazioni e raccomandazioni su Fail2ban, consulta la documentazione ufficiale di questo tool.

Configurazione del Network Firewall OVHcloud

Le soluzioni OVHcloud includono la possibilità di attivare un firewall al punto di ingresso dell'infrastruttura, il Network Firewall. La corretta configurazione di questo firewall permette di bloccare le connessioni prima che arrivino sul tuo server.

Per attivare il Network Firewall, consulta la guida Configurare il Network Firewall.

Proteggi il tuo sistema e i tuoi dati

Il concetto di sicurezza non si limita alla protezione di un sistema dagli attacchi.

La protezione dei dati è un elemento chiave e per questo OVHcloud offre diverse opzioni di backup come servizi:

  • L'opzione Snapshot che ti permette di creare un'istantanea manuale.
  • L'opzione di backup automatico permette di conservare i backup regolari del VPS (ad eccezione dei dischi supplementari).

Tutte le informazioni sulle soluzioni di backup disponibili per il tuo servizio sono disponibili sulla pagina del prodotto e nelle rispettive guide.

Per saperne di più

Iniziare a utilizzare un VPS

Creare e utilizzare chiavi SSH

Configura il firewall su Windows

Configura il firewall su Linux con iptables

Configurare il Network Firewall

Contatta la nostra Community di utenti all’indirizzo https://community.ovh.com/en/.

Articoli correlati