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
© Copyright 2024 Paperzz