Mettere in sicurezza un VPS
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:
- Aggiorna il tuo sistema operativo
- Creare e utilizzare una chiave SSH
- Modifica la porta di default SSH
- Crea un account con diritti utente limitati
- Configura il firewall interno (iptables)
- Installer Fail2ban
- Configurazione del Network Firewall OVHcloud
- Proteggi il tuo sistema e i tuoi dati
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:
- Aggiornamento dei pacchetti effettivi:
Il comando è identico a Ubuntu perché sia Debian che Ubuntu utilizzano apt.
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:
- Come creare e utilizzare chiavi di autenticazione per le connessioni SSH ai server OVHcloud
- Guida - Come utilizzare PuTTY per le connessioni SSH e l'autenticazione
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):
Dovrai trovare queste linee o equivalenti:
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:
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:
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:
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):
Il tuo file dovrebbe essere simile ai seguenti esempi, a seconda della versione di Ubuntu che hai installato:
oppure
Salvare le modifiche ed eseguire i comandi seguenti:
Riavvia il servizio:
Ricordati di indicare la nuova porta ad ogni richiesta di connessione SSH al tuo server:
Esempio:
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:
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:
Su CentOS 7 e CentOS 8 (o RHEL), installare prima il repository EPEL (Extra Packages for Enterprise Linux), quindi 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":
Apri il file con un editor di testo:
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]:
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:
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:
2. Comando con service (metodo legacy, ancora compatibile):
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
Snapshotche ti permette di creare un'istantanea manuale. - L'opzione di
backup automaticopermette 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ù
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/.