• Non ci sono risultati.

V alutazione delle prestazioni

N/A
N/A
Protected

Academic year: 2021

Condividi "V alutazione delle prestazioni "

Copied!
9
0
0

Testo completo

(1)

C apitolo 5

V alutazione delle prestazioni

Indice del capitolo_________________________________________________________

5.1 Configurazione ..81

5.1.1 Sistema .82

5.1.2 Politica di sicurezza .84

5.2 Prestazioni . .85

5.2.1 Sicurezza ..85

5.2.2 Banda di trasmissione ..86

_______________________________________________________________________________

Questo capitolo descrive le prove condotte per la valutazione delle prestazioni del sistema sviluppato. Vengono descritti il contesto in cui sono stati effettuate le prove, la configurazione applicata, gli strumenti utilizzati ed infine i risultati e le relative valutazioni dal punto di vista dell efficacia e dell efficienza del prototipo realizzato.

5.1 Configurazione

Il primo passo per la valutazione delle prestazioni è stato il setup del sistema, in modo da poter effettuare le prove sia in un contesto locale tra macchine virtuali in esecuzione sullo stesso nodo fisico che in uno distribuito, tra macchine virtuali residenti su nodi fisici

(2)

Valutazione delle prestazioni

introdotto dai controlli di SELinux sia quanto esso incida sulla banda delle operazioni invocate dai client sul file system distribuito.

5.1.1 Sistema

Come descritto in tabella 2, il sistema è composto da una serie di macchine virtuali che interagiscono per operare su un file system distribuito e condiviso.

Tabella 2: la configurazione del sistema

In particolare, nel caso considerato l architettura del prototipo comprende:

Dom0, la macchina virtuale, chiamata Dominio 0 nel contesto di Xen, avviata al Hardware

CPU Inter Core Duo T2300 1.66GHz

Memoria 1GB(512MB Dom0, 128MB DomFS, 64MB DomU) Disco 100 GB 5400rpm SATA(50GB Dom0, 20GB DomFS, 5GB

DomU)

Rete Ethernet 100 Mb/s

Software

VMM Xen 3.0.2

Software Dom0

OS Linux 2.6.19-xen

Distribuzione Linux Fedora Core 6[89]

Software DomFS

OS Linux 2.6.16.1-xen

Distribuzione Linux Debian Sarge[88]

File system distribuito NFSv3 Server SELinux patched Controllo degli accessi SELinux

Software DomU

OS Linux 2.6.19-xen

Distribuzione Linux Debian Sarge File system distribuito NFSv3 Client

(3)

Valutazione delle prestazioni

DomFS, la macchina virtuale creata dal Dom0, che:

a) implementa il file system distribuito NFS

b) esporta parte del file system alle altre macchine virtuali

c) definisce ed applica, tramite SELinux, la politica di sicurezza per il controllo degli accessi ai file condivisi.

In questa macchina virtuale è implementata l integrazione tra NFS ed SELinux descritta nel capitolo 4.

DomGuest, le macchine virtuali client, dove sono allocati gli utenti del servizio di condivisione.

Per consentire la comunicazione tra le macchine virtuali in esecuzione sullo stesso VMM, è stata utilizzata la funzione di Xen che permetti di creare due bridge virtuali, come mostrato in figura 22, ciascuno dedicato a una rete virtuale:

La prima rete virtuale è privata e quindi non accessibile dall'esterno. Essa permette alle macchine virtuali DomGuest di accedere alle risorse condivise, memorizzate nel DomFS. Il Dom0 permette di configurare adeguatamente questa rete privata in modo da connettere ad essa soltanto le macchine virtuali desiderate.

La seconda rete virtuale permette a tutte le macchine virtuali di accedere alla rete esterna.

Figura 22: la comunicazione all interno del VMM

(4)

Valutazione delle prestazioni

Questa configurazione permette di separare i flussi di informazioni in base alla criticità del flusso stesso, in particolare si è scelto di separare il traffico internet dal traffico NFS.

5.1.2 La politica di sicurezza

Per valutare le prestazioni in termini di efficacia ed efficienza è stata definita, mediante i meccanismi offerti da SELinux, una politica di sicurezza di esempio[80,81]

che è stata applicata sul DomFS per controllare gli accessi delle macchine virtuali DomGuest ai file condivisi. Di seguito, viene mostrato come il prototipo permetta di etichettare le macchine virtuali che accedono alle risorse condivise tramite il file system NFS.

type local_mvguest1_nfs_t;

nodecon 10.0.0.1 255.255.255.255

gen_context(system_u:object_r:local_mvguest1_nfs_t,s0) type local_mvguest2_nfs_t;

nodecon 10.0.0.2 255.255.255.255

gen_context(system_u:object_r:local_mvguest2_nfs_t,s0) type remote_mvguest1_nfs_t;

nodecon 192.168.1.1 255.255.255.255

gen_context(system_u:object_r:remote_mvguest1_nfs_t,s0)

Aggiungendo queste regole di etichettatura al file policy/modules/kernel/corenetwork.te è possibile controllare il flusso delle richieste da parte delle DomGuest con indirizzo 10.0.0.1 e 10.0.0.2, in esecuzione sullo stesso nodo fisico del DomFS, e 192.168.1.1, in esecuzione su un'altra macchina fisica.

Una volta assegnato un tipo ai client NFS, SELinux permette di concedere autorizzazioni di accesso alle risorse condivise ad un livello di granularità della politica del tipo client NFS file. In particolare, si sono utilizzati i comandi:

allow nfsd_t local_mvguest1_nfs_t:node { tcp_recv tcp_send };

allow nfsd_t local_mvguest2_nfs_t:node { tcp_recv tcp_send };

allow nfsd_t remote_mvguest1_nfs_t:node { tcp_recv tcp_send };

allow local_mvguest1_nfs_t dir_local1_t: dir r_dir_perms;

allow local_mvguest2_nfs_t dir_local2_t: dir rw_dir_perms;

(5)

Valutazione delle prestazioni

Questa semplice politica di esempio descrive come permettere al demone nfsd del DomFS di stabilire e di accettare connessioni TCP con i client NFS precedentemente etichettati. Infine, viene specificata la modalità con cui il DomFS condivide con i DomGuest alcune specifiche directory:

Permette al DomGuest con tipo local_mvguest1_nfs_t l accesso in sola lettura alla directory etichettata con il tipo dir_local1_t

Permette al DomGuest con tipo local_mvguest2_nfs_t l accesso in lettura e scrittura alla directory etichettata con il tipo dir_local2_t

Permette al DomGuest con tipo remote_mvguest1_nfs_t l accesso in sola lettura alla directory etichettata con il tipo dir_remote1_t

5.2 Prestazioni

Le prove condotte hanno avuto l obiettivo di verificare l efficacia del prototipo dal punto di vista della sicurezza e l overhead introdotto dai controlli addizionali di SELinux sul file system distribuito.

5.2.1 - Sicurezza

Le prove effettuate per valutare la sicurezza considerano un processo applicativo che prova ad invocare una operazione illegale sul file system condiviso. È bene sottolineare che l obiettivo del nostro lavoro non è quello di risolvere le vulnerabilità di NFS e del suo protocollo di comunicazione, bensì di limitare l impatto di un potenziale attacco al sistema che esporta i file condivisi. Infatti, anche se il sistema che gestisce la condivisione dei file viene compromesso, SELinux forza comunque tutti gli oggetti del sistema stesso a rispettare le regole descritte nella sua politica di sicurezza, che segue il modello MAC per il controllo degli accessi. In questo modo, i privilegi associati agli utenti del servizio di condivisione sono limitati dalla politica di sicurezza e in particolare dal ruolo e dal tipo con cui SELinux etichetta il DomGuest da cui viene invocata la richiesta.

Se controlliamo che il modulo SELinux sia integro, attraverso strumento come Tripwire[78] o attraverso introspezione da parte del Dom0[11,77], siamo quindi certi che

(6)

Valutazione delle prestazioni

utente NFS non può assumere il ruolo di superuser sul DomFS ma è vincolato a rispettare la politica di sicurezza di SELinux.

Ad esempio, abbiamo verificato che se una macchina virtuale tenta di accedere ad una directory con una modalità diversa da quella permessa dalla politica di esempio descritta nel precedente paragrafo, SELinux nega l accesso alla risorsa visualizzando sulla console il seguente messaggio di errore:

audit(1181061720.120:5): avc: denied { write } for pid=1203 comm="nfsd" name="bin" dev=hda1 ino=128163

scontext=system_u:object_r:locale_mvguest1_nfs_t tcontext=system_u:object_r:dir_local1_t tclass=dir

In questo caso la AVC di SELinux informa l amministratore del DomFS di aver negato l accesso in scrittura al demone nfsd, che agisce per conto del DomGuest con tipo locale_mvguest1_nfs_t, sulla directory identificata dal device hda1 e inode 128163 e con tipo dir_local1_t.

5.2.2 Banda di trasmissione

Per valutare le prestazioni del prototipo è stato utilizzato un strumento di benchmarking del file system, IOzone[83], che in modo automatico misura le prestazioni delle richieste di I/O su file system diversi, tra cui NFS, residenti su piattaforme come Linux e Solaris. Iozone permette di testare una grande varietà di pattern di richieste parametrizzabili in base alla dimensione del file, da 64Kbyte a 512Mbyte, e alla dimensione dei record, da 4Kbyte a 16Mbyte.

Questo programma permette inoltre di generare un output compatibile con Microsoft Excel e supporta quindi un agevole trattamento dei dati per l analisi dei risultati.

Nel caso dello strumento sviluppato in questa tesi, IOzone è stato usato per analizzare le prestazioni dei client NFS nelle interazioni con il server NFS.

IOzone, nella versione 3-283, è stato installato su tutte le macchine virtuali DomGuest e i risultati, alcuni dei quali sono mostrati nelle figure x3 e x4, sono stati generati eseguendo

(7)

Valutazione delle prestazioni

che esegue in successione un serie di operazioni su testfile, incrementando di volta in volta la dimensione di questo file che è contenuto nella directory NFS. Al fine della valutazione molto importante è l opzione U che indica ad IOzone di svuotare la cache del client tra due test, montando e smontando il mountpoint NFS /mnt/nfsroot.

In particolare nella figura 23 sono mostrate le prestazioni del prototipo, per accessi a file di dimensioni da 64Kbyte a 16Mbyte, nel caso in cui il client NFS sia in esecuzione sulla stessa macchina fisica del DomFS e non sia attivo su quest ultimo il controllo degli accessi effettuato da SELinux.

Figura 23: risultati della operazione di scrittura in locale senza SELinux

In figura 24, invece, sono mostrate le prestazioni, per accessi a file di dimensioni da 64Kbyte a 16Mbyte, nel caso in cui il client NFS e il server NFS siano in esecuzione su macchine fisiche diverse e sia attivo sul DomFS il controllo degli accessi di SELinux.

(8)

Valutazione delle prestazioni

Figura 24: risultati della operazione di scrittura in remoto con SELinux

Figura 25: risultati complessivi del test di lettura

(9)

Valutazione delle prestazioni

Figura 25: risultati complessivi del test di scrittura

Le figure 25 ed 26 infine riassumono i risultati dei test eseguiti nei seguenti casi:

operazioni invocate da un DomGuest in esecuzione sulla stessa macchina fisica del DomFS e con SELinux disabilitato

operazioni invocate da un DomGuest in esecuzione sulla stessa macchina fisica del DomFS e con SELinux abilitato

operazioni invocate da su un DomGuest in esecuzione su una macchina fisica diversa da quella del DomFS e con SELinux disabilitato

operazioni invocate da su un DomGuest in esecuzione su una macchina fisica diversa da quella del DomFS e con SELinux abilitato

Come evidenziato dai grafici, l overhead introdotto dai controlli degli accessi di SELinux per un accesso in scrittura ad un file condiviso

è di circa 11% se le due macchine virtuali coinvolte sono eseguite dallo stesso nodo fisico ;

è trascurabile se le due macchine sono eseguite su nodi fisici differenti, rispetto al caso in cui SELinux è disabilitato;

è di 1% nel primo caso e del 2% nel secondo per un accesso in modalità lettura .

Riferimenti

Documenti correlati

4 In caso di successivo aggravamento, è possibile chiedere l’indennizzo in capitale se la menomazione si è aggravata raggiungendo o superando il 6%, o la costituzione della rendita

- dall’1.1.2015 – territorialità nel luogo del cliente – possibile adesione alla procedura MOSS per non aprire la partita IVA in ciascuno degli altri Stati UE (nuovi

E' chiaro che maggiore è la quantità di RAM, maggiori saranno le prestazioni del computer, almeno fino ad esaurimento della richiesta di memoria, nel senso che, se la richiesta

In tutte le articolazioni organizzativo-funzionali è favorito l'utilizzo delle Linee guida predisposte dalle Società scientifiche o da gruppi di esperti per una

[r]

questo breve questionario è stato predisposto: a) per raccogliere elementi utili alla valutazione di ogni singola attività formativa progettata, svolta sotto forma

b) per conoscere la percezione - da parte delle aziende del territorio - dei servizi forniti da UNITE e rilevare l’esigenza eventuale di ulteriori momenti

Disponibili con pompe ad ingranaggi ad alta pressione, motori in CC a 12 o 24V, blocchi multifunzione, valvole, serbatoi, controlli remoti, ecc., queste centraline sono utilizzate