istruzioni generali - Politecnico di Torino

Esercitazioni pratiche di Sicurezza Informatica
Laboratorio del corso “Sicurezza dei sistemi informatici” (03GSD)
Politecnico di Torino – AA 2014/15
Prof. Antonio Lioy
preparata da:
Cataldo Basile ([email protected])
Andrea Atzeni ([email protected])
v. 1.10 (9/10/2014)
1
L’ambiente di lavoro
Le esercitazioni si svolgono usando la distribuzione Linux live Kali, versione 1.09. Abbiamo creato una
ISO “custom” che contiene tutti i package necessari allo svolgimento delle esercitazioni. Potete scaricare
l’immagine ISO dal sito del corso:
http://security.polito.it/˜lioy/sw/kali-linux-1.0.9-amd64-custom.iso
Al boot di Kali vi apparir`a una schermata simile a quella in Figura 1.
Figura 1: Schermata iniziale di Kali 1.09
Scegliete ““Live (amd64)”” per avviare il sistema operativo. Data la durata delle esercitazioni (≤3 ore), in laboratorio vi sconsigliamo di caricare l’immagine in RAM (perch´e il caricamento richiederebbe parecchio tempo
data la velocit`a di un DVD, inoltre Kali occuperebbe circa 3 GB di RAM, lasciandone poca per i processi).
Per configurare la tastiera potete usare i comandi:
• loadkeys language (in console);
1
• setxkbmap language (in modalit`a grafica).
ove language pu`o essere it per la tastiera italiana (deprecata) oppure us per la tastiera americana (consigliata).
Al termine della fase di boot, Kali 1.09 avr`a gi`a configurato la rete correttamente se e` presente un server
DHCP (es. in laboratorio, oppure a casa se avete un AP wireless). Altrimenti bisogner`a configurare la rete
manualmente con ifconfig (vedi comandi sotto). Il server grafico X (per limitare le dimensioni della ISO
abbia incluso GNOME come unico Desktop Environment) partir`a automaticamente all’avvio e l’ambiente di
lavoro apparir`a come in Figura 2.
Figura 2: Ambiente di lavoro Kali
Si ricorda di seguito la sintassi di alcuni comandi utili durante lo svolgimento delle esercitazioni (NOTA: le
parentesi quadre racchiudono qualcosa di opzionale, le parentesi graffe racchiudono una scelta, le parole in
corsivo sono un segnaposto da sostituire con un dato appropriato).
• per creare un nuovo utente
useradd username
passwd username
mkdir /home/username
chown username:users /home/username
• per cambiare utente, in particolare per diventare root:
su [-] [ username ]
dove se non specificate username si assume root
• per ottenere informazioni sull’uso di un comando/programma:
man program name
• per avviare/fermare/riavviare servizi:
/etc/init.d/servicename { start | stop | restart }
• per conoscere la configurazione di rete della vostra macchina (indirizzo IP, netmask, . . . ):
ifconfig
• per configurare la rete manualmente
ifconfig interfaccia IP netmask netmask
route add default gw defaultGW IP
2
2
Riprodurre l’ambiente di laboratorio a casa . . .
Gli esercizi che vi proporremo richiedono al massimo l’uso di tre PC contemporaneamente (in un solo caso,
per la creazione di gateway IPsec, ne servono quattro) e nelle prossime sezioni descriveremo come riprodurre
a casa un ambiente molto simile a quello di laboratorio.
2.1
. . . con macchine fisiche
Se avete a disposizione tre PC, potete collegarli in rete fra loro con uno switch, come mostrato in Figura 3. La
connessione ad Internet non e` necessaria per la maggior parte degli esercizi, ma in alcuni casi sar`a necessario
scaricare aggiornamenti ai programmi. In ogni caso, pu`o essere utile per reperire il materiale necessario e documentazione di approfondimento o semplicemente per accedere ai testi delle esercitazioni disponibili online.
Figura 3: Topologia di rete domestica
Nel caso non abbiate un server DHCP che assegna automaticamente gli indirizzi IP alle macchine, dovrete
specificare la configurazione manualmente (come indicato sopra, riferitevi alla pagina di manuale di ifconfig
per maggiori dettagli).
Potete anche realizzare una rete WiFi (il router ADSL fa sia da switch che da router), ma prestate attenzione
perch´e alcuni driver di schede di rete wireless hanno delle limitazioni (per cattura e inserimento di pacchetti)
che potrebbero compromettere l’esito di alcuni esercizi (i problemi noti sono segnalati nel testo dell’esercizio). Queste limitazioni sono sempre pi`u rare e tipicamente risolubili usando una diversa versione del driver o
configurandolo opportunamente.
2.2
. . . con la virtualizzazione
Potete usare la virtualizzazione come strumento per avere a disposizione una o pi`u copie di Kali funzionanti
contemporaneamente su un’unica macchina fisica. La soluzione che adottiamo richiede di usare l’immagine
ISO di Kali come DVD virtuale per le macchine che andremo a creare: dovete quindi avere una copia locale
della ISO di Kali.
Ma attenzione, come per le reti WiFi, anche la virtualizzazione, che emula in software il comportamento di
dispositivi di rete, potrebbe compromettere l’esito di alcuni esercizi. Anche in questo caso, i rarissimi problemi
– quasi tutti legati all’uso del protocollo UDP – sono segnalati nel testo dell’esercizio.
2.2.1
Oracle VM VirtualBox
Nel seguito descriviamo come utilizzare VirtualBox un prodotto di virtualizzazione gratuito disponibile per
piattaforma Linux e Windows. La versione cui facciamo riferimento in questo documento e` la 4.3.16 che
potete scaricare alla URL https://www.virtualbox.org/wiki/Downloads.
3
Figura 4: Selezione del file ISO con VirtualBox
La documentazione e` disponibile alla URL https://www.virtualbox.org/wiki/Documentation.
Per l’installazione guardate il Capitolo 2 della guida Oracle VM VirtualBox User manual: http://download.
virtualbox.org/virtualbox/UserManual.pdf.
VirtualBox e` pi`u leggero dal punto di vista computazionale nel caso si usi una singola VM, ma non scala
benissimo con l’aumentare del numero di VM rispetto ai prodotti commerciali. Per questo motivo, gestire pi`u
di due VM su un PC di qualche anno fa con soli 2 GB di RAM potrebbe davvero essere stressante ma non
presenta grossi problemi con PC pi`u recenti.
In alternativa, l’unico altro prodotto gratuiro e` VMWare Player1 (fate riferimento alla documentazione ufficiale
per la creazione ed installazione delle VM di tipo Live) che per`o noi non supporteremo per le esercitazioni di
questo corso. Gli altri prodotti gratuiti sono invece stati ritenuti meno idonei. VMware vSphere Hypervisor e`
davvero troppo per le nostre necessit`a e VMServer non e` pi`u mantenuto dal 2010. Nel caso si avesse una licenza,
anche VMWare Workstation e` adatto ai nostri scopi (tuttavia non ci sentiamo di consigliarvi di acquistarlo).
Assumiamo ora che abbiate un gestore di macchine virtuali funzionante; possiamo quindi procedere a creare
le VM necessarie per il laboratorio. Nel caso abbiate deciso di usare VirtualBox, vi consigliamo anche di installare il “VirtualBox Extension Pack” disponibile sempre alla URL https://www.virtualbox.org/wiki/
Downloads. Dal menu “File > Preferences” di VirtualBox, cliccate su Extensions ed aggiungete il file che
avete scaricato2 .
1 In
teoria, VMware Player non supporta un numero sufficiente di VM (massimo 1, in pratica si pu`o ovviare a questa limitazione).
versione disponibile al momento della scrittura di questo documento per VirtualBox 4.3.16 e`
Oracle VM VirtualBox Extension Pack-4.3.16-95972.vbox-extpack
2 L’ultima
4
Figura 5: Selezione del file ISO con VirtualBox
Scegliendo il pulsante “New” si attiva la procedura di creazione di una nuova VM guidata che consiste nelle
seguenti fasi (cfr. Figura 4):
• scelta del nome e del tipo di sistema operativo: noi abbiamo creato quattro VM (con i nomi degli utenti
che useremo nelle varie esercitazioni: Alessandro, Beatrice, Claudio e Francesca), con sistema operativo
“Linux” e versione “Debian (64 bit)” (si ricorda che Kali e` basata su Debian). Abbiamo inoltre creato
una secondo VM per Beatrice a cui abbiamo associato 2048 MB (vedi punto sotto);
• scelta della dimensione della RAM da riservare alla VM: vi consigliamo di riservare almeno 256 MB di
RAM per ogni VM anche se sono consigliati 768 MB. In un solo caso, per effettuare un vulnerability
assessment con OpenVAS sar`a necessaria una VM con almeno 1.5 GB di RAM (si noti che la memoria
allocata ad una VM pu`o essere anche cambiata successivamente dal menu Settings), questa e` la ragione
della seconda macchina virtuale Beatrice-2048MBRAM;
• scelta dell’Hard Disk: deselezionate “Do not add a Virtual Drive” e continuate (imposteremo in seguito
il boot da DVD).
Selezionando la VM appena creata ed in seguito il pulsante “Settings” e` possibile aggiungere un CD/DVD:
• selezionate “Storage” (comparir`a una finestra come quella in Figura 5);
• cliccate su “device CD/DVD” presente sotto “Controller IDE”, poi dal tab “Attributes” rendetelo “IDE
Primary Master”, cliccate sul simbolo del disco per aggiungere il drive a cui agganciarlo, poi cliccate
su “choose a virtual CD/DVD file” e scegliete l’ISO di Kali (kali-linux-1.0.9-amd64-custom.iso ).
Infine, spuntate la checkbox “Live CD/DVD”
• cliccate col tasto destro su “Controller IDE” e scegliete “Add CD/DVD Device”, vi apparir`a una finestra,
scegliete “Choose Disk”, vi permetter`a di selezionare direttamente un nuovo file ISO, andate nella cartella
di installazione di VirtualBox e scegliete la ISO VBoxGuestAdditions.iso, sono le Guest Additions di
VirtualBox che vi permetteranno di usare delle cartelle condivise tra VM ed il sistema operativo della
vostra macchina fisica, le porte USB e risoluzioni in modalit`a grafica superiori a 800 × 600;
Abbiamo riscontrato dei problemi con le macchine virtuali NAT-ted che adesso sono completamente isolate, ricevono dal DHCP interno a VirtualBox lo stesso indirizzo IP (10.0.2.15, come spiegato a pag. 174 del
Manuale VirtualBox disponibile qui http://download.virtualbox.org/virtualbox/UserManual.pdf) e
5
sono inutilizzabili per le nostre esercitazioni. Per questo vi consigliamo di renderle “Bridged”. Premendo il
pulsante “Settings”, dopo aver selezionato la VM da configurare, e` possibile modificare le impostazioni di rete selezionando “Network”. Nel nostro caso bisogna cambiare il campo “Attached to”, da “NAT” a “Bridged
Adapter” selezionando la scheda di rete a cui attaccarla.
Installare su Kali le guest addition e abilitarle e` altrettanto semplice3 . La ISO delle Guest Additions e` gi`a
“montata” nella cartella /media/VBOXADDITIONS 4.3.16 95972 (se avete eseguito alla lettera le istruzioni in
questo documento ed avete la stessa versione di Guest Addition). E` per`o prima necessario installare il supporto
al file system di tipo Virtual Box tramite il seguente comando:
apt-get install dkms
In seguito bisogna eseguire (sono necessari un paio di minuti al massimo):
/media/VBOXADDITIONS 4.3.16 95972/VBoxLinuxAdditions.run
Per creare le cartelle condivise, da VirtualBox, selezionate la VM a cui volete permettere l’accesso, cliccate su
“Settings”, poi selezionate “Shared Folders” Cliccate sul pulsante “Add shared folders”, selezionate il percorso
della cartella da condividere all’interno del vostro PC e infine assegnatele un nome (es. sharedfolders).
Poi, create sulla VM che avete scelto una cartella (es. /sharedfolders) ed agganciatela alla cartella condivisa
precedentemente creata con il seguente comando:
mount -t vboxfs sharedfolders /sharedfolders
il primo sharedfolders e` il nome che avete assegnato alla cartella condivisa nella fase di creazione della
cartella condivisa, il secondo /sharedfolders e` il nome della cartella interna alla VM.
3 Istruzioni
alla pagina https://www.virtualbox.org/manual/ch04.html
6