Newsgroup: it.comp.os.linux.sys
Titolo: Ext3 criptata e prestazioni deludenti

Ciao,
su una Mandriva 2006 (kernel 2.6.12mdk, 64 bit) ho avuto la necessità di 
criptare una partizione e con diskdrake ho creato una partizione ext3 
criptata (con loop-aes) AES256 che funziona, viene chiesta la password 
di mount al boot (opzionale), è affidabile, ecc.
Problema: le prestazioni sia in lettura che in scrittura sono deludenti. 
Copiando un file da konqueror parte a 4MB/sec per poi scendere fino a 
3MB/sec. Il sistema è un athlon64 3000+ e su fs in chiaro la copia dei 
file sta a 20MB/sec e oltre. Durante la copia il sistema è praticamente 
inutilizzabile, uso CPU al massimo e 30-40 secondi per avviare firefox ;(
La riga corrispondente in fstab è la seguente:
/dev/hda1 /mnt/encrypted ext3 encryption=AES256,encrypted,user,exec 0 0
Con windows in passato avevo utilizzato truecrypt, con l'aggravante di 
essere appoggiato ad un file e non a una partizione e di funzionare a 32 
bit anzichè 64... Risultato molto migliore, era equivalente ad un fs in 
chiaro.
Sono il primo ad avere questi problemi? Google non mi è stato d'aiuto.
Qualcuno ha provato altri FS tipo reiser, xfs, o moduli tipo dmcrypt e 
truecrypt? Non vorrei impazzire e perdere tutti i dati cercando di 
testare tutte le alternative possibili.
Grazie per l'aiuto.
-- 
the_m

 
per avviare firefox?
mai hai criptato tutto il filesystem? Ma lavori al pentagono, sei un
agente del sismi?
Ma non era sufficiente criptare la partizioni dei dati (la home)?
Ho forse firefox e' lento a leggere scrivere dai file della cache?
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
  printf $i }'; echo

 mai hai criptato tutto il filesystem?
Grazie per la risposta.
No, ho criptato solo una partizione dati e firefox ovviamente non è in 
quella partizione! (è su una ext3 in chiaro) :(
Firefox era solo un esempio per dire che tutto il sistema diventa quasi 
inutilizzabile per qualsiasi operazione durante l'accesso ai file su 
ext3 criptata
ciao
-- 
the_m

 3MB/sec.
E' ovvio che qualcosa non va:
http://www.saout.de/tikiwiki/tiki-index.php?page=UserPageChonhulio
 

 
http://www.saout.de/tikiwiki/tiki-index.php?page=UserPageChonhulio
miezzica. stando a quella tabella dovrebbe scensere da 4 a 3, invece lui e'
sceso da da 20 a 3 :)


 di mount al boot (opzionale), è affidabile, ecc.
Sul server uso cryptsetup -c aes-cbc-plain e le prestazioni sono ottime,
sul portatile per permettere di montare la partizione sia su Windows che
su linux uso truecrypt che tu hai citato.
E` più lentino (e usa una partizione FAT32 per la max compatibilità) ma
funziona bene e ci metti 30 secondi ad installarlo ;)
Se servono info chiedimi, se vuoi ho fatto uno script di avvio per Slack
che monta la partizione se c'è la penna usb con la chiave inserita (poi
ovviamente smonta la penna usb!).

> Ho forse firefox 
hai hai hai!

 hai hai hai!
ahi ahi ahi! :P

 su una Mandriva 2006
Una volta trovai una mandriva installata su una sottospecie di server 
che aveva il debug di EXT3 attivato (JBD se non sbaglio), potrebbe 
essere il tuo caso.
L'utilizzo dei fs crypt non andrà ad inficiare più del 25% sulle 
performance (è chiaro che su unità FB la cosa cambia).

 Problema: le prestazioni sia in lettura che in scrittura sono deludenti. 
Ringrazio tutti per gli interventi.
Mi rispondo da solo nel caso possa essere d'aiuto a qualcuno.
Togliendo da /etc/fstab l'opzione "exec" ed aggiungendo "noauto", le 
prestazioni sono tornate normali e la riga è diventata:
/dev/hda1 /mnt/encrypted ext3 encryption=AES256,encrypted,user,exec 0 0
Quindi "exec" o l'assenza di "noauto" portavano al problema.
Ora le prestazioni sono nettamente migliorate, passando a 15-16MB/sec 
per la copia dei file.
Rimane purtroppo il problema del sistema inutilizzabile quando c'è un 
grosso carico di lettura o scrittura sulle partizioni criptate.
Il processo loop0 gira di default con priorità -20 (realtime) e anche 
portandolo a valore 0 con un renice, non si risolve nulla.
-- 
the_m

 per la copia dei file.
sě, pero' non mi sembra da poco, togliere l'opzione exec da una home (se
di home si tratta).

 di home si tratta).
beh, fin quando non mette l'opzione 'noexec' non succedera' un bel nulla :)


 beh, fin quando non mette l'opzione 'noexec' non succedera' un bel nulla :)
e ci hai ragione !
mi sono ingarbugliato con le opzioni di default :)




Io io lo voglio! ;)
Si può? 
Grazie.
-- 
Real Users never know what they want, but they always know when your
program doesn't deliver it.

 beh, fin quando non mette l'opzione 'noexec' non succedera' un bel nulla :)
veramente (secondo quanto riportato da diskdrake), l'opzione user 
implica automaticamente noexec, quindi va specificato exec in caso sia 
necessario
-- 
the_m

 Grazie.
Ecco qua, lo uso sia con cryptsetup che con TrueCrypt.
La chiave $KEY viene caricata dalla penna USB /dev/seckey (nel mio caso,
quindi o vi fate una regola di udev oppure sostituite con /dev/sdxx).
#!/bin/sh
DEV=/dev/hda2
KEY=client.key
MNT=/mnt/crypt
MNTOPT=rw,umask=000
if [ "$1" = "stop" ]; then
  echo "Stopping Auth..."
  if [ -n "`mount | grep "$MNT"`" ]; then
    umount -fl "$MNT"
  fi
  if [ -e "/dev/mapper/`echo "$KEY" | cut -d. -f1`" ]; then
    cryptsetup remove "`echo "$KEY" | cut -d. -f1`"
  fi
  if [ -n "`losetup /dev/loop0 2> /dev/null`" ]; then
    losetup -d /dev/loop0
  fi
  if [ -n "`truecrypt --list 2> /dev/null | grep "$MNT" | cut -f1 -d" "`" ]; then
    truecrypt -d "`truecrypt --list 2> /dev/null | grep "$MNT" | cut -f1 -d" "`"
  fi
elif [ "$1" = "restart" ]; then
  echo "Restarting Auth..."
  if [ -n "`mount | grep "$MNT"`" ]; then
    umount -fl "$MNT"
  fi
  if [ -e "/dev/mapper/`echo "$KEY" | cut -d. -f1`" ]; then
    cryptsetup remove "`echo "$KEY" | cut -d. -f1`"
  fi
  if [ -n "`losetup /dev/loop0 2> /dev/null`" ]; then
    losetup -d /dev/loop0
  fi
  if [ -n "`truecrypt --list 2> /dev/null | grep "$MNT" | cut -f1 -d" "`" ]; then
    truecrypt -d "`truecrypt --list 2> /dev/null | grep "$MNT" | cut -f1 -d" "`"
  fi
  sleep 1
  if [ -e /dev/seckey ]; then
    mount -o ro /dev/seckey /mnt/seckey
    # Check if $DEV is a truecrypt fs
    TC="`truecrypt -k "/mnt/seckey/$KEY" -p "" --properties "$DEV" 2> /dev/null | grep Location:`"
    if [ -z "$TC" ]; then
        DMAP="`echo "$KEY" | cut -d. -f1`"
        if [ -f "$DEV" ]; then
          losetup /dev/loop0 "$DEV"
          cryptsetup -c aes-cbc-plain -d "/mnt/seckey/$KEY" create "$DMAP" /dev/loop0
        else
          cryptsetup -c aes-cbc-plain -d "/mnt/seckey/$KEY" create "$DMAP" "$DEV"
        fi
        mount "/dev/mapper/$DMAP" "$MNT" && echo "Mounted."
    else
        truecrypt -M "$MNTOPT" -p "" -k "/mnt/seckey/$KEY" "$DEV" "$MNT" && echo "Mounted $TC"
    fi
    umount -fl /dev/seckey
  fi
 
else # assume $1 = start:
  echo -n "Starting Auth... "
  if [ -e /dev/seckey ]; then
    mount -o ro /dev/seckey /mnt/seckey
    # Check if $DEV is a truecrypt fs
    TC="`truecrypt -k "/mnt/seckey/$KEY" -p "" --properties "$DEV" 2> /dev/null | grep Location:`"
    if [ -z "$TC" ]; then
        DMAP="`echo "$KEY" | cut -d. -f1`"
        if [ -f "$DEV" ]; then
          losetup /dev/loop0 "$DEV"
          cryptsetup -c aes-cbc-plain -d "/mnt/seckey/$KEY" create "$DMAP" /dev/loop0
        else
          cryptsetup -c aes-cbc-plain -d "/mnt/seckey/$KEY" create "$DMAP" "$DEV"
        fi
 
        mount "/dev/mapper/$DMAP" "$MNT" && echo "Mounted."
    else
        truecrypt -M "$MNTOPT" -p "" -k "/mnt/seckey/$KEY" "$DEV" "$MNT" && echo "Mounted $TC"
    fi
    umount -fl /dev/seckey
  fi
fi

 criptata (con loop-aes) 
Questa è una scelta discutibile. Usa LUKS (cryptsetup).
-- 
Per rispondermi, togli il nome del poeta



ma tua sai cosa e' l'opzione user? Lo hai anche collegato al fatto che
stiamo parlando della directory home?
vuoi che l'utente debba potersi montare e smontare la directory home? che
senso ha?


 senso ha?
ops ... ma tu sei l'autore del thread :)
sbaglio o parlavi della directory home? Quindi che ci fai con l'opzione
user?


 stiamo parlando della directory home?
No, non si tratta della directory home ma di una sotto /mnt.
Mi serve che anche gli utenti possano montare/smontare questa dir
ciao
-- 
the_m

 portandolo a valore 0 con un renice, non si risolve nulla.
Provato ad usare un nice ancora più alto (tipo 5)?
-- 
Lorenzo `paulatz' Paulatto
Trieste
``Grandissima mi par l'inezia di coloro che vorrebbero che Iddio avesse
fatto l'universo più proporzionato alla piccola capacità del lor discorso.''
     --Galileo Galilei (Opere VII)