Pagina 1 di 1
Criptare /etc e /home!
Inviato: mer 27 feb 2008, 1:42
da spudhead
Ciao a tutti!
Mi sono imbattuto casualmente su questo file: README_CRYPT.TXT che si trova nel DVD/CD di installazione di Slackware 12 (
ftp://ftp.slackware.com/pub/slackware/s ... _CRYPT.TXT).
In poche parole spiega come criptare l'intero filesystem (o una parte di esso) di Slackware in fase di installazione!
Ho deciso così di provarci (ovviamente con QEMU!!!) ma con qualche modifica: vorrei criptare solamente /home e /etc in quanto sono secondo me le parti del filesystem più vulnerabili (contenendo i vari file di configurazione e info personali). Infatti basta una distro live per modificare /etc/passwd ed eliminare la password di root o leggere le password di thunderbird o firefox. Inoltre criptare tutto / secondo me renderebbe il sistema più lento...
Secondo voi è possibile? Sapete come fare? Nel file c'è scritto solo come criptare /home o tutto /...
Secondo me se provo a criptare anche /etc ci saranno dei problemi perché in /etc ci sono i file per decriptare la partizione stessa quindi è un ciclo infinito!
Qualche idea???
Ciao!
Giorgio
Re: Criptare /etc e /home!
Inviato: mer 27 feb 2008, 3:10
da murdock
spudhead ha scritto:
[CUT]
Secondo voi è possibile? Sapete come fare? Nel file c'è scritto solo come criptare /home o tutto /...
Secondo me se provo a criptare anche /etc ci saranno dei problemi perché in /etc ci sono i file per decriptare la partizione stessa quindi è un ciclo infinito!
Beh, così a spanne, mi verrebbe da considerare il fatto che se "cripti" / , "cripti" di conseguenza anche /etc, salvo casi particolari od imposti...
Mi vien quindi da dire che a regola, criptare /etc non dovrebbe comportare problemi, se non magari qualche accorgimento particolare indicato nel file da te su scritto, riguardo la "criptazione" di / , a cui bisogna prestare attenzione...
Saluti,
MuRdOcK
Re: Criptare /etc e /home!
Inviato: mer 27 feb 2008, 8:31
da sid77
spudhead ha scritto:Secondo voi è possibile? Sapete come fare? Nel file c'è scritto solo come criptare /home o tutto /...
in realtà il file siega come criptare singole partizioni non di boot o la partizione /
ora, visto che il problema principale di criptare / è che poi hai qualche problema a ricreare i device all'avvio o a pescare kernel e initrd, la procedura è più complicata. imho puoi provare a criptare la partizione di /etc come faresti con quella di /home. un altra opportunità è aspettare la prossima versione di slackware: in -current è stato recentemente migliorato il supporto ai crypto fs dentro initrd.
Re: Criptare /etc e /home!
Inviato: mer 27 feb 2008, 8:59
da albatrosla
La soluzione a questi dubbi si carpisce dallo stesso file README:
A big NOTE finally. When you encrypt your root filesystem, you will have
to make sure that there will be at least one (small) partition which is left
unencrypted. This partition will contain your kernel(s) to boot from,
the initrd that is needed with encrypted volumes, and you need to install
LILO either to the MBR - or if that is not possible, into the root sector
of this small unencrypted partition. You will probably guess why we can
not use an encrypted partition for this...
La crittografia è di tipo trasparente, è gestita dal solo kernel, il quale non può e non deve essere criptato, al pari dell'initrd. Detto questo, il kernel si occupa poi di far vedere al sistema le partizioni come decriptate, in modo trasparente, per l'appunto. E' quindi possibile rendere criptata qualsiasi
partizione. Significa che non puoi fare una directory criptata ed una no: se vuoi rendere criptata /etc sei "costretto" a creare una partizione /etc. Mi par strano dunque che ci siano anche problemi, come dice sid77, a creare i device. Il kernel è libero di gestire i device, in quanto avviato dal bootloader (che lo "vede" in quanto non criptato). Quando il kernel ha finito il suo lavoro, essendo in grado di leggere le partizioni criptate, passa il controllo all'init del sistema, che monta in modo trasparente le partizioni, criptate o meno che siano: mi sfugge dove possano annidarsi eventuali problemi, anche se personalmente - per quanto mi fossi informato in passato su queste tecniche di cifratura - non ho mai provato in prima persona l'artifizio.
Re: Criptare /etc e /home!
Inviato: mer 27 feb 2008, 9:18
da tgmx
Prendo spunto dalla discussione per aggiungere un grado di difficoltà...
... e se uno volesse criptare la /home di un server a cui non è attaccato nessun monitor o tastiera e che periodicamente viene riavviato?
Dite che sarebbe possibile un approccio web o magari tramite ssh per l'inserimento della password di de-criptazione?
Re: Criptare /etc e /home!
Inviato: mer 27 feb 2008, 9:52
da spudhead
Allora, ieri notte ci ho provato...
Ho fatto partire il DVD di installazione di Slackware 12 con QEMU e ho creato 5 partizioni:
Codice: Seleziona tutto
hda1 per /boot/
hda2 per swap
hda3 per /
hda5 per /etc --> da criptare
hda6 per /home --> da criptare
Poi ho criptato le 2 partizioni:
Codice: Seleziona tutto
cryptsetup -s 256 -y luksFormat /dev/hda5
cryptsetup -s 256 -y luksFormat /dev/hda6
e le ho aperte:
Codice: Seleziona tutto
cryptsetup luksOpen /dev/hda5 cryptetc
cryptsetup luksOpen /dev/hda6 crypthome
e si son creati i device
/dev/mapper/cryptetc e
/dev/mapper/crypthome
Dopodiché ho eseguito setup per installare il sistema (ovviamente senza X, KDE ecc perché con QEMU ci avrebbe impiegato 3000 anni!) e gli ho detto di mettere / in hda3, /etc in
/dev/mapper/cryptetc e /home in
/dev/mapper/crypthome.
Quando è arrivato il momento di LILO ho fatto come scritto nel file README: ho aperto una console (ALT+F2) e ho eseguito questo comandi:
(N.B. non ho dovuto montare gli altri filesystem perché il setup già li aveva montati in /mnt)
Codice: Seleziona tutto
mount -o bind /proc /mnt/proc
mount -o bind /sys /mnt/sys
chroot /mnt
mkinitrd -c -k 2.6.21.5 -m ext3
ho modificato /etc/lilo.conf:
Codice: Seleziona tutto
...
boot = /dev/hda
...
image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = /dev/hda3
label = linux
read-only
ho lanciato
ho creato il file /etc/crypttab
sono uscito dal chroot e ho terminato l'installazione.
In teoria tutto bene, no???
Quando avvio la nuova slack da qemu compare lilo con l'opzione "linux", carica il kernel ma a un certo punto va in kernel panic! Vedete il primo allegato!

- Errore 1
- errore.png (21.8 KiB) Visto 6512 volte
Se invece non creo l'initrd e configuri lilo.conf cosi (e ovviamente lancio lilo -v):
Codice: Seleziona tutto
...
boot = /dev/hda
...
image = /boot/vmlinuz
root = /dev/hda3
label = linux
read-only
quando avvio Slackware mi chiede che runlevel voglio e poi dice che nel runlevel non ci sono altri processi. Vedere il secondo allegato!

- Errore 2
- errore1.png (18.05 KiB) Visto 6513 volte
E secondo me fa questo errore perché /etc non è montato e quindi non sa dove leggere i file di boot (/etc/rc.d/)...
Qualche idea???
Re: Criptare /etc e /home!
Inviato: mer 27 feb 2008, 15:44
da francogdn
spudhead ha scritto:vorrei criptare solamente /home e /etc in quanto sono secondo me le parti del filesystem più vulnerabili
Non sottovalutare la potenza di /tmp, io cripterei anche quello...
Re: Criptare /etc e /home!
Inviato: mer 27 feb 2008, 17:09
da neongen
così a occhio
Codice: Seleziona tutto
mount -o bind /proc /mnt/proc
mount -o bind /sys /mnt/sys
chroot /mnt
servono solo se cripti tutto / (tranne /boot come suggeriscono)
il problema (come dici tu) è che non sa come montare /etc, dato che le informazioni stanno lì dentro e l'unico modo documentato per farlo è
Codice: Seleziona tutto
mkinitrd -c -k 2.6.21.5 -m ext3 -f ext3 -r cryptroot -C /dev/sda1 -L
che però a detta dell'help
-C Use cryptsetup to enable the underlying device of an
encrypted root partition. Requires '-r' parameter with the
*mapped* device name as argument, like:
-C /dev/sda2 -r cryptroot
where the actual root device name in /etc/fstab is:
/dev/mapper/cryptroot
per cui non mi pare possa funzionare con una partizione non root;
ma dato che sei in vena di tentativi prova a dare un
Codice: Seleziona tutto
mkinitrd -c -k 2.6.21.5 -m ext3 -f ext3 -r cryptetc -C /dev/hda5 -L
facci sapere...

Re: Criptare /etc e /home!
Inviato: mer 27 feb 2008, 17:25
da spudhead
Detto fatto... Ecco il risultato: mi chiede le password per LUKS (wow) ma poi va in kernel panic!
Re: Criptare /etc e /home!
Inviato: ven 29 feb 2008, 14:06
da sbabaro
IMHO non mi sembra una buona idea mettere etc su una partizione a parte
Quando avvia il sistema il kernel monta la root e poi cerca l'init che abbisogna dei file di configurazione (tra cui fstab)
meglio criptare tutto /
Re: Criptare /etc e /home!
Inviato: mer 5 mar 2008, 23:38
da bhackerozzo
penso anch'io che la migliore soluzione sia tagliare la testa al toro e criptare tutto.
considera che il collo di bottiglia nell'accesso al disco è il disco stesso, non di certo il tempo perso dal kernel per (de)criptare i dati, anche perché ormai le cpu sono molto veloci. io ho fatto per prova una partizione criptata con device mapper e non ho visto nessun rallentamento. mi sa che un giorno proverò a criptare tutto il filesystem, sissi.
Re: Criptare /etc e /home!
Inviato: gio 6 mar 2008, 12:19
da conraid
Ma criptare / a cosa serve? Per le configurazioni in /etc? Dove ci sono password basta fare dei link simbolici in altra partizione criptata.
Per il resto / contiene il sistema operativo, è sempre cosa buona e giusta separare / da /home, da /var e da partizioni che volete per i dati. Se proprio uno vuole non usa lo spam e mette separato anche /tmp
Non vedo la necessita di criptare /
Cosa mi sfugge?
Re: Criptare /etc e /home!
Inviato: gio 7 ago 2008, 16:33
da CruncH
scusate se m'intrometto ma ho provato a criptare / seguendo la guida di pat funziona tutto all'avvio chiede il passphrase luks, metto la password, e poi kissà perché decide di riavviarsi. l'autenticazione va a buon fine forse è un problema del file init nell'initrd.gz non so spero che qualcuno riesca ad aiutarmi, le sto provando tutte!!!
grazie in anticipo