Criptare /etc e /home!

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
spudhead
Linux 1.x
Linux 1.x
Messaggi: 130
Iscritto il: sab 17 dic 2005, 0:17
Slackware: 12.2
Kernel: 2.6.28.7
Desktop: KDE 3.5.10
Località: Ancona, Italy

Criptare /etc e /home!

Messaggio 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

Avatar utente
murdock
Linux 2.x
Linux 2.x
Messaggi: 477
Iscritto il: ven 25 mag 2007, 12:58
Slackware: 64 14.1
Kernel: 3.18.3
Desktop: KDE 4.14.3
Contatta:

Re: Criptare /etc e /home!

Messaggio 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

Avatar utente
sid77
Linux 3.x
Linux 3.x
Messaggi: 568
Iscritto il: mer 1 giu 2005, 0:00
Slackware: 12.0/12.1/curr (ppc)
Località: PowerPC
Contatta:

Re: Criptare /etc e /home!

Messaggio 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.

albatrosla
Packager
Packager
Messaggi: 1339
Iscritto il: sab 27 mar 2004, 0:00
Slackware: current
Desktop: fluxbox.git
Località: Collegno, but made in Friûl
Contatta:

Re: Criptare /etc e /home!

Messaggio 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.

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: Criptare /etc e /home!

Messaggio 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?

Avatar utente
spudhead
Linux 1.x
Linux 1.x
Messaggi: 130
Iscritto il: sab 17 dic 2005, 0:17
Slackware: 12.2
Kernel: 2.6.28.7
Desktop: KDE 3.5.10
Località: Ancona, Italy

Re: Criptare /etc e /home!

Messaggio da spudhead »

Allora, ieri notte ci ho provato... :evil: :evil: :evil:

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

Codice: Seleziona tutto

lilo -v
ho creato il file /etc/crypttab

Codice: Seleziona tutto

crypthome   /dev/hda6
cryptetc    /dev/hda5
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 1
errore.png (21.8 KiB) Visto 5317 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
Errore 2
errore1.png (18.05 KiB) Visto 5318 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???

Avatar utente
francogdn
Linux 2.x
Linux 2.x
Messaggi: 320
Iscritto il: ven 19 mag 2006, 10:52
Distribuzione: Fedora
Località: Torino

Re: Criptare /etc e /home!

Messaggio 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...

Avatar utente
neongen
Packager
Packager
Messaggi: 827
Iscritto il: ven 25 mag 2007, 12:37
Nome Cognome: Enrico
Slackware: 14.0_64
Kernel: 3.4.4
Desktop: KDE 4.5.5
Distribuzione: Maemo 5
Contatta:

Re: Criptare /etc e /home!

Messaggio 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 :doubt: :doubt: :doubt:

Codice: Seleziona tutto

mkinitrd -c -k 2.6.21.5 -m ext3 -f ext3 -r cryptetc -C /dev/hda5 -L

facci sapere... :thumbright:

Avatar utente
spudhead
Linux 1.x
Linux 1.x
Messaggi: 130
Iscritto il: sab 17 dic 2005, 0:17
Slackware: 12.2
Kernel: 2.6.28.7
Desktop: KDE 3.5.10
Località: Ancona, Italy

Re: Criptare /etc e /home!

Messaggio da spudhead »

Detto fatto... Ecco il risultato: mi chiede le password per LUKS (wow) ma poi va in kernel panic!
Allegati
prova.png
prova.png (20.74 KiB) Visto 5107 volte

sbabaro
Packager
Packager
Messaggi: 388
Iscritto il: ven 9 set 2005, 0:00
Slackware: slack 12.1
Kernel: 2.6.26 ricompilato
Desktop: gslacky

Re: Criptare /etc e /home!

Messaggio 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 /

bhackerozzo
Linux 0.x
Linux 0.x
Messaggi: 67
Iscritto il: sab 18 dic 2004, 0:00

Re: Criptare /etc e /home!

Messaggio 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.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Criptare /etc e /home!

Messaggio 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?

CruncH
Linux 0.x
Linux 0.x
Messaggi: 4
Iscritto il: mar 29 lug 2008, 15:40
Slackware: 12.2
Kernel: 2.6.25.11-smp
Desktop: Kde 3.87

Re: Criptare /etc e /home!

Messaggio 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

Rispondi