confinamento e virtualizzazione 2006-2009 maurizio pizzonia sicurezza dei sistemi informatici e delle reti



Documenti analoghi
maurizio pizzonia sicurezza dei sistemi informatici e delle reti. confinamento e virtualizzazione

Protezione del Kernel Tramite Macchine Virtuali

Architetture software. Virtualizzazione

Linux Virtuale Linux Virtuale

The Onion PC. Virtualizzazione strato dopo strato

Approccio stratificato

Virtualizzazione con KVM. Reggio Emilia - Linux Day 2014 Stefano Strozzi KVM

Architettura di un sistema operativo

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Virtualizzazione e Macchine Virtuali

Setup dell ambiente virtuale

Introduzione alla Virtualizzazione

Protezione. Protezione. Protezione. Obiettivi della protezione

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

TITLE Sistemi Operativi 1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Mac Application Manager 1.3 (SOLO PER TIGER)

DEFINIZIONI VM: abbreviazione di Virtual Machine (macchina virtuale).

Ma il software open source è sicuro?

Online Help StruxureWare Data Center Expert

MODULO 02. Iniziamo a usare il computer

Analisi dei rischi della system call chroot e un valido sostituto: le jail. Marco Trentini mt@datasked.com

Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.

Il Sistema Operativo (1)

Virtualizzazione di macchine Linux tramite XEN

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Security Enhanced Linux (SELinux)

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP

Fisciano, 24 ottobre 2008

VMware. Gestione dello shutdown con UPS MetaSystem

SELinux. di Maurizio Pagani

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Macchine Virtuali. Docente: Fabio Tordini

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11

Primi passi con Linux

InitZero s.r.l. Via P. Calamandrei, Arezzo

Antonio Cianfrani. Extended Access Control List (ACL)

Monitorare la superficie di attacco. Dott. Antonio Capobianco (Founder and CEO Fata Informatica)

VirtualBox. Eseguire altri sistemi operativi dentro Linux. Stefano Sanfilippo. POuL. 28 ottobre 2013

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 SP1

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Linux a Scuola. Rete LTSP (Linux Terminal Server Project) Relatore: Ross

SOMMARIO: INFORMAZIONI SU PARALLELS TRANSPORTER

Installazione e caratteristiche generali 1

27/03/2013. Contenuti

CVserver. CVserver. Micky Del Favero BLUG - Belluno Linux User Group Linux Day Feltre 25 ottobre Un cluster di VServer

Modello di Controllo dell Accesso basato sui ruoli (RBAC)

2.1 Installazione e configurazione LMS [4]

Dipartimento di Scienze Applicate

Corso di Amministrazione di Reti A.A. 2002/2003

Virtualizzazione. Orazio Battaglia

2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO

Il Software. Il software del PC. Il BIOS

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Sistemi Operativi e informatica 1

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

Hardware delle reti LAN

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

FtpZone Guida all uso Versione 2.1

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

IPSec VPN Client VPN vs serie ZyWALL con PSK e Certificati digitali

FTP. Appunti a cura del prof. ing. Mario Catalano

Il computer: primi elementi

Terza lezione: Directory e File system di Linux

Il Linux che verrà... Francesco Crippa

CLUSTER COKA. Macchine e Risorse

Architetture Applicative

Intel One Boot Flash Update Utility Guida dell utente

Installazione LINUX 10.0

1. opzione 1, ubuntu accanto a windows

VLAN+LDAP+...+XEN = Rete Dipartimentale

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Esercitazioni - 2. Corso Reti ed Applicazioni Mauro Campanella Como 2003

Sistemi operativi e reti A.A Lezione 2

Fatti Raggiungere dal tuo Computer!!

Sistemi informativi secondo prospettive combinate

Introduzione a Emptypage FTP. I problemi che il software Emptypage FTP si propone di risolvere sono: Usare il tutorial

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

User, Poweruser, Administrator e SYSTEM (Root per GNU/Linux, SYSTEM per Windows)

System Center Virtual Machine Manager Library Management

Il web server Apache Lezione n. 3. Introduzione

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Linux nel calcolo distribuito

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

Hardware di un Computer

Windows Vista, il nuovo sistema operativo Microsoft che cerca le giuste risposte ai quesiti di sicurezza

Transcript:

confinamento e virtualizzazione 1

oltre i permessi dei file... nei sistemi operativi standard il supporto per il confinamento è abbastanza flessibile per quanto riguarda i files scarso per quanto riguarda molte altre operazioni es. socket, visualizzazione processi sotto unix è difficile negare permessi a utenti specifici non ci sono vere acl alle volte sono utili forme più stringenti (anche se meno standard) di confinamento 2

chroot jail chroot è un comando unix esegue un processo con una nuova radice es. la radice / del processo eseguito coincide con /var/www del processo che esegue non c è modo di leggere files posti all esterno della nuova radice nella nuova radice deve essere ricreata la struttura di un filesystem Unix anche minimale comandi di base se necessari librerie dinamiche chroot deve essere eseguito da root

chroot jail: limiti chroot restringe l accesso solo al filesystem dall interno si può ancora... ispezionare i processi usare la rete magari per trasferire degli eseguibili all interno del jail lanciar processi (avendo gli eseguibili a disposizione) i processi figli avranno la stessa root del padre chiamare qualsiasi system call (avendo l eseguibile giusto) 4

os-level virtualization il kernel puo' supportare il confinamento confina tutte (o molte) risorse, non solo il filesystem es. solo i processi del jail sono visibili, rete limitabile, potenzialmente anche l uso della cpu è limitabile il jail esegue lo stesso kernel dell'host efficiente implementazioni Linux: vserver, virtuozzo FreeBSD: jails Solaris: container

full virtualization il software emula l hw il processore può non essere emulato (almeno per le istruzioni non privilegiate) problemi di efficienza per l I/O due kernel: guest e host i due kernel possono essere completamente diversi software processore nativo: VMware, VirtualBox, VirtualPC (Microsoft), Xen (con hw assisted virt.), VirtualIron, KVM processore emulato (inefficente): QEMU (GNU GPL) hw assisted virtualization Intel Virtualization Technology (Intel VT) AMD virtualization (AMD-V) 6

para-virtualization richiede il porting dei sistemi operativi guest interfaccia mostrata al guest del tutto diverse da quelle hw Xen (senza hw assisted virt.) hypervisor (caricato al boot al posto del sistema host) molto efficiente permette migrazione tra host fisici on-the-fly open e supportato commercialmente User Mode Linux solo linux in linux molto leggero supportato come architettura del kernel linux usato per www.netkit.org 7

isolamento dei servizi e consolidamento servizi con politiche di gestione diverse dovrebbero essere isolati tra loro il miglior isolamento è dato da server distinti proliferazione dei server (spesso sottoutilizzati) alti costi? server di basso livello? bassa affidabilità consolidamento poco hw di buona qualità e ridondato uso di tecnologia di virtualizzazione tanti server virtuali 8

consolidamento un possibile approccio: macchina fisica 1 macc. virtuale 1.1 servizio 1a macc. virtuale 1.2 servizio 2a macc. virtuale 1.3 servizio 3a RETE fail over serv 1 fail over serv 2 fail over serv 3 macchina fisica 2 macc. virtuale 2.1 servizio 1b macc. virtuale 2.2 servizio 2b macc. virtuale 2.3 servizio 3b

SELinux

National Security Agency The National Security Agency/Central Security Service is America s cryptologic organization. It coordinates, directs, and performs highly specialized activities to protect U.S. government information systems.

SE Linux prototipo sviluppato da NSA per provare/mostrare l'efficacia del concetto di mandatory access control. parte del kernel 2.6 attivabile come opzione di compilazione SECURITY_SELINUX attivo di default su distribuzioni Fedora

SELinux e MAC discretionary access control (dac) l'utente può passare i suoi diritti ad altri soggetti, anche indirettamente e/o involontariamente, es. trojan mandatory access control (mac) confinare i programmi utente e i server di sistema all'interno di un insieme di privilegi minimo indispensabile per svolgere il loro compito può non esistere un utente che può far tutto! dipende dalla configurazione

MAC vs DAC in Linux la sicurezza di un sistema Linux classico (DAC) dipende da... permessi assegnati ai file l'accortezza degli utenti! correttezza del kernel correttezza di tutte le applicazioni privilegiate e loro configurazione assenza di trojan horses un problema in ciascuna di queste aree può compromettere parte o l'intero sistema la sicurezza di un sistema SE Linux dipende SOLO dalla correttezza del kernel e dalla configurazione delle security policy

SE Linux ha bisogno di... utility proprie di SE Linux configurazione delle policy, ecc alcuni pacchetti vanno sostituiti con delle versioni modificate per l'uso delle caratteristiche di SE Linux es. login, su, ecc. in debian pacchetto selinux-basics l'installazione normalmente parte da un sistema Linux convenzionale in fedora selinux e' default la security policy è però molto lasca

compatibilità tutte applicazioni sono pienamente compatibili SE Linux non cambia nulla di ciò che un processo vede i mandatory access control vegnono eseguiti dopo i controlli standard di Linux se questi hanno avuto successo alcuni moduli kernel sono stati modificati per interagire con SE Linux

vulnerabilità SE linux non contiene (in linea di principio) meno vulnerabilità di linux! SE linux è solo molto più flessibile e accurato dal punto di vista delle policy permette di confinare i processi all'interno di domini più stretti una vulnerabilità in un processo è quindi molto meno pericolosa

Linux concetti utenti e gruppi (UID, GID) permessi sui file root (UID=0, nessun controllo) SE Linux identity (identifica una persona fisica ) domain (ciascun processo gira in un dominio che determina le operazioni ammesse) role (determina quali domini possono essere usati, RBAC)

concetti ciascuna identity è associata a uno o più ruoli esempio: utente e amministratore le policy dicono quali sono i ruoli di una identità da una certa identity si può passare da un ruolo ad un altro inserendo la password che autentica per quell'indentity (serve a verificare chi e' davanti al terminale) dato il ruolo si sa quale sono i domini in cui si possono muovere i nostri processi esempio un utente può normalmente lanciare un comando per cambiare la password il processo che cambia la password non può fare altro che modificare il file delle password e non, ad esempio cancellare altri file

modalità enforcing mode si effettuano tutti i controlli e si forzano le politiche questa è la modalità in cui si ha mandatory access control permissive mode si effettuano i controlli ma non si forzano le politiche, quando il reference monitor nega l accesso vengono solo generati dei log questa è la modalità in cui si possono effettuare attività amministrative switch tra le due modalità a runtime SECURITY_SELINUX_DEVELOP=y echo 1 >/selinux/enforce echo 0 >/selinux/enforce # se permesso dalla policy

sicurezza al boot scelta se selinux è attivato con selinux=0/1 SECURITY_SELINUX_BOOTPARAM=y SECURITY_SELINUX_BOOTPARAM_VALUE=0 o 1 per sistemi veramente sicuri dovrebbe essere posto BOOTPARAM=n e altro cioè non è possible disattivare selinux dai parametri di boot ma anche: no single user mode, no init=/bin/bash in alternativa GRUB passwords BIOS password del bios disattivazione boot da dispositivi removibili sicurezza fisica si può sempre rubare l hard disk lucchetto al case, lucchetto allo chassis e porta chiusa a chiave o filesystem criptati 21

SELinux è un trusted system? SELinux non è un trusted system ci vuole una certificazione non basta una configurazione del kernel per ottenere una certificazione una specifica configurazione contenente SELinux può essere un trusted system un sistema certificato basato su SELinux Red Hat Enterprise Linux (RHEL) Version 4 Update 1 AS/WS Common Criteria EAL4+, gennaio 2006