Sicurezza nelle virtual machine

sicurezza su macchina virtualeIn materia di sicurezza, le virtual machine dovrebbero essere trattate come se fossero dei sistemi fisici, pertanto il software installato andrà mantenuto aggiornato e dovranno essere applicate le varie ed eventuali patch che correggono bug di sicurezza. In più, la scelta dei programmi da eseguire sulla macchina virtuale è da farsi tra una rosa di servizi o applicazioni conosciuti come robusti (poco afflitte da bachi).


D’altro canto a volte è opportuno tenere conto anche delle prestazioni, un programma più sicuro potrebbe aver bisogno di più risorse di uno che effettua meno controlli. Per esempio: se il file system del sistema operativo sulla VM è criptato si ottiene una maggior sicurezza però a discapito delle performance che saranno migliori per un file system non cifrato.

Ecco dunque alcuni consigli per elevare la sicurezza delle virtual machine:

  • Fare frequenti salvataggi (backup) dei dati contenuti nelle VM per evitare perdite di dati in caso di problemi.
  • Avviare una macchina virtuale solo se opportuno. Tenere più macchine virtuali, che hanno poca utilità, attive rallenta anche quelle necessarie. Se una VM non è più necessaria va spenta.
  • Applicare le patch di sicurezza e aggiornare i backup delle macchine virtuali prima di ripristinarle, questo per evitare che il guest possa essere nuovamente compromesso nel caso di un attacco (virus, trojan, rootkit, backdoor…).
  • Preparare e attivare una politica severa per impedire che persone non autorizzate possano gestire le varie macchine virtuali (spegnimento, avvio…) e proteggere il sistema operativo ospitante da accessi vietati.

[ad#basso]
sorveglianzaInoltre è doveroso mettere in sicurezza il sistema operativo host. E’ assurdo concentrare esclusivamente le attenzioni alle virtual machine scordando di fortificare (hardening) il loro gestore.

  1. Rimuovere i servizi e i programmi non necessari.
  2. Limitare gli accessi locali, attraverso per esempio policy che abbassano l’uso dell’account di root.
  3. Ridurre gli accessi dall’esterno al sistema operativo (nessuna shell ne ssh).
  4. Spostare i driver di periferica (device driver) dal sistema host alle macchine virtuali in quanto molti di loro sono parecchi vulnerabili perciò è abbastanza facile comprometterli in modo da destabilizzare il sistema operativo che fa girare tutte le VM. Se il driver ha dei malfunzionamenti all’interno di una ambiente guest, solo lì si verificherà l’anomalia che non contagerà gli altri.
  5. Installare un IDS sull’host il quale controlli il flusso di dati entrante verso tutte le macchine virtuali. Così facendo non si dovrà adoperare tale software in ogni VM.
  6. Configurare un firewall (stateful inspection) sul sistema operativo ospitante che filtri il traffico in ingresso e uscita.

Naturalmente come ogni server, il calcolatore va difeso con altri sistemi in base alla topologia della rete a cui è collegato e in base ai servizi che fornisce.

parallels

Articolo successivo

OpenVZ