Istruttore: la virtualizzazione è importante
per la sicurezza dei nostri server on-premise e cloud.
Negli ultimi anni la virtualizzazione
ha continuato a crescere, contribuendo
a ridurre la necessità di energia, spazio e raffreddamento
aggiuntivi per le nostre sale server e a ridurre
l'architettura fisica necessaria per supportare le nostre
operazioni informatiche.
Che cos'è la virtualizzazione?
La virtualizzazione è un computer host su
cui è installato un hypervisor
che può essere utilizzato
per installare e gestire più sistemi operativi
guest o macchine virtuali, note come VM.
Che aspetto ha questo?
In sostanza, si dispone di un pezzo di hardware
chiamato bare bones o bare metal e poi si
installa una sorta di software di virtualizzazione
su di esso, noto come hypervisor.
L'hypervisor è di due tipi.
Si può avere un hypervisor bare bones o bare metal, che viene
eseguito in modo nativo sull'hardware, oppure
si può avere un sistema operativo con un hypervisor
in esecuzione su quel sistema operativo, e questo è il nostro
secondo tipo.
Ad esempio, sul mio portatile ho un MacBook Pro e su
quel MacBook Pro ho il sistema operativo Mac.
E in quel sistema operativo Mac
ho installato un hypervisor noto come VMware che
mi permette di eseguire Windows
all'interno di una macchina virtuale sul mio Mac.
Ora, come parte della virtualizzazione dell'hypervisor,
posso installare il sistema operativo guest, nel
mio caso Windows, e aggiungere le applicazioni che desidero.
Quindi, sul mio sistema Mac in particolare,
anche se sto usando Mac come sistema
operativo host, ho una macchina
virtuale con Windows 10 e un'altra con Ubuntu
Linux.
Ne ho un altro che esegue Kali Linux e cose del genere.
In questo modo, ho accesso a tutti questi sistemi operativi
per i programmi di cui ho bisogno
o per le dimostrazioni che sto cercando di fare nei miei corsi.
Quando si utilizza la virtualizzazione,
ogni server o host esegue il proprio sistema operativo all'interno
della macchina virtuale, ma le macchine
virtuali vengono eseguite sopra l'hypervisor.
Un hypervisor viene utilizzato per gestire la distribuzione
delle risorse fisiche di un server o di un host alle macchine
virtuali, compresa la quantità
di elaborazione, di memoria e di spazio su disco
rigido che ciascuna di esse riceverà.
Come ho già detto, gli hypervisor
sono di due tipi diversi.
Si tratta di un tipo uno e di un tipo due.
Un hypervisor di tipo uno è noto anche come bare metal perché
viene eseguito direttamente sull'hardware
host e funziona come il sistema operativo stesso.
Esempi di questo tipo sono Hyper-V,
XenServer, ESXi e vSphere.
Tutti questi sono hypervisor di tipo 1.
Ora i due hypervisor vengono eseguiti all'interno di un normale
sistema operativo.
Qualcosa come Windows, macOS X o Linux.
Ad esempio, se utilizziamo VMware workstation
o VirtualBox all'interno di un desktop Windows 10, questo
è considerato un hypervisor di tipo due.
Sia con un hypervisor di tipo uno che di tipo due, dobbiamo
comunque assicurarci che ogni macchina virtuale esegua
la propria copia di un sistema operativo.
Qualcosa come Red Hat Linux o Windows Server 2019.
Questi server richiedono tutti gli stessi aggiornamenti,
patch di sicurezza e hot fix proprio come un
server tradizionale, quindi dobbiamo
tenere traccia di ognuna di queste macchine virtuali
e assicurarci di avere la loro postura di sicurezza
ben sintonizzata.
Ora l'utilizzo della virtualizzazione in tutto il settore
è cresciuto in modo davvero esponenziale.
La virtualizzazione è iniziata con la virtualizzazione
dei server e ora si è estesa anche alla fornitura di applicazioni agli
utenti da una posizione centrale.
I modelli utilizzati per fornire servizi
applicativi virtualizzati sono in realtà due.
Si tratta della virtualizzazione delle applicazioni basata su
server, o servizi terminal, e della
virtualizzazione delle applicazioni basata su client,
nota come application streaming.
Ora i servizi terminal sono
una soluzione di virtualizzazione basata su
server che esegue l'applicazione
su server in una posizione centralizzata
e gli utenti accedono all'applicazione
tramite un protocollo client
remoto come RDP di Microsoft o ICA di Citrix.
Ne sono un esempio Microsoft Terminal Services
e Citrix XenApp.
Lo streaming di applicazioni, invece,
è una soluzione di virtualizzazione basata sul client
che consente di impacchettare e trasmettere un'applicazione
direttamente al PC dell'utente.
In questo modo si crea un ambiente di elaborazione delle applicazioni
sandbox isolato dal sistema operativo dell'utente.
App-V di Microsoft è un ottimo esempio di questa tecnologia.
I vantaggi dell'uso dei servizi terminalistici
o dello streaming delle applicazioni
sono che possiamo imporre ulteriori
protezioni di sicurezza.
Cose come la crittografia, il controllo degli accessi al server
e la prevenzione dell'archiviazione dei dati
in locale sul computer dell'utente
finale per garantire la sicurezza dei dati.