Cifrare FileSystem in Linux
|
|
|
- Modesto Papi
- 9 anni fa
- Visualizzazioni
Transcript
1 ICT Security n. 45, Maggio 2006 p. 1 di 6 Cifrare FileSystem in Linux Nell'articolo precedente abbiamo visto come cifrare lo swap usando cryptsetup in Linux. Vogliamo ora invece cifrare una partizione dati. Per fare questo utilizziamo i comandi LUKS (Linux Unified Key Setup) di cryptsetup per gestire la partizione virtuale cifrata. Cryptsetup-luks Cryptsetup-luks permette di gestire in maniera avanzata le passphrase utilizzate per accedere ai filesystem cifrati. Il processo utilizzato da cryptsetup-luks è il seguente. Il filesystem è cifrato con una master-key generata automaticamente in modo pseudo-casuale al momento della creazione iniziale del filesystem cifrato. La master-key viene poi scritta in forma cifrata, con lo stesso algoritmo con cui è cifrato il filesystem, negli header della partizione. Esistono 8 slot ciascuno dei quali può contenere una versione della master-key cifrata con una passphrase diversa, almeno uno degli 8 slot deve essere occupato. E' possibile quindi utilizzare sino a 8 diverse passphrase per accedere al filesystem, e questo sistema permette anche di cambiare passphrase semplicemente creandone una nuova e cancellando quella vecchia. La master-key non è però cifrata direttamente con la passphrase, ma con una chiave generata dalla passphrase con il processo di hashing detto PBKDF2 [2], questo per prevenire possibili attacchi di dizionario alle master-key cifrate dovuti alla debolezza intrinseca delle passphrase. Ulteriori accorgimenti sono stati presi per diminuire le possibilità di vari attacchi alle master-key cifrate quali procedure anti-forensi [1]. La procedura di utilizzo Il filesystem cifrato deve essere creato dall'amministratore di sistema (root), mentre per le usuali operazioni di utilizzo l'amministratore può creare degli script e utilizzare strumenti quali sudo per permettere agli utenti di montare/smontare autonomamente i filesystem cifrati. Queste procedure non sono indicate nei nostri esempi, ma supponiamo che l'utente abbia sufficienti privilegi per poter
2 ICT Security n. 45, Maggio 2006 p. 2 di 6 eseguire i comandi. In Tabella 1 sono riportati i principali comandi per la creazione di un filesystem cifrato sulla partizione /dev/hdd1, che ovviamente deve essere vuota di ogni contenuto. Prima di tutto, con il comando dd la partizione viene riempita di dati casuali (questo comando può richiedere parecchio tempo per essere eseguito). La casualità dei dati iniziali è molto importante per proteggersi da possibili attacchi crittografici. Poi il primo comando cryptsetup crea la tavola della partizione cifrata nel device /dev/hdd1, con l'algoritmo AES a 256bit 1, e chiede la passphrase con cui viene cifrata la master-key e scritta negli header della partizione nello slot numero 0. Il secondo comando cryptsetup monta la partizione cifrata sul device /dev/mapper/dm-crypt-dev, questo può essere controllato con il comando cryptsetup status dm-crypt-dev. Come abbiamo indicato nell'articolo precedente, scopo di questo device virtuale è quello di de/cifrare tutti i dati che lo attraversano in modo che sul disco i dati siano sempre cifrati, mentre l'utente possa accedervi in chiaro. Si noti come quest'ultimo comando cryptsetup riporta il numero di slot in cui è posizionata la master-key decifrata, è importante notare il numero di slot poiché sarà poi necessario quando si vorrà cambiare o cancellare questa passphrase. I successivi comandi creano un filesystem nella partizione cifrata (per semplicità lo abbiamo scelto di tipo ext3, default in Linux) e poi montano il nuovo filesystem sulla directory /home/user/dm-crypt-dir, dando anche la proprietà della root directory interna al filesystem all'utente. A questo punto l'utente può accedere ai propri dati contenuti nella partizione cifrata /dev/hdd1 tramite la directory /home/user/dm-crypt-dir. Nelle Tabelle 2 e 3 sono riportati i comandi che l'utente successivamente deve utilizzare per montare e smontare il filesystem cifrato. Come abbiamo detto, questi comandi richiederebbero il privilegio di amministratore per essere eseguiti, ma l'amministratore può permettere, con usuali configurazioni dei sistemi operativi UNIX, all'utente di eseguirli direttamente. Si noti che solo il comando 1 Per maggiore protezione contro gli attacchi di watermarking e simili, si consiglia di usare l'algoritmo aes-cbcessiv:sha256 che adotta una gestione più sofisticata degli IV.
3 ICT Security n. 45, Maggio 2006 p. 3 di 6 cryptsetup luksopen richiede la passphrase necessaria per decifrare la master-key. In Tabella 4 sono riportati i comandi per creare una nuova passphrase o cancellarne una vecchia, ove NUM è il numero di slot ove è la passphrase che si vuole cancellare. Ovviamente la creazione di una nuova passphrase richiede la verifica di una passphrase precedente anche perché deve essere decifrata la master-key per poter essere cifrata con la nuova passphrase. Si noti che se si cancellano tutte le passphrase, tutti i dati sono persi in quanto non è più possibile recuperare la master-key (ovviamente il sistema avverte prima di eseguire questo il comando). Usare un file come contenitore di un filesystem cifrato Invece di usare una partizione fisica del disco, è anche possibile creare un file che contenga la partizione cifrata. Per fare questo utilizziamo oltre a cryptsetup anche losetup che permette di utilizzare un file come se fosse una partizione. In Tabella 5 sono riportati i principali comandi per la creazione di un filesystem cifrato di 100MB, come indicato dal parametro DimMB. Con il comando dd viene quindi creato un file di 100MB, /home/user/dm-crypt-file, riempito di dati casuali. Con il comando losetup questo file viene montato come se fosse un device sul device virtuale /dev/loop0. Poi si possono usare i comandi indicati nelle Tabelle 1, 2 e 3 (eccetto il comando dd ovviamente) sostituendo /dev/hdd1 con /dev/loop0. In ogni caso prima dei comandi cryptsetup per montare la partizione bisogna utilizzare il comando losetup per connettere /dev/loop0 al file, e viceversa dopo aver smontato la partizione cifrata bisogna usare losetup per rilasciare il device /dev/loop0. E' necessaria una avvertenza: quando si usa un filesystem cifrato basato su di un file, è meglio che il filesystem di base in cui è il file contenitore, non sia di tipo journalling, altrimenti potrebbe essere possibile che diverse copie di settori del file contenitore cifrato siano presenti sul disco, dando la possibilità ad un crittoanalista di mettere in atto alcuni tipi di attacchi. Alcune considerazioni
4 ICT Security n. 45, Maggio 2006 p. 4 di 6 Il sistema appena descritto permette di gestire le passphrase e cifrare filesystem, sia interi dischi che partizioni di dischi che partizioni basate su file. Nel caso di partizioni basate su file vi è anche la possibilità di spostare/copiare il filesystem cifrato su altri elaboratori, anche con sistemi operativi diversi. Ad esempio FreeOTFE (Free On-The-Fly Encryption) per sistemi operativi Microsoft è compatibile con cryptsetup-luks. D'altra parte una partizione od un file contenente una partizione cifrata con cryptsetup-luks è facilmente riconoscibile data la particolare struttura degli header della partizione fisica su disco che deve contenere la master-key cifrata con le varie passphrase. L'utilizzo di cryptsetup senza luks, che avevamo utilizzato per cifrare lo swap nel precedente articolo (le due modalità operative si differenziano solo per le opzioni passate al comando), non memorizza su disco la chiave di cifratura ed a prima vista sembrerebbe più sicura sia perché di fatto meno riconoscibile sia perché la chiave di cifratura non risiede nella stessa partizione con i dati. In realtà è ben noto che la gestione manuale delle passphrase o delle chiavi di cifratura è soggetta a molti rischi, e con cryptsetup senza luks non è possibile cambiare la chiave (l'unica possibilità è creare un'altra partizione cifrata e copiarvi i dati della precedente), mentre cryptsetup-luks permette di cambiare la passphrase quando si vuole. Cryptsetup-luks permette inoltre di generare passphrase tenute di riserva o per key-escrow, cosa altrimenti non possibile. In conclusione il livello di sicurezza nell'utilizzo dei due modi di cryptsetup dipende molto dagli scopi e dal modo di gestire le passphrase anche se nella maggior parte delle applicazioni cryptsetup-luks è più conveniente. Andrea Pasquinucci [email protected] Riferimenti Bibliografici [1] [2] Burt Kaliski, RFC 2898: PKCS #5 Password-Based Cryptography Specification
5 ICT Security n. 45, Maggio 2006 p. 5 di 6 [3] modprobe aes modprobe sha256 modprobe dm_mod modprobe dm_crypt dd if=/dev/urandom of=/dev/hdd1 cryptsetup -v -y -c aes -s 256 luksformat /dev/hdd1 cryptsetup luksopen /dev/hdd1 dm-crypt-dev mke2fs -j /dev/mapper/dm-crypt-dev mkdir /home/user/dm-crypt-dir chown user.group /home/user/dm-crypt-dir mount /dev/mapper/dm-crypt-dev /home/user/dm-crypt-dir chown user.group /home/user/dm-crypt-dir umount /home/user/dm-crypt-dir cryptsetup luksclose dm-crypt-dev Tabella 1. Creazione del filesystem cifrato cryptsetup luksopen /dev/hdd1 dm-crypt-dev mount /dev/mapper/dm-crypt-dev /home/user/dm-crypt-dir Tabella 2. Attivazione utente del filesystem cifrato umount /home/user/dm-crypt-dir cryptsetup luksclose dm-crypt-dev Tabella 3. Disattivazione utente del filesystem cifrato cryptsetup luksaddkey /dev/hdd1 cryptsetup luksdelkey /dev/hdd1 NUM Tabella 4. Cambio password del filesystem cifrato # Create a 100MB file named dm-crypt-file DimMB="100" dd if=/dev/urandom of=/home/user/dm-crypt-file bs=1m count=$dimmb chown -R user.group /home/user/dm-crypt-file # Attach the dm-crypt-file to the loop0 device losetup /dev/loop0 /home/user/dm-crypt-file
6 ICT Security n. 45, Maggio 2006 p. 6 di 6 # Detach the dm-crypt-file from the loop0 device losetup -d /dev/loop0 Tabella 5. Creazione e gestione di un file che contiene un filesystem cifrato
CRYPTSETUP RAPIDO. man cryptsetup
CRYPTSETUP RAPIDO La presente guida non vuole essere completa, si tratta solo della somma degli appunti utilizzati per creare e gestire una zona cifrata ove salvare i documenti. La distribuzione di riferimento
Configurare Squid con HAVP e Clamav
ICT Security n. 48, Settembre 2006 p. 1 di 7 Configurare Squid con HAVP e Clamav Nel precedente articolo abbiamo visto come aggiungere la funzionalità di anti-virus ad un proxyweb. In questo articolo indichiamo
Crypto Android. Trusted Execution Environment. TrustZone
SMix richiede un vettore di lunghezza N. Visto che la memoria è costosa, implementare Scrypt in hardware è costoso [?] Trusted Execution Environment TrustZone I Trusted Execution Environment (TEE) sono
Un'installazione di base di Ubuntu, prevede la creazione di due partizioni che andranno ad ospitare:
Hardware DispositiviPartizioni PartizionamentoManuale Indice 1. Introduzione 2. Installazione di GParted 3. Alcune nozioni di base 4. Creare partizioni 5. Tabella dei punti di mount 6. Ulteriori risorse
Sicurezza del File System
Sicurezza del File System Luigi Catuogno [email protected] BARONISSI 30 maggio 2002 Cos è un file system Luigi Catuogno - Sicurezza del File System 2 1 Cos è il filesystem Una parte del sistema operativo
SHELL: File e Filesystem
SHELL: File e Filesystem Obiettivi : - Usare i comandi per muoversi all'interno del filesystem - Copiare, spostare, rinominare file e directory - Usare i link - Visualizzare il contenuto di un file - Conoscere
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. ATOS su Linux 32 bit e 64 bit
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS ATOS su Linux 32 bit e 64 bit INDICE Introduzione alla procedura d installazione del software della carta TS-CNS... 3 Installazione per ATOS su
Truecrypt. Alfredo De Santis. Aprile 2014. Dipartimento di Informatica Università di Salerno. [email protected] http://www.dia.unisa.
Truecrypt Alfredo De Santis Dipartimento di Informatica Università di Salerno [email protected] http://www.dia.unisa.it/professori/ads Aprile 2014 TrueCrypt Cifratura di partizioni o intera storage device
Elementi di Sicurezza e Privatezza Lezione 20 PGP cont d - Esercizi
Elementi di Sicurezza e Privatezza Lezione 20 PGP cont d - Esercizi Chiara Braghin [email protected] PGP (1) Software per cifrare la posta elettronica e per la protezione di file di uso personale
Cifratura Simmetrica con OpenSSL
Cifratura Simmetrica con OpenSSL Alfredo De Santis Dipartimento di Informatica Università di Salerno [email protected] http://www.dia.unisa.it/professori/ads Marzo 2017 Cifrari simmetrici Crittosistemi a chiave
Piccolo manuale PGP pubblica privata chiave pubblica chiave privata non firewall personale
Piccolo manuale PGP Il sistema di crittografia si basa su due chiavi una pubblica e una privata. Il mittente e il destinatario si devono scambiare la chiave pubblica per potersi mandare il messaggio codificato
File System ext2. Struttura del filesystem ext2.
Struttura di base File System ext2 Lo spazio fisico di un disco viene usualmente diviso in partizioni; ogni partizione può contenere un filesystem. Nel filesystem ext2 il blocco (block) definisce la minima
1. Introduzione. 1.1 Precauzioni di sicurezza. 1.2 Sistema richiesto. 1.3 Contenuto del pacco
1. Introduzione 1.1 Precauzioni di sicurezza Si prega di osservare tutte le precauzioni prima di utilizzare Prestigio Data Racer I, seguire tutte le procedure descritte in questo manuale e usare correttamente
Esercitazione 2 Certificati
Sommario Esercitazione 2 Certificati Laboratorio di Sicurezza 2016/2017 Andrea Nuzzolese Certificati Descrizione esercitazione Free Secure Email Certificates (con InstantSSL) ALMA MATER STUDIORUM UNIVERSITA
RSA in OpenSSL. Alfredo De Santis. Marzo Dipartimento di Informatica Università di Salerno.
RSA in OpenSSL Alfredo De Santis Dipartimento di Informatica Università di Salerno [email protected] Marzo 2017 http://www.dia.unisa.it/professori/ads Rappresentazione e codifica dei dati Chiavi e parametri
MSAck Hacklab. MSAck is prouds to announce: Metti al sicuro i tuoi dati: cifrali! MSAck::Hacklab C4Occupata WarmUp Hackit 0x0D
MSAck Hacklab MSAck is prouds to announce: Metti al sicuro i tuoi dati: cifrali! Metti al sicuro i tuoi dati Perche': La privacy e' FONDAMENTALE Dove: Email, hard disk, file, swap/paging, etc. Come: Crittografia
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. OBERTHUR su Linux FEDORA DEBIAN/UBUNTU 32 bit e 64 bit
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS OBERTHUR su Linux FEDORA DEBIAN/UBUNTU 32 bit e 64 bit INDICE Introduzione alla procedura d installazione del software della carta TS-CNS... 3
Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS
Windows La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh La gestione dei file conserva la logica del DOS Funzionalità di un S.O. Gestione dei file Gestione dei
Ciao a tutti, oggi vi mostrero' come ho recuperato dei file erroneamente cancellati.
Ciao a tutti, oggi vi mostrero' come ho recuperato dei file erroneamente cancellati. Questa procedura si basa sulla mia esperienza personale, su debian wheezy, e sul filesystem ext4. Proprio perche' il
Fondamenti di GNU/Linux
Fondamenti di GNU/Linux FileSystem e Partizioni Daniele Costarella Ivan Grimaldi Che cos'è un FileSystem In informatica, un file system è un meccanismo
DESlock+ Crittografia Dati
ESET DESlock+ Suite completa di strumenti di crittografia Piattaforma centralizzata web-based Unico prodotto gestisce FDE (Full disk encryption) e Crittografia dei file e cartelle Gestione centralizzata
Linux Guide - Partizionamento manuale
Linux Guide Partizionamento manuale Il programma di installazione su Ubuntu 10.04 e Linux Mint 9 è il medesimo. E questo perché Linux Mint è basata su Ubuntu. Quindi, se si installa uno, il che implica
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. ATOS su Windows 32 bit e 65 bit
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS ATOS su Windows 32 bit e 65 bit INDICE Introduzione alla procedura d installazione del software della carta TS-CNS... 3 Installazione Software
RAID, LVM, LUKS: Play with disks.
RAID, LVM, LUKS: Play with disks. Mario Polino Corsi Avanzati Linux - 2014 RAID POuL M. Polino RAID, LVM, LUKS 2 RAID What? POuL M. Polino RAID, LVM, LUKS 3 RAID What? POuL M. Polino RAID, LVM, LUKS 3
Guida Linux. Molto rapida
Guida Linux Molto rapida Due parole sull ambiente grafico Potete usare: KDE o GNOME Si sceglie prima di mettere la password. Questione di gusti GNOME KDE Il filesystem Ora voi siete nella vostra home È
Telemago legge 'in chiaro' i contenuti dei files telematici.
Telemago legge 'in chiaro' i contenuti dei files telematici. In ogni momento, permette di visualizzare, stampare o convertire in PDF dichiarazioni dell'anno in corso Occorre, semplicemente, disporre dei
Creare e ripristinare immagine di sistema con Windows 7
Creare e ripristinare immagine di con Windows 7 La versione Pro di Windows 7 offre un interessante strumento per il backup del computer: la possibilità di creare un immagine completa del, ovvero la copia
Queste note operative sono valide ESCLUSIVAMENTE dalla versione 2.90 di Metodo.
Queste note operative sono valide ESCLUSIVAMENTE dalla versione 2.90 di Metodo. Per le versioni precedenti fare riferimento all'apposita guida presente all'interno della documentazione. - Metodo può essere
Corso di Sistemi Operativi I/II. Introduzione a Linux. Il File System. Ruggero Donida Labati
Corso di Sistemi Operativi I/II Introduzione a Linux Il File System Ruggero Donida Labati Dipartimento di Informatica via Bramante 65, 26013 Crema (CR), Italy http://homes.di.unimi.it/donida [email protected]
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. OBERTHUR su Windows 32 bit e 65 bit
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS OBERTHUR su Windows 32 bit e 65 bit INDICE Introduzione alla procedura d installazione del software della carta TS-CNS... 3 Installazione Software
Nozioni Base di Linux
Nozioni Base di Linux Shahram Rahatlou http://www.roma1.infn.it/people/rahatlou/labcalc/ Laboratorio di Calcolo Lezione 2 Hardware Sistema Operativo Software Routine e programmi di base per interagire
Organizzazione Fisica dei Dati (Parte II)
Modello Fisico dei Dati Basi di Dati / Complementi di Basi di Dati 1 Organizzazione Fisica dei Dati (Parte II) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Modello Fisico
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. ACTALIS su Windows 32 bit e 65 bit
PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS ACTALIS su Windows 32 bit e 65 bit INDICE Introduzione alla procedura d installazione del software della carta TS-CNS... 3 Installazione Software
Crittografia con OpenSSL crittografia simmetrica
Crittografia con OpenSSL crittografia simmetrica Laboratorio del corso Sicurezza dei sistemi informatici (03GSDOV) Politecnico di Torino AA 2016/17 Prof. Antonio Lioy preparata da: Cataldo Basile ([email protected])
CONFIGURAZIONE E GESTIONE DEL DATABASE. rev giugno 2018
CONFIGURAZIONE E GESTIONE DEL DATABASE rev. 1.5 29 giugno 2018 Indice Introduzione Configurazione iniziale del database Condivisione del database su rete locale (LAN) Cambio e gestione di database multipli
Linux la gestione dei dischi
Linux la gestione dei dischi Agenda I nomi delle unità fisiche in ambiente Linux Partizioni e associazione tra file system e unità Amministrare le unità Nomi delle unità In Linux tutto è un file Ogni unità
Esercitazione 03. Sommario. Gnu Privacy Guard (GPG) Chiavi GPG (1/2) Andrea Nuzzolese. Gnu Privacy Guard (GPG) Descrizione esercitazione
Sommario Esercitazione 03 Andrea Nuzzolese Gnu Privacy Guard (GPG) Principali funzionalità Descrizione esercitazione Scopo Interazione con il sistema Credits: Angelo Di Iorio ALMA MATER STUDIORUM UNIVERSITA
