Un server ti offre molte possibilità interessanti. Tuttavia, quando acquisti un server con accesso root, sei responsabile anche della sua sicurezza. Questa responsabilità include tutte le azioni che vengono eseguite dal server. Per questo motivo, è fondamentale proteggere da subito il server e aumentarne il livello di sicurezza contro attacchi esterni, per evitare di lasciare falle che possano facilitare gli attacchi degli hacker.

In questo articolo puoi trovare alcune informazioni generali per la sicurezza del tuo server, consigli per una configurazione sicura e misure di sicurezza da prendere per aumentare il livello di sicurezza del tuo server Linux.

Nota bene:

Queste raccomandazioni sulla sicurezza si applicano solo ai server con accesso root.

Installa le patch di sicurezza e gli aggiornamenti regolarmente e tempestivamente

Di solito, le vulnerabilità note vengono chiuse in brevissimo tempo tramite gli aggiornamenti che vengono pubblicati. Tuttavia, questo funziona solo se ci si informa regolarmente sulle patch di sicurezza e sugli aggiornamenti del sistema operativo e dei programmi installati e li si installa tempestivamente. Assicurati inoltre di aggiornare tutti i plug-in aggiuntivi che hai installato.

Quasi tutti i sistemi operativi offrono la possibilità di scaricare e installare automaticamente in background importanti aggiornamenti di sicurezza. Per conoscere e scaricare nuovi pacchetti software disponibili quotidianamente, puoi utilizzare determinati script come apt-listchanges o apticron. Con unattended-upgrades package (Ubuntu) o il programma Yum-cron (CentOS 7) puoi installare automaticamente le patch per il tuo sistema operativo.

Se necessario, puoi testare le patch e gli aggiornamenti di sicurezza delle applicazioni e dei plug-in prima dell'installazione, per verificare i possibili effetti su un ambiente specifico prima di installarli tempestivamente sul server. Ti preghiamo di notare, tuttavia, che per questo test è necessario un secondo server.

Utilizza l'autenticazione a chiave pubblica invece dell'autenticazione con password

Il protocollo di rete SSH supporta diverse varianti per l'accesso del client sul server. Oltre alla ben nota autenticazione classica (con nome utente e password), è possibile utilizzare anche l'autenticazione a chiave pubblica. Questo tipo di autenticazione utilizza una chiave privata e una chiave pubblica per autenticare gli utenti. Se lo desideri, puoi proteggere la chiave pubblica con una password.

Per poter configurare l'autenticazione tramite chiave pubblica,  queste deve essere memorizzata sul proprio server. La chiave privata viene invece memorizzata localmente sul tuo computer.

Se utilizzi questo tipo di autenticazione, puoi accedere al server utilizzando solo la chiave pubblica, senza dover inserire alcuna password di accesso. Se hai protetto la chiave pubblica con una password, potrebbe essere necessario inserire quest'ultima. Per aumentare ulteriormente il livello di sicurezza, puoi anche disabilitare l'autenticazione della password SSH. In questo caso, l'autenticazione tramite l'inserimento di una password è possibile solo se l'utente accede al server utilizzando la console KVM (per server cloud o virtuali) o la console VNC (per server dedicati).

Nota bene:

Quando crei un server cloud, puoi memorizzare la chiave pubblica nel Cloud Panel e assegnarla al server selezionando la configurazione desiderata. La chiave pubblica viene inserita automaticamente nel file /root/.ssh/authorized_keys durante la creazione del server.

Usa sempre password sicure e complesse

Password deboli rendono l'accesso non autorizzato al tuo server più facile per i potenziali aggressori. Se un attacco di questo tipo ha successo, l'hacker potrebbe usare il server per attività dannose, utilizzare le risorse del server, o eventualmente prendere il controllo del server e bloccare l'utente.

Ti consigliamo pertanto di utilizzare sempre password sicure e complesse e di modificarle regolarmente. Per creare una password sicura, segui i nostri suggerimenti:

  • Utilizza una password diversa per ogni servizio e per ogni database in esecuzione sul server.

  • Non utilizzare una parola presente nei dizionari.

  • Utilizza sempre una password che differisce in modo significativo dalle password precedenti.

  • Non utilizzare dati provenienti dall'ambiente personale, come compleanni, nomi, ecc.

  • Non utilizzare una password che contenga il tuo nome utente o il nome della tua attività.

  • Non fornire la password a terzi.

  • Combina diversi tipi di carattere, come lettere maiuscole e minuscole, numeri e caratteri speciali.

  • Non riutilizzare mai una password che hai già utilizzato per un altro servizio.

Una password sicura contiene:

  • Almeno 8 caratteri

  • Lettere maiuscole e minuscole: a-z, A-Z

  • Cifre: 0-9

  • Caratteri speciali

Sviluppa una strategia di backup appropriata

La perdita di dati può portare a danni che possono, in alcuni casi, comportare costi molto elevati. Per questo motivo, è necessario sviluppare il prima possibile una strategia di backup adeguata. Lo sviluppo di una strategia di backup è una questione tecnicamente molto complessa, poiché prende in considerazione numerosi fattori. Alcuni dei fattori più importanti sono:

  • Determinazione della situazione di rischio: la situazione di rischio dipende dallo scopo del server e dalla sua dipendenza dal database.

  • Classificazione dei dati: che tipo di dati sono? I dati rilevanti per il sistema o i dati personali devono essere sottoposti a backup?

  • Disponibilità dei dati: quali applicazioni dipendono dai dati e in quale forma? Le applicazioni funzionano anche senza i suddetti dati?


Inoltre, quando sviluppi la strategia di backup, è necessario considerare e rispondere alle seguenti domande:

  • Quale perdita di dati è accettabile?

  • Quanto tempo ci vorrebbe per ricostruire i dati?

  • Quanto è grande il volume dei dati e come si svilupperà il database?

  • Come devono essere salvati i dati?

  • Ci sono periodi di eliminazione e di conservazione?

  • I dati sono riservati? È necessaria una protezione speciale per l'accesso a questi dati? Ci sono requisiti legali?

  • Quando è possibile creare il backup senza effetti negativi su altri processi?

  • Per quanto tempo hai bisogno di tenere i backup?


Un altro punto importante da considerare quando si sviluppa una strategia di backup è il tipo di backup che si desidera eseguire. Esistono infatti i seguenti tipi di backup:

  • Backup completo: è un backup che contiene tutti i dati selezionati per il backup.
  • Backup differenziale: esegue il backup di tutti i file modificati o aggiunti dopo l'ultimo backup completo. Le modifiche vengono sempre effettuate in relazione al backup completo. I backup differenziali aumentano di giorno in giorno fino a quando non viene eseguito di nuovo un backup completo. Tuttavia, i backup differenziali richiedono meno spazio su disco di un backup completo e possono essere eseguiti più velocemente. Per ripristinare i dati da un backup differenziale, è necessario avere accesso anche all'ultimo backup completo. I singoli backup differenziali possono essere gestiti indipendentemente l'uno dall'altro.
  • Backup incrementale: i backup incrementali risparmiano molto spazio e possono essere eseguiti rapidamente. Con un backup incrementale, viene eseguito il backup solo dei dati creati o modificati a partire dall'ultimo backup, si che si tratti di un backup completo che di uno incrementale. Per ripristinare un backup incrementale, è quindi necessario avere accesso anche agli altri backup della catena di backup, in quanto i backup sono dipendenti l'uno dall'altro. Se elimini uno dei backup incrementali precedenti o un backup completo, non è più possibile ripristinare l'intero gruppo.

Oltre a sviluppare una strategia appropriata e ad eseguire regolarmente i backup, è necessario assicurarsi che i backup vengano ripristinati regolarmente.

Assicurati che i servizi locali ascoltino solo dai localhost

Non tutti i servizi devono essere accessibili tramite la rete o Internet. Pertanto, assicurati che i servizi locali ascoltino effettivamente dai localhost. Per esempio, se esegui un'istanza locale di MySQL sul tuo server web, il database dovrebbe ascoltare solo da localhost. Lo stesso vale per i programmi e le applicazioni che vengono testati. Configura quindi l'applicazione in modo tale da connetterti tramite il localhost.

Accedi al tuo server tramite VPN

Se hai acquistato un server cloud, puoi utilizzare una VPN per stabilire una connessione sicura tra il tuo PC locale e il tuo server, che viene criptata tramite SSL.

Nota bene:

Per motivi tecnici, è possibile stabilire una sola connessione al server cloud tramite VPN. Se desideri stabilire più connessioni VPN contemporaneamente, è necessario configurare una connessione VPN per ogni PC locale.

Puoi creare una connessione VPN in maniera semplice e veloce nel Cloud Panel, nella sezione Rete > VPN. Per utilizzare la VPN, è necessario installare e configurare il software OpenVPN sul PC locale.

Puoi trovare ulteriori informazioni sull'utilizzo della VPN qui:

Creare una VPN

Installare e configurare OpenVPN

Limita l'accesso al server

Per aumentare la sicurezza del tuo server, è importante che l'accesso al server venga consentito solo agli utenti che devono lavorare sul server.

Installa solo le applicazioni necessarie

Installa solo le applicazioni di cui hai veramente bisogno. Più applicazioni si installano sul server, maggiore è il rischio di incorrere in vulnerabilità.

Nota bene:

Se possibile, installa solo le applicazioni provenienti da fonti ufficiali. Le applicazioni provenienti da fonti non ufficiali possono contenere malware e/o virus.

Apri solo le porte di cui hai davvero bisogno

Le porte aperte in genere non rappresentano un particolare rischio per la sicurezza, a meno che le applicazioni che rispondono non presentino vulnerabilità che gli aggressori possono sfruttare. Con un numero elevato di applicazioni, questo potenziale rischio aumenta.

Monitora il tuo server

Il monitoraggio è uno strumento importante per aumentare la sicurezza di un server. Solo monitorando il server è possibile rilevare per tempo un guasto del server o il guasto di singole componenti o applicazioni. Questo vale anche per alcuni tipi di attacchi informatici: se il tuo server viene attaccato, una risposta rapida è essenziale per fermare l'attacco e ridurre al minimo i danni causati.

Verifica regolarmente che non ci siano virus o malware sul tuo server

Sebbene Linux sia di norma meno affetto da malware e virus rispetto a Windows, non è comunque immune dai software dannosi. Per i sistemi Linux, esistono una serie di software antivirus e anti-malware che puoi utilizzare per verificare l'integrità dei tuoi server.

I programmi più usati sono ad es.: Linux Malware Detect, Rootkit Hunter e ClamAV.

Nota bene:

Assicurati che le firme antivirus e anti-malware vengano aggiornate regolarmente.

Ulteriori articoli su questo tema

Qui puoi trovare la seconda parte di questo articolo: Informazioni importanti per la sicurezza del tuo server Linux (seconda parte)