# partition verschlüsseln mit dmcrypt

## toskala

für alle die schon immer ganz leicht ihren festplatten inhalt verschlüsseln wollten, hier ein howto wie das mittels dm-crypt klappt.

UPDATES:

2004-06-12 -- portage overlay verweis eingelinked

2004-04-12 -- tips/tools erklärt nun wie man udev verwendet

2004-04-12 -- portage overlay informationen erweitert

2004-04-12 -- neue version von crypto_mount verfügbar

2005-08-30 -- neue version von crypto_mount verfügbar

inhalt

1. vorwort

2. todo-liste

3. vorraussetzungen

4. kernel kompilieren mit den benötigten features

4.1. device mapper support

4.2. cipher algorithms

5. benötigte software

6. backup der daten-partition machen

6.1 vorbereitungen für die crypto-partition

7. das mapper-device verwenden

8. zusätzliche tips/tools

9. performance

10. FAQ

1. vorwort

bevor ihr das howto anfangt solltet ihr ein backup der daten anlegen, welche auf der zu verschlüsselnden partition liegen. die partition wird neu formatiert, die daten sind sonst futsch! wie das genau geht ist in dem howto beschrieben.

für fragen, klagen, anträge bin ich natürlich immer offen und würde mich freuen, wenn es konstruktive beiträge gibt  :Smile: 

achja, selbstverständlich passiert das alles hier auf eigene gefahr, ich kann nur sagen, dass alles genau so funktioniert hat, wie ich es hier aufgeschrieben habe. ich hoffe ich habe alles so einfach und transparent als möglich geschildert, aber sollte dennoch ein unfall passieren, dann kann ich nix dafür.

2. todo liste

derzeit ist alles fein  :Wink: 

3. vorraussetzungen:

- device mapper support

- crypt target support

- aes cipher algorythmls

- cryptosetup

- installiertes gpg (gnu privacy guard)

4. kernel kompilieren

4.1. device mapper und crypt target:

unter dem kernel 2.6 findet man den "device mapper support"  und den "crypt target support" als unterpunkt von "device drivers -> multi-device support (raid and lvm)"

anzuschalten ist hierbei das folgende:

```
[*] Multiple devices driver support (RAID and LVM)

<*>   Device mapper support

<*>     Crypt target suppor
```

4.2. aes cipher algorithms:

unter dem kernel 2.6 findet man den support hierfür unter "cryptoghraphic options". 

anzuschalten ist hierbei das folgende:

```
<*>   AES cipher algorithms (i586)
```

man könnte das alles auch als modul bauen, da ich aber davon ausgehe, dass man das device sowieso bei nahezu jedem reboot benutzen möchte ist das wenig sinnbringend. wers dennoch will muss eben mit modprobe die module nachladen.

mit diesen einstellungen den kernel neu übersetzen und den rechner rebooten, danach gehts weiter.

5. benötigte software

cryptsetup installieren

bevor mit cryptsetup gearbeitet werden kann, muss es installiert werden. schlicht und ergreifend

```
emerge sys-fs/cryptsetup

```

für dieses howto ist es erforderlich, dass ihr gpg (gnu privacy guard) installiert habt. falls das nicht eh schon der fall ist, installieren via 

```
emerge app-crypt/gnupg
```

installieren.

6. backup der daten-partition machen

wie im vorwort bereits erwähnt, ist es ratsam vor dem folgenden prozedere ein backup aller daten auf der platte zu machen, welche in zukunft verschlüsselt werden soll.

szenario:

/dev/hda5 ist gemounted auf /mnt/dump

in zukunft soll der inhalt von /mnt/dump aber verschlüsselt werden, kein problem, nur vorher sollte alles auf /mnt/dump mittels tar gesichert werden.

zuerst muss geprüft werden ob wir ungefähr soviel freien speicherplatz haben wie ein backup von /mnt/dump benötigt, wohlgemerkt auf einer anderen partition  :Wink: 

nachdem diese prüfung erfolgreich war, mit tar ein backup erzeugen, das geht so:

```
tar -cvpf /mnt/backup/dump.tar /mnt/dump
```

das kann durchaus lange dauern... je nachdem wie gross die datenmenge ist, die es zu sichern gilt.

wenn dieser vorgang durchgelaufen ist, sollte man sich noch vergewissern ob das archiv auch funktioniert und nicht beschädigt ist, dies prüft man mittels:

```
tar -tvpf /mnt/backup/dump.tar
```

wenn hier nichts von einem error berichtet wird, dann hat alles geklappt und es kann weitergehen.

6.1. vorbereitungen für die crypto-partition

key erzeugen

```
head -c 1000 < /dev/urandom | uuencode -m - | grep -v begin | head -c 32 >NAME.key
```

hierbei sollte "NAME" durch den gewünschten namen ersetzt werden, den man dem key geben möchte.

das keyfile brauchen wir als eine art "zündschlüssel" für die partition. der zugang zu der festplatte wird nur freigegeben wenn man das richtige keyfile hat und das dazugehörige kennwort.

den key verschlüsseln

```
gpg -c NAME.key
```

ACHTUNG! die sicherheit der ganzen verschlüsselung liegt selbstverständlich in der stärke des kennworts welches du hier bei gpg vergibst. ich schlage vor, du überlegst dir ein mantra. ein mantra ist eigentlich ein kurzer gebetsspruch.

naja, nimm einen satz den du dir leicht merken kannst und verwende gross und kleinschreibung. ein kennwort von 8 oder 10 zeichen ist relativ leicht zu knacken, ein satz wie "Morgen früh hab ich bestimmt Muskelkater vom vielen Steine klopfen!" jedoch nicht. also im eigenen interesse: mantra verwenden  :Wink: 

den key löschen

```

shred NAME.key

rm NAME.key

```

7. device mapper konfigurieren

das device an den device mapper koppeln

ACHTUNG! WER JETZT NOCH KEIN BACKUP GEMACHT HAT SOLLTE ES DEFINITIV VORHER TUN!

```
gpg --quiet -d NAME.key.gpg | cryptsetup -h plain create MAPPERNAME /dev/hdXX
```

hierbei ist natürlich wieder zu beachten, dass NAME.key mit dem entsprechenden namen deines erzeugten keys ersetzt wird. MAPPERNAME ist der name des gewünschten mapperdevices und hdXX muss durch deine zu mappende echte festplattenpartition ersetzt werden.

beispiel:

```

gpg --quiet -d dump.key.gpg | cryptsetup -h plain create dump /dev/hdd1
```

alles klar? gut, weiter also.

das mapperdevice formatieren

```

mke2fs -j /dev/mapper/MAPPERNAME
```

beispiel:

```

mke2fs -j /dev/mapper/dump
```

mounten des mapperdevices

naja, jetzt wie gewohnt mounten, nur nicht die eigentliche partition sondern das mapper device

```

mount -t ext3 -o user /dev/mapper/MAPPERNAME /mnt/MOUNTPOINT
```

beispiel:

```
mount-t ext3 -o user /dev/mapper/dump /mnt/cryptodump
```

so, eigentlich wars das.

jetzt ist das mapperdevice gemounted und die daten werden verschlüsselt darauf abgespeichert.

zu beachten ist allerdings, dass nach jedem reboot das mapper device entfernt wird, es muss also neu angelegt werden. 

8. zusätzliche tips/tools

crypto-mount

hier das in-offizielle ebuild für anarcho's script "crypto-mount".

aktuelle version:

http://www.daniundmaz.de/gentoo/crypto-mount-0.6.1a.ebuild

http://www.daniundmaz.de/gentoo/crypto-mount-0.6.1a.tar.gz

jetzt muss nur noch das crypto-mount ins portage overlay gesteckt und emerged werden. 

```
mkdir /usr/local/portage/sys-apps/crypto-mount

cd /usr/local/portage/sys-apps/crypto-mount

mv crypto-mount-<version>.ebuild .

emerge crypto-mount-<version>.ebuild digest

emerge crypto-mount
```

für weitere infos zum thema portage_overlay clickst du hier: http://de.gentoo-wiki.com/HOWTO_Portage_Overlay_konfigurieren

erzeugen einer regel für udev, um den usbstick immer an der selben stelle zu haben

wichtig: damit das hier mit udev funktioniert muss natürlich udev installiert werden. wie das geht erklärt der gentoo udev-guide, zu finden hier: http://www.gentoo.org/doc/de/udev-guide.xml

alternativ ist auch eine anleitung auf dem gentoo-wiki zu finden:

http://de.gentoo-wiki.com/HOWTO_von_devfs_zu_udev_wechseln

nun aber los... 

zuerst mal den usbstick umounten und ausstöpseln, falls er noch irgendwie in benutzung sein sollte. danach als root 

```
octane root # tail -f /var/log/messages
```

eintippen und den usbstick einstecken. dann scrolled ungefähr der folgende output runter:

```

Dec  5 20:08:12 octane usb 1-6: new high speed USB device using address 15

Dec  5 20:08:12 octane scsi13 : SCSI emulation for USB Mass Storage devices

Dec  5 20:08:12 octane Vendor: SONY      Model: Storage Media     Rev: 1.00

Dec  5 20:08:12 octane Type:   Direct-Access                      ANSI SCSI revision: 02

Dec  5 20:08:12 octane SCSI device sdb: 253952 512-byte hdwr sectors (130 MB)

Dec  5 20:08:12 octane sdb: assuming Write Enabled

Dec  5 20:08:12 octane sdb: assuming drive cache: write through

Dec  5 20:08:12 octane sdb: sdb1

Dec  5 20:08:12 octane Attached scsi removable disk sdb at scsi13, channel 0, id 0, lun 0

Dec  5 20:08:12 octane Attached scsi generic sg4 at scsi13, channel 0, id 0, lun 0,  type 0

Dec  5 20:08:12 octane USB Mass Storage device found at 15

Dec  5 20:08:12 octane scsi.agent[12893]: disk at /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.0/host13/13:0:0:0
```

naja, wichtig ist hierbei erstmal folgendes:

```

Dec  5 20:08:12 octane sdb: assuming Write Enabled

Dec  5 20:08:12 octane sdb: assuming drive cache: write through

Dec  5 20:08:12 octane sdb: sdb1

```

das verrät, dass der usbstick nach /dev/sdb1 gemapped wurde.

nun brauchen wir einen eindeutigen identifier für den stick. das findet man recht fix raus mittels:

```

octane root # udevinfo -a -p /sys/block/sdb/sdb1 | grep product

    SYSFS{product}="Storage Media"

    SYSFS{product}="Intel Corp. 82801DB (ICH4) USB2 EHCI Controller"

```

jetzt muss man nur noch eine regel verfassen, die den usbstick auch immer brav an die gewünschte stelle mounted

```

octane root # vi /etc/udev/rules.d/50-udev.rules 

```

die default rules anpassen und hier:

```

# cdrom symlinks and other good cdrom naming

BUS="usb", SYSFS{product}="Storage Media", KERNEL="sd*", NAME="%k", SYMLINK="usbstick"

```

eintragen. das sorgt nun dafür, dass der usbstick nach /dev/usbstick gemapped wird. das muss man nun nur noch in der /etc/fstab anpassen und natürlich auch in der /etc/crypto-mount.conf wenn man das script von anarcho benutzt.

nun den usbstick wieder einstecken und kucken ob das device /dev/usbstick erzeugt wird. wenn alles geklappt hat, dann ist man auf jeden fall die querelen los, dass der usbstick (wie bei mir) immer von /dev/sda1 über sdb1, sdc1 und sdd1 wieder zurück auf sda1 gewandert ist.

9. performance

viele beschäftigt auch die frage nach der performance, ich habe mich das auch gefragt und nach dem "ausprobieren" festgestellt, dass es eigentlich alles recht flott geht.

ich habe einen pentium4, 2,4ghz, 1gb ram und die verwendete festplatte ist eine 7200rpm samsung 120gb platte.

ohne verschlüsselung schafft mein system auf dieser platte beim kopieren von grossen dateien (2gb files) laut mc (midnight commander) ca 38mb / sec.

beim schreiben und lesen auf die verschlüsselte partition schaffe ich zwischen 14 und 15mb / sec.

vollkommen ausreichend für die meisten anwendungsfälle, aber man muss sich bewusst sein, dass es durchaus eine cpu intensive geschichte ist, diese verschlüsselei.

10. FAQ

Q: ich habe mal gehört dass, wenn man festplattenverschlüsselung einsetzt, alle daten zu matsch verarbeitet werden, wenn der strom ausfällt, stimmt das?

A: es besteht immer das risiko, dass das dateisystem schaden abbekommt wenn es unsauber unmounted wird, jedoch ist das risiko bei einer verschlüsselten partition afaik nicht höher, mir ist zumindest noch nichts passiert.

Q: stimmt es, dass der akku des notebooks schneller leer wird beim verwenden einer verschlüsselten partition?

A: naja, das stimmt insofern, als dass das lesen und schreiben auf so eine partition mehr cpu last verursacht und dadurch mehr strom verbraucht. wieviel mehr kann ich leider nicht sagen, aber bei meinem system produziert das schreiben grosser dateien durchaus eine load von 1,2...

----------

## ank666

 *toskala wrote:*   

> falls jemand ergänzungen, korrekturen oder ähnliches hat, einfach posten, ich pflege das dann gerne in das howto ein 

 

Hallo,

ich hätte eine Frage und zwar habe ich mal gehört dass, 

wenn man Festplattenverschlüsselung einsetzt, alle Daten zu Matsch verarbeitet werden, 

wenn der Strom ausfällt bzw. der Akku schneller leer ist als gedacht.

Stimmt das oder ist das eher Quatsch?

----------

## toskala

das die daten automatisch zu matsch verarbeitet werden halte ich für unsinn (ich habe jedenfalls nie was drüber gelesen und beim letzten mal hart resetten ist mir nix passiert), dass der akku schneller leer wird, naja, dazu kann ich nicht viel sagen da ich derzeit kein notebook benutze, aber es gibt natürlich einen gesteigerten stromverbrauch, da das wegschreiben und lesen der daten die cpu fordert.

----------

## AnubisTheKing

wie sieht es denn mit der Preformance aus? Ist die viel niedriger als bei einer nicht verschlüsselten Platte?

Bis dann

AnubisTheKing

----------

## toskala

also was das thema performance angeht bin ich recht zufrieden.

ich habe einen p4 mit 2,4ghz und benutze für die crypto platte eine samsung 120gb platte die mit udma 66 rennt.

ich schaffe ohne cryptographie ca 38mb / sec beim kopieren und mit eingeschalteter crypterei ca 15mb / sec.

man merkt den unterschied schon, aber wenn man das problem mal realistisch betrachtet siehts doch so aus:

anwendungsfall, mp3s, divx, dvds, etc.:

du schaufelst das ding voll und spielst es mit mplayer ab. dafür reicht die performance allemal aus.

anwendungsfall, als fileserver:

einmal vollschaufeln, deine 100mbit karte packt sowieso meist keine 15mb / sec... von daher reichts auch hier.

das einzige was man beachten sollte ist eben, einen einigermaßen schnellen rechner zu haben. also auf einem p2 233 würde ich keine performance wunder erwarten.

----------

## oscarwild

vielen Dank für dieses wirklich gelungene Howto  :Smile: 

----------

## toskala

hihi, danks fürs lob  :Smile: 

es gibt noch eine sache, über die ich mir den kopf zerbreche. ich würde folgende zwei dinge ermöglichen:

- mount der partition beim booten mit abfrage.

- mount der partition als user, mittels sudo. 

beides zickt derzeit noch. falls da jemand mitbasteln will?...  :Wink: 

----------

## Haldir

Zum boot start:

ich hab meinen code in /etc/conf.d/local.start

#!/bin/sh

modprobe dm-crypt

cryptsetup create crypted /dev/sda4

mount /crypted

Das ist für Crypto ohne gpg, gpg geht dann analog  :Wink: 

Perfomance seitig brauchst du gut 1ghz rechenleistung rein für crypto.

Beim crashen passiert nicht viel, da es eh eine Sektorbasierte Verschlüsselung ist, gibt aber auch keine große Überprüfung. also entweder er mounted die Platte oder du kriegst z.b. ne FS - Fehlermeldung das er den Superblock usw nicht finden konnte, dann weißt das dein Passwort falsch ist  :Wink: 

----------

## toskala

 *Haldir wrote:*   

> Zum boot start:
> 
> ich hab meinen code in /etc/conf.d/local.start
> 
> #!/bin/sh
> ...

 

nein, mit gpg geht leider nicht analog, weil es dann meckert, von wegen, dass es nicht die nötigen pfade finden würde wonach denen gpg gestartet werden möchte.

schön wärs, auf die idee bin ich auch schon gekommen  :Wink: 

----------

## Haldir

Hmm das ist komisch, bei local.start sollten doch schon alle Pfade usw gesetzt worden sein.

----------

## toskala

jar, aber es will einen user unter dessen ~/.gpg das ganze geraffel liegt und das funktioniert so irgendwie nicht.

ich muss mich mal drum kümmern, dass ich das hinbekomme. der plan für das tool hier ist sowieso noch ein ordentliches init-script, welches die arbeit erledigt und evtl. ein k-dialog frontend für das mount script pro user.

also mal sehen was das wird... so viel kram und so wenig zeit

----------

## abcd

Hallo,

wozu ist es eigentlich erforderlich, die Festplatte zu verschluesseln?

Mfg, abcd.

----------

## Haldir

vielleicht mit sudo oder su - user -c probieren ?

Ansonsten kann man bei gpg sicher noch das keyring dir spezifizieren

steht glaubi im loop-aes tutorial drin, da gibts ein Beispiel wie man loop-aes und gnupg zusammen benützt: http://loop-aes.sf.net

Die Frage ist in der heutigen Zeit eher, wieso nicht verschlüsseln  :Smile: 

Ich will z.b. nicht das jeder meine E-Mails liest der irgendwann mal access zu meinem computer hat usw, Passwörter in home Verzeichnissen usw.

Ich denk z.b. nen Laptop unverschlüsselt in der Öffentlichkeit mitzunehmen ist fahrlässig  :Wink: 

Gründe gibts genug, nicht jeder der verschlüsselt ist gleich Krimineller  :Wink: 

----------

## daff

Das Howto sieht sehr gut aus, werd das sehr bald brauchen müssen. Und zwar für einen Firmen-Backupserver, und da hab ich gleich eine Frage, vielleicht kennt sich ja jemand aus (ist vermutlich aber nicht ganz das richtige Forum dafür).

Habe vor Bacula zu verwenden und für die Backups ein Raid aus 2 SCSI-Platten anzulegen. Dieses Array will ich mit dm-crypt verschlüsseln. Hab noch nicht viel Ahnung davon wie Bacula funktioniert bzw konfiguriert wird, aber naja.

Jetzt ist die Frage: Wird es funktionieren, eine verschlüsselte Backuppartition zu haben, auf die jede Nacht ein inkrementelles Backup geschrieben wird? Kann Bacula (oder jedes andere Backuptool) damit umgehen, bzw wie würde der Betrieb von sowas aussehen? Wenn die Partition gemounted ist, dann ist sie doch lesbar für jeden der darauf zugreifen kann, richtig? (Daten werden beim Lesen entschlüsselt) So könnte doch jeder, der Zugang zum Rechner bekommt die Backups lesen und entfernen und wwi noch alles? Damit die Backups wirklich sicher sind müsste ich wohl ein Skript schreiben, das das Array vor dem Backupvorgang mounted und danach wieder unmounted, oder?

Oder ist das alles viel simpler und ich bin durcheinander, weil ich noch nicht sehr weit in die Materie eingetaucht bin (die Komponenten für den Rechner werden erst geliefert)? Bitte um ein paar sachdienliche Hinweise oder Links, wenn jemand welche hat  :Smile: 

Danke!

----------

## Haldir

Yup du mußt die Partition jeweils mounten und unmounten, was automatisch relativ dumm ist, nachdem du ja das passwort irgendwo ins script schreiben mußt  :Wink: 

Einziger weg der mir einfällt ? (Jetzt wirds kompliziert :/)

Du mußt den Katalog, also die Information welche Dateien gespeichert wurden mit mtime etc, uncrypted speichern, mit dem Ziel, daß du keinen Zugriff auf das original crypted backuparchiv mehr brauchst.

Dann hast du nur noch das Problem die Incrementalarchive crypted zu speichern, mit Passwörtern die ein möglicher Datenklauer nicht hat.

Mögliche Methode:

dein Password wird von einem Script erzeugt, dann gehashed und per Mail/ssh an einen anderen Rechner gesendet., dieses Passwort wird dann entsprechen für ein Inkrementelles Backup verwendet.

Für die Lösung brauchst aber kein dm-crypt sondern ein file basiertes crypt tool.

Im Readme von aes-pipe (loop-aes.sf.net) gibts nen Beispiel für encrypted tar archive, ich hab mal sowas testweise mit dar und aes-pipe gemacht aber dann wieder verworfen, jedoch ohne Inkrementielle/differential backups.

Ich zumindest glaube, dass du mit einer filebasierten crypto Lösung besser dran bist wenn du die Backups eh in einen/mehrere große Files packst. Imho ist Bacula eh overkill.

Ich mach 1tb Backup immernoch mit dar  :Smile: 

----------

## daff

Danke mal für die Antwort!

Bacula möcht ich verwenden, weil der Hauptprojektserver von der Firma, der gebackupped werden muss, ein Powermac mit MacOS X ist, und soweit ich weiß Bacula eins der wenigen vernünftigen Tools ist, mit dem man crossplattformmäßig und übers Netzwerk backuppen kann.

Deine Vorschläge klingen in der Tat ziemlich kompliziert  :Smile:  Ich schätze ich muss mir das nochmal genau überlegen, eine verschlüsselte Backuppartition wollen die Typen aber haben. Mal sehen was es noch so gibt. Vielleicht ist ja eine filebasierte Verschlüsselungsmethode besser, aber Bacula kann mit sowas auch nicht wirklich umgehen soweit ich gesehen hab...Mist.

Wäre es wohl ein brauchbarer Kompromiss die mount-Skripte mit entsprechenden Permissions (chmod 100 oder so  :Wink: ) zu versehen und von root ausführen zu lassen (cronjob oder so)? Grundsätzlich steht der Server eh relativ sicher im Keller und hinter zwei Routern, aber ideal ist die Methode natürlich nicht.

Vielleicht sollt ich nen eigenen Thread starten in einem passenderen Subforum um das hier nicht zusehr OT werden zu lassen.

Danke auf jeden Fall mal für die Hilfe!

----------

## toskala

so, jetzt war ich gestern ja ein wenig abwesend und habe nix dazu gesagt  :Wink: 

zuerst einmal die frage warum sollte man crypten?

nun, ich für meinen teil habe ein grosses interesse, dass meine daten auch wirklich meine daten bleiben. einfaches beispiel: benutze ich ein notebook und verwende es oftmals unterwegs und es wird gestohlen. alle meine mails, alle meine persönlichen daten, vertrauliche dokumente, meine irc logs und was nicht alles... das geht niemanden was an ausser mir.

man muss ja nicht gleich eine riesen partition verschlüsseln, es reicht ja im prinzip vollkommen eine "crypto-partition" zu machen auf der man sensible inhalte speichert und die hat nach meiner erfahrung jeder.

oder nimm das beispiel "multi-user umgebung" du wohnst in einer wg, familie, etc. ich arbeite grundsätzlich nicht an solchen maschinen ohne die gewissheit zu haben, sicherstellen zu können, dass meine daten exklusiv für mich zugänglich sind.

so, dann die dinge bezüglich sudo und gpg und mounten.

haldir, ja ich dachte auch schon an sudo problematisch an der ganzen kiste ist immer gpg. gpg wirft hässliche fehlermeldungen wenn es via sudo aufgerufen wird, von wegen ob man wirklich root sei etc. pp.

ich werde versuchen mich mal dieses WE damit intensiver zu beschäftigen und evtl. einen weg versuchen das ding via sudo aufzurufen und den ganzen blabla kram zu unterdrücken. mal sehen...  :Wink: 

das verschlüsseln von backups:

ja, das halte ich auch für sehr sinnvoll, aber die diskussion über das mounten entzieht sich meinem verstehen ein wenig. ich denke mir das so: du machst ein backup von einigen systemen (vermutlich wird es einen backup-server geben) der backup server rennt ja sowieso 24/7. also das mounten der backup-partition erledigst du einmal, dann bleibt die gemounted und gut ist.

wird der server geklaut, resetted, runtergefahren, etc. was automatisch passiert wenn sich jemand zugriff verschaffen will (bootdisk, etc) dann ist die backup-partition ja unmounted worden und gesichert.

die alternative hierzu wäre gpg für file verschlüsselung mit einem public key. dann brauchst du nur dafür zu sorgen, dass der private key nicht auf dem server liegt, sondern eben nur aufm usb stick plus zwei drei cds in einem safe... sonst ist evtl. essig mit backup restore  :Smile: 

----------

## Haldir

Ja ich schließ mich hier mal toskala wegen dem Crypto Backup an, mein Vorschlag umgeht primär das Problem wenn der Angreifer schon im Netz ist oder physikalischen Zugriff auf den laufenden Server hat und an die Daten kommt ohne den Server herunterzufahren.

Bei einer lokalen Lösung wo der Backup Server vor Ort relativ sicher ist, reicht dm-crypt dann locker aus  :Smile: .

Das Hauptproblem bei scripten die mounten ist halt immer das gespeicherter Passwort das ein möglicher Angreifer dann halt auch hat.

Daher würde ich, wie Toskala schon sagte, die Backup Platte einmal mounten und dann nicht wieder unmounten, also immer mounted lassen. Damit umgehst du das "Passwort speichern" Problem.

Backup Verzeichnis mit passenden Rechten versehen und das sollte reichen  :Wink: 

----------

## zielscheibe

Hi,

1. Ein Dankeschön für das gute HowTo.  :Smile: 

Habe einmal nach bereits vorhandenen Lösungen für das Usermountproblem gegoogelt. Dabei bin ich auf ein Perlscript gestoßen, welches die Lösung des Problems verheißt.

http://einsteinmg.dyndns.org/projects/cryptoconf/cryptoconf_0.7.0/

Das Problem ist nur, daß dieses Script hier nicht laufen möchte.  :Sad: 

```

./cryptoconf.pl 

Can't locate object method "instance" via package "cryptoconf::strictConfig" (perhaps you forgot to load "cryptoconf::strictConfig"?) at ./cryptoconf.pl line 48.

BEGIN failed--compilation aborted at ./cryptoconf.pl line 49.

```

Meine Perlkenntnisse belaufen sich leider in der Summe auf 0, sodaß ich mit der Fehlermeldung nichts anfangen kann.

Kann sich vielleicht ein kompetenter Gentoouser dieses Script anschauen?

----------

## toskala

1. danks  :Wink: 

du brauchst das cryptoconf package, das müsstest du evtl. emergen schau mal unter /usr/portage/dev-perl/ obs da was passendes gibt.

----------

## Anarcho

Hi!

Da nun meine Windows-Partition entgültig dicht gemacht wird, werde ich den Space für ne crypto-partition verwenden. 

Dann werde ich mir das script mal ansehen, werde das mount-problem ja dann auch haben, da der rechner nicht 24/7 on ist.

----------

## toskala

ich habe mir zu der ganzen "sicherheits und unbequemlichkeits sache" mal ein wenig gedanken gemacht.

es ist einfach so, dass vollständige automation sehr bequem ist, aber eben ein sicherheitsrisiko birgt. 

gute/sehr gute sicherheit ist unbequem, da man selbst interagieren muss und in diesem fall ein mantra eingeben muss.

ich bemühe mich zu verinnerlichen, dass ich eben für eine sichere sache meinen arsch bewegen muss, sprich etwas eintippen soll, beim onlinebanking speicherst du ja auch nicht benutzername und passwort im mozilla-form-manager ab.

und wenn man ehrlich ist... meist läufts doch so: man booted nen rechner und dann läuft er stundenlang... und die 5 sekunden zeit die man vielleicht braucht um das mantra einzutippen sind eher albern im vergleich dazu  :Smile: 

----------

## Anarcho

Das finde ich auch! Ich werde es aber auch auf jedenfall so machen, das man beim hochfahren das pw eingeben muss, sonst macht das ja kaum sinn.

----------

## Bender007

Hi ich habe gestern meine 110 GB PLatte mit dm-crypt verschlüsselt jetzt habe ich allerdings noch ein paar fragen.

1.Und zwar ist es egal ob ich im kernel alle möglichen verschlüsselungs algorithmen kompiliert habe oder benutzt dm-Crypt automatisch AES ? bzw. wie kann ich den algorithmus wählen habe gehört Twofish soll schneller sein?

2.Und mit wieviel Bit ist die Platte standartmäßig (siehe oben how to) verschlüsselt 256 oder 128?

3.Ich habe ein Kennwort mit einer Zeichenlänge von 40 Zeichen es beinhaltet normale buchstaben groß-kleinschreibung nummern und n paar sonderzeichen das sollte doch als guter verschluesselungsschlüssel reichen ?

4.Und die letzte frage den key den ich mit gpg also z.B. server.key.gpg erstellt habe den ich zum mounten brauche brauch ich doch net verstecken oder so also wenn jemand an den key kommt kann er dann die entschlüsselung beschleunigen ?

5.axo noch eine in wie fern ist es wichtig beim verschlüsseln daten auf der platte zu haben und bringt es vergleichbar vielmehr sicherheit als eine leere PLatte die verschlüsselt wird?

AXO ja was soll diese Fehlermeldung ?

mounting crypted partition

gpg: WARNING: message was not integrity protected

Wäre nett wenn mir jemand diese Fragen beantworten könnte sonst komm ich net weiter....

----------

## toskala

 *Bender007 wrote:*   

> Und zwar ist es egal ob ich im kernel alle möglichen verschlüsselungs algorithmen kompiliert habe oder benutzt dm-Crypt automatisch AES? bzw. wie kann ich den algorithmus wählen habe gehört Twofish soll schneller sein?
> 
> 

 

also per default benutzt cryptsetup aes mit 256bit verschlüsselung. du kannst aber auch einen beliebigen anderen algorithmus verwenden, dazu siehe:

```
octane linux # cryptsetup --help

Usage: cryptsetup [OPTION...] <action> <name> [<device>]

  -v, --verbose               Shows more detailed error messages

  -c, --cipher=STRING         The cipher used to encrypt the disk (see

                              /proc/crypto) (default: "aes")

  -h, --hash=STRING           The hash used to create the encryption key from

                              the passphrase (default: "ripemd160")

  -y, --verify-passphrase     Verifies the passphrase by asking for it twice

  -d, --key-file=STRING       Read the key from a file (can be /dev/random)

  -s, --key-size=BITS         The size of the encryption key (default: 256)

  -b, --size=SECTORS          The size of the device

  -o, --offset=SECTORS        The start offset in the backend device

  -p, --skip=SECTORS          How many sectors of the encrypted data to skip

                              at the beginning
```

interessant sind für dich dann -c und -s, das stellt sowohl den cipher als auch die bitrate ein.

 *Bender007 wrote:*   

> 
> 
> Und mit wieviel Bit ist die Platte verschlüsselt 256 oder 128?
> 
> 

 

naja, wenn du nix weiter angegeben hast, 256bit.

 *Bender007 wrote:*   

> 
> 
> Ich habe ein Kennwort mit einer Zeichenlänge von 40 Zeichen es beinhaltet normale buchstaben groß-kleinschreibung nummern und n paar sonderzeichen das sollte doch als guter verschluesselungsschlüssel reichen ?
> 
> 

 

definitiv.

 *Bender007 wrote:*   

> 
> 
> Und die letzte frage den key den ich mit gpg also z.B. server.key.gpg erstellt habe den ich zum mounten brauche brauch ich doch net verstecken oder so also wenn jemand an den key kommt kann er dann die entschlüsselung beschleunigen ?
> 
> 

 

naja, im prinzip schon. also der punkt ist der folgende. bei verschlüsselung geht es im grunde immer um etwas, dass du hast, etwas was du weisst.

wenn ein potenzieller bösewicht weder das key-file hat, noch das passphrase weiss, dann muss er sich direkt mit dem AES auseinandersetzen und noch dazu mit GPG.

gpg verschlüsselt das keyfile und erst aus einem korrekt entschlüsselten keyfile lässt sich dann der aes kram auf der platte entschlüsseln.

wenn du jetzt das keyfile rumfliegen hast, dann reduzierst du die schwierigkeit natürlich auf die länge deines mantra. bei 40 zeichen mit folgendem vorrat [A-Za-z0-9] hast du 62^40 möglichkeiten ein passwort zu produzieren (afaik), naja, plus leerzeichen und sonderzeichen die du evtl. eingebaut hast. das ist zwar recht gut, reicht in allen fällen wohl auch aus, aber natürlich ist das schwächlich im vergleich zu brechen deiner verschlüsselung wenn jemand weder keyfile noch das passphrase kennt.

hmm, also laut bc sind das 496212362459367066914366580195701544604991251555593230875525121862270976 möglichkeiten, recht viel also  :Wink: 

je weniger ein angreifer also hat, desto schwerer wird die aufgabe die cryptographie zu brechen.

letzten endes liegt es natürlich in deinem persönlichen ermessen, wieviel sicherheit du brauchst, im normalfall reicht es aber, dass 40character mantra ist stark genug.

 *Bender007 wrote:*   

> 
> 
> axo noch eine in wie fern ist es wichtig beim verschlüsseln daten auf der platte zu haben und bringt es vergleichbar vielmehr sicherheit als eine leere PLatte die verschlüsselt wird?

 

nein, das ist vollkommen egal.

----------

## toskala

ah, hier hab ich noch was, dass deine frage nach der stärke ausführlich beantwortet:

http://www.metaner.de/1pw/brute-force.html

achja, evtl. gehst du davon aus, dass sich die rechenleistung jährlich verdoppelt, also hätten wir seit 2004 44mio keys / sec, also musst die zeit die gebraucht wird einfach / 4 teilen.

aber selbst bei 44mio keys / sec brauchts noch immer ziemlich lange  :Wink: 

----------

## Bender007

Also vielen vielen dank für die antwort Toskala!

SAgt dir diese Fehlermeldung etwas ?

mounting crypted partition 

gpg: WARNING: message was not integrity protected 

macht mir etwas sorgen das das nicht richtig verschluesselt ist...

da ich die Festplatte mit Reiserfs formatiert habe in dem How to oben benutzt du ja ext3 mir war jetzt aber net 100% klar ob es bei reiserfs zu schwierigkeiten kommen kann?

Gut also ich habe die verschlüsselung genau wie oben in dem HOW-To beschreiben eingegeben das muesste es also AES-256 BIT sein (hast du was davon gehört das Twofisch schneller sein soll? nur so ne frage weil ich das in dem Forum öffters gelesen habe) gibt es eine möglichkeit das zu überprüfen ob er auch wirklich 256 Bit benutzt? Frage nur um 100%ig sicher zu gehen.

ok die geschichte das daten auf der platte sein sollen ist also irrelevant gut damit erspart mirdas schonmal ne menge arbeit. Einige Benutzer im Forum haben nämlich geschriebe das es eine bessere Sicherheit bietet Daten auf der platte zu haben das würde wohl die veschlüsselung nch verbessern...

Ok danach muesste alle geklärt sein .... puh 

Ich frage nur so detailiert nach weil es ein server werden soll und auch sensible daten drauf sind.

axo wegen unmonten habe ich in die /etc/conf.d/local.stop umount /crypto reingeschreiben das sollte doch passen oder?

Und kann ich wenn ich jetzt z.B. in einem Jahr oder so noch eine weitere Festplatte einbaue den gleichen key zur verschluesselung nehmen? weil das was gelesen habe das 2 keys in einem system die perfomance abbremsen kann?

----------

## toskala

 *Bender007 wrote:*   

> 
> 
> SAgt dir diese Fehlermeldung etwas ?
> 
> mounting crypted partition 
> ...

 

ja, das bedeutet einfach nur, dass du den schlüssel den du zum verschlüsseln benutzt hast, nicht signiert hast. ich empfehle dir unter www.gnupg.org dich mal ein wenig schlau zu lesen, da steht alles notwendige was du benötigst, um deinen public/private keyring zu signieren und anderweitig beglaubigen zu lassen.

 *Bender007 wrote:*   

> 
> 
> macht mir etwas sorgen das das nicht richtig verschluesselt ist...
> 
> 

 

sorge unbegründet  :Wink: 

 *Bender007 wrote:*   

> 
> 
> da ich die Festplatte mit Reiserfs formatiert habe in dem How to oben benutzt du ja ext3 mir war jetzt aber net 100% klar ob es bei reiserfs zu schwierigkeiten kommen kann?
> 
> 

 

nö, das ist ja nix anderes als eine festplatte, nur eben "virtuell". du musst dir das so vorstellen:

normalfall:

[festplatte] - [device mapper im kernel] - [filesystem]

in dem verschlüsselten falle:

[festplatte] - [crypto device mapper im kernel] - [filesystem]

also was für ein filesystem du letzten endes da benutzt ist vollkommen schnurz.

 *Bender007 wrote:*   

> 
> 
> Gut also ich habe die verschlüsselung genau wie oben in dem HOW-To beschreiben eingegeben das muesste es also AES-256 BIT sein (hast du was davon gehört das Twofisch schneller sein soll? nur so ne frage weil ich das in dem Forum öffters gelesen habe) gibt es eine möglichkeit das zu überprüfen ob er auch wirklich 256 Bit benutzt? Frage nur um 100%ig sicher zu gehen.
> 
> 

 

gestatte mir die frage, was dich so paranoid stimmt  :Wink: ?

aber nein, ich weiss leider nicht ob twofish schneller ist, einfach ausprobieren würde ich sagen.

und naja, testen ob das wirklich 256bit sind, naja, ich vertrau da dem opensource prinzip und dem sourcecode  :Smile: 

nein, ernsthaft, das wird mit sicherheit 256bit sein wenns drannesteht, probieren kannst du das afaik aber nur, wenn du es wirklich "brute forcen" willst.

 *Bender007 wrote:*   

> 
> 
> ok die geschichte das daten auf der platte sein sollen ist also irrelevant gut damit erspart mirdas schonmal ne menge arbeit. Einige Benutzer im Forum haben nämlich geschriebe das es eine bessere Sicherheit bietet Daten auf der platte zu haben das würde wohl die veschlüsselung nch verbessern...
> 
> 

 

für aes ist es vollkommen egal wie "viel" daten du verschlüsselst. das scheint ein weit verbreiteter irrglaube zu sein, das liegt natürlich an den verschiedenen algorithmen, aber aes macht das schon gut.

 *Bender007 wrote:*   

> 
> 
> axo wegen unmonten habe ich in die /etc/conf.d/local.stop umount /crypto reingeschreiben das sollte doch passen oder?
> 
> 

 

jo, das passt, du kannst es nur nicht mit /etc/conf.d/local.start mounten, das klappt nicht.

 *Bender007 wrote:*   

> 
> 
> Und kann ich wenn ich jetzt z.B. in einem Jahr oder so noch eine weitere Festplatte einbaue den gleichen key zur verschluesselung nehmen? weil das was gelesen habe das 2 keys in einem system die perfomance abbremsen kann?

 

nein, das ist vollkommen egal. also du kannst selbstverständlich den gleichen key verwenden, aber die performance bremst da eher aus, dass du eine zweite platte hast, die ja auch wieder (bei gleichzeitigem beschreiben/lesen) cpu zeit fordert. also wegen dem key mach dir da keine gedanken, die performance wird eher gedrückt, durch das echtzeit lesen/schreiben und bei mehreren platten/partitionen, mit oder ohne verschiedenem key, ist da eher die gleichzeitige anzahl der lese/schreib aktionen der flaschenhals.

----------

## Anarcho

So, ich habe mir nun auch eine dm-crypt partition eingerichtet und mir gedanken über das mounten gemacht. 

Dabei ist folgendes bei rausgekommen:

Ich hatte noch eine alte 8MB Compact-Flash Card, die bei meiner Kamera dabei war, die ich nicht brauche. Auf dieser habe ich das Keyfile angelegt. 

Dann habe ich mir ein script geschrieben welches zuerst diese cf-card mountet, prüft ob das file da ist, dann die crypt-partition mounted und dann die cf-card wieder unmounted. Das ganze prüft auf diverse fehlerquellen und man kann es mit einer conf datei in /etc konfigurieren. 

Was noch fehlt ist die möglichkeit mehrere partitionen anzusprechen. Aber das werde ich noch nachliefern. 

Und nun zum spannenden teil, das Script. Entweder ihr erstellt euch eure dateien selber, oder ihr ladet sie runter:

www.ssm-server.de/crypto_mount.tar.gz

Edit: Neue Version da, siehe unten, download ist auf dem neuesten stand.

----------

## toskala

ja und wo stopfst du das hin, dass es denn mounted? es mounted ja nicht "on-boot" oder?

----------

## Anarcho

Klar, ich habe einfach in die /etc/conf.d/local.start dann reingeschrieben:

crypto_mount

und fertig.

Wenn die compactflashcard dann beim booten drinne ist, wird gemountet, sonst nicht. Funktioniert also wie ein hardware-dongle. 

Bei dem script hat man auch die wahl ob man gpg nutzen will oder nicht. Ich hab das keyfile nicht mit gpg verschlüsselt, da es ja physikalisch getrennt ist. Dann mountet er sogar vollautomatisch wenn die karte drin ist.

Ansonsten fragt er eben noch nach dem Mantra/passwort.

Geht natürlich auch mit ner floppy, muss man nur das device in der config ändern.

----------

## toskala

ja super, dann werd ich das heute abend gleich mal ausprobieren wenn ich wieder zuhaus am rechner bin  :Smile: 

einziges problem was ich grade noch sehe, ich habe diverse usb mass-storage geräte, also mein usb stick, meine kamera, mein mp3 player.

die werden alle auf /dev/sda1 gemapped wenn ich sie einstecke, kann ich irgendwie einstellen, dass mein keydevice /dev/sda1 wird, die kamera sdb1 und der mp3 player sdc1?

sonst würde er ja unter umständen auf der kamera nach dem file suchen, das wäre ja doof  :Wink: 

----------

## Anarcho

Ja, das ist richtig. Das soll man wohl mit udev machen können.

Ansonsten ne lösung: Das keydevice immer beim booten drinne haben und die anderen nur währned des betriebes einstecken. Dann werden die ja hintendran gehängt.

Oder ne diskette nehmen, die ist dann immer /dev/fd0.

----------

## Haldir

Grundsätzlich ist die Annahme das man Daten auf der Platte haben muß (also nicht Sektoren mit Inhalt 0000) noch aus der Zeit von cryptoloop, die den ECB mode genommen hat, dieser Mode (Electronic CodeBook Mode) führte dazu das jeder Sektor mit gleichem Inhalt auch encrypted den gleichen Inhalt hatte  :Wink: . dm-crypt jedoch fügt noch nen IV hinzu (InitVektor), nämlich die Sektornummer, damit ist das Problem nicht mehr vorhanden. Grundsätzlich war das Problem auch noch bei den ersten loop-aes Versionen vorhanden.

Bei dm-crypt ist das ganze nicht mehr so schlimm, das ist jetzt sicher genug  :Wink: 

Btw wegen Benchmarks, Twofish ist nicht generell schneller als AES. Hat sehr viel mit der Implementation zu tun  :Wink: 

http://www.saout.de/tikiwiki/tiki-index.php?page=UserPageChonhulio

----------

## toskala

@Anarcho:

ja, da kommt jetzt ein kleines problem:

ich habe dein script jetzt mal eingebaut, das zeugs auf meinen usb stick gesteckt und konfiguriert. händisch als root einmal crypto_mount und crypto_umount eingetippert, tut.

in die /etc/conf.d/local.start getan und dann bekomme ich beim booten zuerst mal diese fehlermeldung:

 *Quote:*   

>  * Starting local...
> 
> mount: wrong fs type, bad option, bad superblock on /dev/mapper/mp3,
> 
>        or too many mounted file systems
> ...

 

woher kommt denn das? wenn ich als root eingelogged bin, dann kann ich von hand die beiden befehle wieder aufrufen und schwupps, sie tun.

*wunder*   :Confused: 

----------

## toskala

 *Anarcho wrote:*   

> Ja, das ist richtig. Das soll man wohl mit udev machen können.
> 
> Ansonsten ne lösung: Das keydevice immer beim booten drinne haben und die anderen nur währned des betriebes einstecken. Dann werden die ja hintendran gehängt.
> 
> Oder ne diskette nehmen, die ist dann immer /dev/fd0.

 

hehe, und ja, ich sehe schon, ich muss mich auf meine alten tage noch mit udev rumschlagen  :Wink: 

----------

## Anarcho

Hast du es mit gpg verschlüsselt?

Und wenn ja, kommt die pw abfrage?

----------

## toskala

ja, ich verschlüssle mit gpg, und nein, die pw abfrage kommt nicht. problem: ich muss jetzt gleich weg, ich komm aber so in 2-3std. wieder.

hier aber meine config datei:

```
USE_GPG="yes"                   # Is the keyfile encrypted with gpg?

MAPPER_NAME="dump"               # Mapper-device name

DEVICE_NAME="/dev/hdd1"         # Name of the partition-device, e.g. hda3

CRYPTSETUP_OPTIONS=""          # Options for cryptsetup like -s 128 -h plain

KEYFILE="dump_key.gpg"              # Name of the keyfile

KEYDEVICE_NAME="/dev/sda1"      # Name of the device where the key should be found

KEYDEVICE_MOUNT="/camera"       # Mountpoint for the keydevice 

CRYPTO_MOUNT="/dump"             # Moutpoint for the crypto-device

CRYPTO_FS="ext3"                # Filesystem of the crypto-device

MOUNT_OPTIONS="user,exec"       # Mountoptions for the crypted device

RELOAD_USB_STORAGE_MODUL="no"   # Defines whether the script should reload the usb_storage modul or not
```

wie gesagt, händisch ausgeführt tuts.

----------

## Anarcho

Ich denke ich habe das problem gefunden: gpg steht bei dir beim hochfahren noch nicht im pfad, daher findet er es nicht. Es gibt nun ne neue Version, die das problem beheben sollte, da nun absolute pfade angegeben sind. Hoffe es klappt damit:

Edit: Fehler in neuer Version behoben, siehe weiter unten oder hier downloaden:

www.ssm-server.de/crypto_mount.tar.gz

----------

## toskala

hey anarcho,

wieder da, grade mit der neuen version von dir rebooted, leider hab ich immernoch den selben fehler.

hmm hmm, kann man irgendwo debugging information sehen in deinem script?

evtl. kannst du ihm beibringen alles bei debug=true in ein logfile zu schreiben.

der fehler ist jedenfalls an sich eine pleite, das fs ist ja korrekt... hmm, aber genau das war auch der fehler den ich hatte als ich das mit der local.start versucht hatte.

----------

## Anarcho

Also nachwievor kommt keine gpg abfrage? Was sagt denn ein 

which gpg

----------

## toskala

 *Quote:*   

> toskala@octane toskala $ which gpg
> 
> /usr/bin/gpg
> 
> 

 

das sagts

----------

## Anarcho

Eine neue Version ist da, nun funktioniert auch gpg beim booten!

Edit: Und mögliches warten auf einstecken der key-diskette 

Download unter: www.ssm-server.de/crypto_mount.tar.gz

Neueste Version siehe weiter unten...

----------

## toskala

yea, perfect! ich bin begeistert  :Smile:  *frontpagenachpfleg*  :Smile: 

----------

## Bender007

 *Quote:*   

> für aes ist es vollkommen egal wie "viel" daten du verschlüsselst. das scheint ein weit verbreiteter irrglaube zu sein, das liegt natürlich an den verschiedenen algorithmen, aber aes macht das schon gut. 
> 
> 

 

also ich meinte bei der installation von crypto also wenn der key erstellt wird und und und da soll es angeblich (laut einiger Forumbeiträge) besser sein die Festplatte vorher mit randomdata zu füllen (dd ...). 

Danke hat alles wunderbar geklappt endlich mal ne installation die beim 1.mal perfekt funktioniert hat mein anderer server 500MhzCeleron hat da bei der installation n paar schwierigkeiten gemacht...

Das Script was Anarcho gepostet hat werd ich auf allerjedesten fall auspobieren !!  :Smile: 

----------

## twickl

Hallo,

ich hab da mal eine Frage. Ich habe alles wie oben beschrieben gemacht. Nun möchte ich das Device mounten:

```

mount -o user /dev/mapper/Crypt /home/username/Crypt

```

also als Ordenr im Home-Verzeichniss des Users. Nun hat der User aber keine Schreibrechte in diesem Ordner?! Ist die Option -o user nicht extra dazu da? Zumindest verstehe ich das so in man mount.

Wie bekomme ich Schreibrechte für User in dem Ordner? Muss ich immer von Hand die rechte ändern nach dem mounten?

Vielen Dank

twickl

----------

## toskala

der ordner muss natürlich auch für den user lesbar/schreibbar sein, das änderst du mit chown und chmod.

----------

## twickl

ich möchte das hier gepostete Script nutzen. Ist auch gar kein Problem. Aber ich habe ein Problem mit mount. ich muss doch -t ext2fs angeben wenn ich eine ext2 Partition mounten möchte, richtig? Dann kommt die Meldung von mount das dieses Dateisystem nicht vom Kernel supportet wird?! Ich habe aber eine swap partition die ext2 ist! Ich habe die crypto Partition vorher auch schon mit ext3 formatiert und dann mount -t ext3fs angegeben, auch da kam die Meldung der Kernel würde das nicht supporten. Aber meine root partition ist ext3! Wie kann er das dann nicht können? Und wenn ich menuconfig mache ist ein Sternchen bei ext3.

Hat vielleicht jemand eine Idee?

----------

## toskala

 *twickl wrote:*   

> ich muss doch -t ext2fs angeben wenn ich eine ext2 Partition mounten möchte
> 
> , richtig?
> 
> 

 

äh, nein ext2

 *twickl wrote:*   

> Dann kommt die Meldung von mount das dieses Dateisystem nicht vom Kernel supportet wird?! Ich habe aber eine swap partition die ext2 ist!
> 
> 

 

nein, das hast du unter garantie nicht. swap hat ein spezielles swap-fs und kein ext2fs.

 *twickl wrote:*   

> 
> 
>  Ich habe die crypto Partition vorher auch schon mit ext3 formatiert und dann mount -t ext3fs angegeben, auch da kam die Meldung der Kernel würde das nicht supporten. Aber meine root partition ist ext3! Wie kann er das dann nicht können? Und wenn ich menuconfig mache ist ein Sternchen bei ext3.

 

du machst schon als root:

mount -t ext3 /dev/mapper/<mapper> /mnt/<mountpoint>

?

----------

## twickl

iIch mache als root 

```

mount -t ext2 /dev/mapper/NAME /home/USER/Crypt

```

Jetzt kommt die Meldung:

```

mount: wrong fs type, bad option, bad superblock on /dev/mapper/Crypt,

            or too many mounted file systems

```

Ich habe aber das Device mit 

```

mke2fs /dev/mapper/NAME

```

formatiert

----------

## toskala

hmm, remove mal das device

cryptsetup remove /dev/mapper/<device>

und mach das device nochmal neu, ich hatte das problem auch 1x...

ähm, und du bist dir wirklich sicher sicher, dass du ext2 im kernel hast? und dass du das auch willst?

----------

## toskala

aiks, twickl: das war wohl ein fehler meinerseits, ich hab grade die info bekommen, dass im howto tatsächlich fälschlicherweise stand:

mount -t ext3fs...

das muss natürlich "mount -t ext3" heissen  :Smile: 

sorry *g*

----------

## Anarcho

Eine neue Version ist da (0.6)!

Download unter: www.ssm-server.de/crypto_mount-0.6.tar.gz

Neues:

Passwort-timeout und anzahl der Passwort-Versuche einstellbar!

crypto_mount: 

```
#!/bin/bash

# ********************************************************************* #

# crypto_mount                        #

#                           #

# Script for automatically mounting a crypted partition by using a   #

# keyfile stored on a removable media. This can be encrypted by gpg.   #

#                            #

# Author: Matthias Schroeer (Anarcho)            #

# Date: 01.11.2004                     #

# Version: 0.6                        #

# License: GPL                        #

#                           #

# ToDo:                           #

# - add support for multiple crypted partitions            #

# ********************************************************************* #

unset PASS

# Checking if you are root

if [ `whoami` != "root" ]; then

   echo "You have to be Super-User to mount $MAPPER_NAME"

   exit 1

fi

# Check for config-file

if [ -f /etc/crypto_mount.conf ]; then

   source /etc/crypto_mount.conf

else

   echo "ERROR: No config file was found (/etc/crypto_mount.conf)"

   exit 10

fi

# Checking if the mapper-device already exists

if [ -b /dev/mapper/${MAPPER_NAME} ]; then

   echo "WARNING: Mapper already created, only trying to mount"

   # Checking if already mounted

   MOUNT_TEST=`mount | grep /dev/mapper/${MAPPER_NAME}`

   if [ "$MOUNT_TEST" == "" ]; then

      # Checking mount-options

           if [ "$MOUNT_OPTIONS" != "" ]; then MOUNT_OPTIONS="-o $MOUNT_OPTIONS"; fi

           # Checking if mountpoiunt for the crypto-device exists

           if [ ! -d ${CRYPTO_MOUNT} ]; then

         if [ -e ${CRYPTO_MOUNT} ]; then

            echo "ERROR: There is a file where a directory should be (${CRYPTO_MOUNT})"

                           exit 7

                   else

            echo "WARNING: The mountpoint does not exist, I will try to create it (${CRYPTO_MOUNT})"

                           if ! mkdir ${CRYPTO_MOUNT}; then

               echo "ERROR: Creating mountpoint (${CRYPTO_MOUNT})"

               exit 9

            fi

                   fi

           fi

           # Mounting the cryptodevice

           if /bin/mount -t ${CRYPTO_FS} ${MOUNT_OPTIONS} /dev/mapper/${MAPPER_NAME} ${CRYPTO_MOUNT}; then

              echo "Crypto-Device mounted succesfully (${CRYPTO_MOUNT})"

         exit 0

      else

              echo "ERROR: Mounting crypto-device"

              exit 5

      fi

   else

      echo "WARNING: Crypto-device already mounted! (${CRYPTO_MOUNT})"

      exit 0

   fi

fi

      

# Checking if the partition to crypt exists

if [ ! -b "${DEVICE_NAME}" ]; then

   echo "ERROR: Device does not exist (${DEVICE_NAME})"

   exit 6

fi

if [ "$USE_REMOVEABLE_MEDIA" == "yes" ]; then

   # Reload USB_Storage modul to get the new devices

   

   if [ "$WAIT_FOR_MEDIA" == "yes" ]; then

      echo "Waiting ${WAIT_TIME} seconds to enter the key-device or hit ENTER"

      read -t ${WAIT_TIME}

   fi

   

   if [ "$RELOAD_USB_STORAGE_MODUL" == "yes" ]; then

      /sbin/rmmod usb_storage &>/dev/null

      if ! /sbin/modprobe usb_storage; then

         echo "ERROR: Loading USB_Storage Modul"

         exit 8

      fi

   fi

                        

   

   # Checking if the keydevice exists

   if [ ! -b "${KEYDEVICE_NAME}" ]; then

      echo "ERROR: Key-device does not exist (${KEYDEVICE_NAME})"

      exit 6

   fi

   

   #Checking if mountpoint for the keydevice exists

   if [ ! -d "${KEYDEVICE_MOUNT}" ]; then

      if [ -e "${KEYDEVICE_MOUNT}" ]; then

         echo "ERROR: There is a file where a directory should be (${KEYDEVICE_MOUNT})"

         exit 7

      else

         echo "WARNING: The mountpoint does not exist, I will try to create it (${KEYDEVICE_MOUNT})"

         if ! mkdir "${KEYDEVICE_MOUNT}"; then

            echo "ERROR: Creating mountpoint (${KEYDEVICE_MOUNT})"

            exit 9

         fi

      fi

   fi

   

   # Checking if already mounted

   MOUNT_TEST=`mount | grep ${KEYDEVICE_NAME}`

   if [ "$MOUNT_TEST" == "" ]; then

      # Begin with mounting the keydevice

      if ! /bin/mount ${KEYDEVICE_NAME} ${KEYDEVICE_MOUNT}; then

         echo "ERROR: Mounting Key-device"

         exit 2

      fi

   else

      echo "WARNING: Key-device already mounted (${KEYDEVICE_NAME})"

   fi

   # Checking if keyfile exists

   if [ ! -f "${KEYDEVICE_MOUNT}/${KEYFILE}" ]; then

      echo "ERROR: Keyfile not found! (${KEYFILE})"

      /bin/umount ${KEYDEVICE_MOUNT}

      exit 3

   fi

   KEYFILE="${KEYDEVICE_MOUNT}/${KEYFILE}"

else

   if [ ! -f "${KEYFILE}" ]; then

      echo "ERROR: Keyfile not found! (${KEYFILE})"

      exit 3

   fi

fi

# Creating the crypto-device 

# Checking before if gpg is used

if [ "$USE_GPG" == "yes" ]; then

   PW_OK="no"

   if [ "$PW_TIME_OUT" != "" ]; then

      PW_TIME_OUT="-t $PW_TIME_OUT"

   fi

   echo -n "Please enter passphrase (hit ENTER to exit): "; read -ers $PW_TIME_OUT PASS

   # Check if only ENTER

   if [ "$PASS" == "" ]; then

      [ "$USE_REMOVEABLE_MEDIA" == "yes" ] && /bin/umount ${KEYDEVICE_MOUNT}

      echo ""

      exit 13

   fi

   # Check if passwort is right

   echo "$PASS" | /usr/bin/gpg --no-tty --quiet --passphrase-fd 0 -d ${KEYFILE} &>/dev/null && PW_OK="yes"

   COUNTER=1

   while [ "$PW_OK" != "yes" ]; do

      echo "Sorry, the password is wrong!"

      if [ $COUNTER -ge $MAX_PW_TRIES ]; then

         echo "ERROR: Maximum password tries are reached!"

         [ "$USE_REMOVEABLE_MEDIA" == "yes" ] && /bin/umount ${KEYDEVICE_MOUNT}

         exit 12

      fi

      echo -n "Please enter passphrase (hit ENTER to exit): "; read -ers $PW_TIME_OUT PASS

      # Check if only ENTER

      if [ "$PASS" == "" ]; then

         [ "$USE_REMOVEABLE_MEDIA" == "yes" ] && /bin/umount ${KEYDEVICE_MOUNT}

         echo ""

         exit 13

      fi

      # Check if passwort is right

      echo "$PASS" | /usr/bin/gpg --no-tty --quiet --passphrase-fd 0 -d ${KEYFILE} &>/dev/null && PW_OK="yes"

      COUNTER=$[$COUNTER+1]

   done

   

   echo "$PASS" | /usr/bin/gpg --no-tty --quiet --passphrase-fd 0 -d ${KEYFILE} 2>/dev/null | /bin/cryptsetup ${CRYPTSETUP_OPTIONS} -h plain create ${MAPPER_NAME} ${DEVICE_NAME} && CRYPT_SUCC="yes" 

   unset PASS; echo ""

else

   /bin/cryptsetup ${CRYPTSETUP_OPTIONS} -d ${KEYFILE} create ${MAPPER_NAME} ${DEVICE_NAME} && CRYPT_SUCC="yes"

fi

# Unmounting the key-device

[ "$USE_REMOVEABLE_MEDIA" == "yes" ] && /bin/umount ${KEYDEVICE_MOUNT}

#echo $RUN_CRYPT; exit 1

if [ "$CRYPT_SUCC" == "yes" ]; then

   # Unmounting the keydevice, it's not needed anymore

   # Checking mount-options

   if [ "$MOUNT_OPTIONS" != "" ]; then MOUNT_OPTIONS="-o $MOUNT_OPTIONS"; fi

   # Checking if mountpoiunt for the crypto-device exists

   if [ ! -d ${CRYPTO_MOUNT} ]; then

           if [ -e ${CRYPTO_MOUNT} ]; then

         echo "ERROR: There is a file where a directory should be (${CRYPTO_MOUNT})"

         /bin/cryptsetup remove ${MAPPER_NAME}

         exit 7

           else

                   echo "WARNING: The mountpoint does not exist, I will try to create it (${CRYPTO_MOUNT})"

         if ! mkdir ${CRYPTO_MOUNT}; then

            echo "ERROR: Creating mountpoint (${CRYPTO_MOUNT})"

            exit 9

         fi

           fi

   fi

   # Mounting the cryptodevice                           

   if /bin/mount -t ${CRYPTO_FS} ${MOUNT_OPTIONS} /dev/mapper/${MAPPER_NAME} ${CRYPTO_MOUNT}; then

      echo "Crypto-Device mounted succesfully (${CRYPTO_MOUNT})"

      exit 0

   else

      echo "ERROR: Mounting crypto-device"

      cryptsetup remove ${MAPPER_NAME}

      exit 5

   fi

else

   echo "ERROR: Creating the mapper-device (${MAPPER_NAME})"

   exit 4

fi

exit 0
```

crypto_umount: 

```
#!/bin/bash

# ********************************************************************* #

# crypto_umount                        #

#                           #

# Script for automatically unmounting a crypted partition and erasing   #

# the mapper-device                     #

#                            #

# Author: Matthias Schroeer (Anarcho)            #

# Date: 01.11.2004                     #

# Version: 0.4                        #

# License: GPL                        #

#                           #

# ToDo:                           #

# - add support for multiple crypted partitions            #

# ********************************************************************* #

# Checking if you are root

if [ `whoami` != "root" ]; then

   echo "You have to be Super-User to mount $MAPPER_NAME"

   exit 1

fi

# Check for config-file

if [ -f /etc/crypto_mount.conf ]; then

   source /etc/crypto_mount.conf

else

   echo "ERROR: No config file was found (/etc/crypto_mount.conf)"

   exit 10

fi

# Checking if the mapper-device already exists

if [ -b /dev/mapper/${MAPPER_NAME} ]; then

   # Checking if already mounted

   MOUNT_TEST=`mount | grep /dev/mapper/${MAPPER_NAME}`

   if [ "$MOUNT_TEST" != "" ]; then

      if /bin/umount ${CRYPTO_MOUNT}; then

         if /bin/cryptsetup remove ${MAPPER_NAME}; then

            echo "Crypto-device succesfully uninstalled"

            exit 0

         else

            echo "ERROR: Cannot remove crypt-device"

            exit 2

         fi

      else

         echo "ERROR: Cannot unmount mapper-device"

         exit 1

      fi

   fi

else

   echo "WARNING: There is no mapper-device called ${MAPPER_NAME}"

   exit 0

fi
```

crypto_mount.conf: 

```
# ********************************************************************* #

# Script for automatically mounting and unmounting a crypted partition   #

# by using a keyfile stored on a removable media. This keyfile can be    #

# encrypted by gpg.                     #

#                            #

# Author: Matthias Schroeer (Anarcho)         #

# Date: 01.11.2004                     #

# Version: 0.6                        #

# License: GPL                        #

#                           #

# ToDo:                           #

# - add support for multiple crypted partitions            #

# ********************************************************************* #

# Config

USE_GPG="yes"         # Is the keyfile encrypted with gpg? yes/no

MAX_PW_TRIES=3         # Maximum password tries

PW_TIME_OUT=""         # password timeout in seconds, set to "" to disable

MAPPER_NAME="damn"      # Mapper-device name

DEVICE_NAME="/dev/hde6"      # Name of the partition-device, e.g. hda3

CRYPTSETUP_OPTIONS=""      # Options for cryptsetup like -s 128 

CRYPTO_MOUNT="/mnt/damn"   # Moutpoint for the crypto-device

CRYPTO_FS="ext3"      # Filesystem of the crypto-device

MOUNT_OPTIONS="user,exec"   # Mountoptions for the crypted device

USE_REMOVEABLE_MEDIA="yes"   # Is the keyfile on a removeable media? yes/no

WAIT_FOR_MEDIA="yes"      # Should the script wait for user to enter the media with the key-file?

WAIT_TIME=10         # Wait-time in seconds 

# Only needed if USE_REMOVEABLE_MEDIA = yes

RELOAD_USB_STORAGE_MODUL="yes"   # Defines whether the script should reload the usb_storage modul or not yes/no

KEYDEVICE_NAME="/dev/sda1"   # Name of the device where the key should be found

KEYDEVICE_MOUNT="/mnt/usbcf"   # Mountpoint for the keydevice 

# Name of the keyfile. If USE_REMOVEABLE_MEDIA = yes then it has to be a relativ

# path beginning from KEYDEVICE_MOUNT

# else it has to be an absolut path

KEYFILE="damn.gpg"
```

----------

## twickl

Es funktioniert jetzt. Habe das Device entfernt und deu gemacht nun geht es! 

Warum sollte ich denn kein ext2 nehmen?

Danke für alles

twickl

----------

## toskala

naja, ext2 kennt kein journal, ext3 ist die qualitativ höhere wahl und glänzt mit mehr performance und mehr features.

musst dich mal ein wenig schlau-lesen, gibt hier auch einige threads in denen die filesysteme gegenübergestellt werden.

----------

## twickl

Ja, diese Unterschiede sind mir bekannt zwischen den Filesystemen. Aber ich glaube ich werd daraus wirklich ein ext3 machen.

Stimmt es das es möglich ist in der Swap Partition Teile der Verschlüsselten Partition zu finden? Kann man die Swap Partition beim runterfahren irgendwie gefahrlos löschen/leeren?

----------

## DooMi

erstmal danke für das how-to!

werde es heute abend mal ausprobieren.

als kleines feature würde ich mir wünschen das das autoloader script welches du bei den tools aufführst über init.d läuft.

sprich das man ganz easy

```
/etc/init.d/cryptomount start/stop
```

machen kann.

da ich nicht weiss wie man dem init.d so etwas hinzufügt wäre ein link zum script oder howto recht nett, danke.

----------

## Anarcho

Ich werde für das Script sowieso noch ein ebuild schreiben. Dann werde ich mir auch überlegen ob dafür ein eigenes init.d script sinnvoll wäre.

Aber ansonsten starte ich das beim hochfahren im local.start.

also einfach crypto_mount in /etc/conf.d/local.start eintragen und schon wird es beim hochfahren gestartet.

----------

## Anarcho

So, ebuild ist fertig!

Zu bekommen hier:

http://ssm-server.de/crypto-mount-0.6.ebuild

Das müsst ihr natürlich in euer portage-overlay packen unter sys-apps

Neues: Die Namen haben sich geändert. Der Kommando-aufruf ist nun: crypto-mount und crypto-umount (also nicht mehr _ sondern - )

----------

## toskala

sor, und nun hat der urheber des ganzen schlamassels mal wieder ein problem  :Wink: 

ich hab den usb stick in meinem rechner drinne, er wird ja immer gebraucht, also zieh ich ihn nicht immer ab.

dumm nur, dass er seit neuestem (ich hab nix gemacht  :Wink: ) nicht mehr als sda1 erkannt wird, sondern auf einmal sdc1 ist.

*grummel* das saugt ziemlich, da es onboot dann nicht erkannt wird. wenn ich ihn dann aber abstöpsel und wieder ranstöpsel ist er wieder als sda1 verfügbar. achja, es ist das einzige usb gerät was derzeit dran hängt.

das ganze scheint willkürlich zu passieren, wenn ich im configfile das device umstelle, dann hab ich ne weile meine ruhe und nach (sagen wir 5 reboots) hab ich wieder ein anderes device...

weiss da jemand was kluges zu?

----------

## zielscheibe

Udev-rules auf den stick anpassen?

http://www.reactivated.net/udevrules.php

----------

## Anarcho

Tja, udev muss ich wohl auch endlich mal in betracht ziehen!

Aber vielleicht gibt es für dich noch ne schnellere Lösung: 

Man kann in meinem Script auch ne Wartezeit für's anstöpseln des USB-Sticks definieren. Dann könntest du ihn nur dann reinstöpseln wenn du ihn beim booten auch brauchst. 

Nicht unbedingt ne schöne lösung, aber vielleicht was für den übergang.

----------

## skurfuerst

Hi,

deine Anleitung ist wirklich super  :Smile: 

Ich habe nur ein Problem, ich möchte sie ein bisschen abwandeln, sodass ich keine echte Partition als Device nehme sondern dass ich meine "virtuelle Partition" alles in einem File habe. Also ein File, was ich dann als CryptoDevice mounten kann, und was sich als Device in /dev/mapper/... einklinken lässt.

Versteht ihr was ich meine? Ich glaube das ist so ungefähr wie PGPDisk. Das konnte das auch...

Sebastian

----------

## Haldir

Wenn du in einen file rein crypten willst, nimm aber kein journal fähiges Dateisystem, das führt zu bösem chaos.

Daher wenn du nur eine Datei nimmst und die mounten willst, nimm ext2 als FS auf deinem crypto device.

Grundsätzlich ist das crypten in eine Datei nur halb so stabil wie das auf eine komplette Partition (einige sagen sogar man sollte lieber die Partition wo deine Cryptopartitionsdatei gespeichert ist auch ohne Journal formatieren).

----------

## hurra

Hallo zusammen.

Bin grad beim Einrichten Schritt für Schritt vor gegangen, doch leider bekomem ich folgenden Fehler:

 *Quote:*   

> 
> 
> gpg -c NAME.key 
> 
> gpg: failed to create temporary file `/root/.gnupg/.#lk0x80ec094.alder.17851': No such file or directory
> ...

 

Wie kann ich diesen Fehler beheben, oder soll ich einfach so weitermachen?

Vielen Dank

Cu Hurra

----------

## user

Bitte diesen Aspekt mitbetrachten, sonst ist alles unnötig.

watermark attack:

http://www.uwsg.iu.edu/hypermail/linux/kernel/0402.2/1137.html

http://mareichelt.de/pub/texts.cryptoloop.php

----------

## toskala

 *hurra wrote:*   

>  *Quote:*   
> 
> gpg -c NAME.key 
> 
> gpg: failed to create temporary file `/root/.gnupg/.#lk0x80ec094.alder.17851': No such file or directory
> ...

 

hast du mal versucht /root/.gnupg zu löschen und es erneut versucht?

ich für meinen teil habe den key als user erzeugt, ich weiss nicht ob das evtl. einen unterschied macht, sollte aber nicht.

----------

## toskala

 *user wrote:*   

> 
> 
> watermark attack:
> 
> http://www.uwsg.iu.edu/hypermail/linux/kernel/0402.2/1137.html
> ...

 

in wiefern betrifft das die aktuelle aes implementierung? weisst du das? ich habe leider nichts dergleichen derzeit auf bugtraq/full disclosure gelesen, hmm, seit ca 1 jahr nicht, entweder hab ichs verschlafen oder es ist gefixed?

----------

## hurra

Hi als user anlegen bringt den selben Fehler. 

Ich habe festgestellt, dass ich den Ordner .gnupg nicht habe. Wenn ich ihn jetzt per Hand anlege klappts ohne Probleme.

Danke!

Cu Hurra

----------

## hurra

Hallo

Eventuell hat es doch nicht so ganz geklappt:

 *Quote:*   

> 
> 
> gpg --quiet -d NAME.key.gpg | cryptsetup -h plain create data /dev/hda6 
> 
> Enter passphrase: Command failed: Invalid argument 
> ...

 

Kann mir jemand helfen?

Cu Hurra

----------

## Haldir

Apropos das Watermark paper, die Methode ist eher dafür geeignet um verschlüsselte Partitionen überhaupt zu erkennen.

Das mit den Hollywood movies, Cruise Missile Handbüchern ist nur Stimmungsmache  :Wink: 

Und nein das ganze wurde nicht gefixed, dm-crypt benützt immernoch die gleiche alte und vergleichsweise schlechte Methode.

das alte cryptoloop war richtig mies, dm-crypt ist net wirklich mies und loop-aes im 2key mode ist halt ideal.

Ein großteil ist Stimmungsmache,das hübsche Männchen Bild auf dem mareichelt.de Link ist nur fürs uralte cryptoloop relevant.

----------

## Anarcho

Eine neue Version ist da (0.6.1)!

Das Ebuild bekommt ihr Hier.

Neu: Farbige Meldungen!

----------

## Bender007

Hi hab nochmal ne frage...

Toskala du meintest doch wenn ich jetzt ne 2te Festplatte in mein System einbau und den gleichen oder n anderen Key verwende das das meine Performance ausbremst ich wollte mal wissen bei einem 1800 + und n nforceboard 256 MB Speicher würdest du an meiner stelle die 2te Festplatte auch verschlüsseln? oder würde das zu extremen performance einbussungen führen ?

LVM wie sieht es mit LVM aus wenn ich z.B. 2 Fetsplatte in ein Container packe geht da auch die Performance in den Keller oder macht das keinen unterschied ob ich die mit LVM verbinde oder nicht... und kann ich jederzeit weitere Festplatten in den Container hängen oder muss ich die anderen PLatten auch wieder killen ?

----------

## toskala

 *Bender007 wrote:*   

> 
> 
> Toskala du meintest doch wenn ich jetzt ne 2te Festplatte in mein System einbau und den gleichen oder n anderen Key verwende das das meine Performance ausbremst ich wollte mal wissen bei einem 1800 + und n nforceboard 256 MB Speicher würdest du an meiner stelle die 2te Festplatte auch verschlüsseln? oder würde das zu extremen performance einbussungen führen?
> 
> 

 

hi, nein nein, ich meinte das so:

jeder zugriff auf eine datei, lesend oder schreibend, wird durch die cryptographie geschickt. das bedeutet nur folgendes, dass dein rechner bei _gleichzeitigem_ zugriff auf mehrere dateien, also beispielsweise ein fileserver ziemlich viel zu tun bekommt.

wenn du eine festplatte komplett verschlüsselst, dann wirst du vermutlich eine gewisse menge an daten haben die den platz brauchen. wenn du noch eine zweite verschlüsselst ist das auch schön, das stört erstmal weiter nicht. solange die daten eh nur rumliegen ist es dem rechner ziemlich egal.

"rechenintensiv" und damit evtl. problematisch wird es nur dann, wenn du viele daten (egal ob auf 2 kleinen festplatten, oder 1 riesengrossen) zeitgleich an mehrere stellen ausliefern willst, das passiert dir halt bei einem samba share, z.b. der für mehr als 1 benutzer gedacht ist.

dein rechner muss ja alles ver- und entschlüsseln und da kommt man dann evtl. schnell an seine grenzen. wobei das alles natürlich in abhängigkeit steht mit der menge an daten und dem gewünschten durchsatz und der anzahl der benutzer im verhältnis zu deiner hardware-leistung.

ausprobieren wird dir da wohl nur helfen.

 *Bender007 wrote:*   

> 
> 
> LVM wie sieht es mit LVM aus wenn ich z.B. 2 Fetsplatte in ein Container packe geht da auch die Performance in den Keller oder macht das keinen unterschied ob ich die mit LVM verbinde oder nicht... und kann ich jederzeit weitere Festplatten in den Container hängen oder muss ich die anderen PLatten auch wieder killen ?

 

ich habe mich um ehrlich zu sein noch nie mit lvm beschäftigt, ich könnte mir aber durchaus vorstellen, dass es keinen besonders riesigen mehraufwand für den durchsatz darstellt, lvm ist ja im prinzip nichts, was enormen cpu aufwand verschlingt, es ist ja ohne cryptographie auch performant.

beim hinzufügen von platten an einen lvm-verbund wird vermutlich alles genauso laufen wie bei einem lvm ohne cryptographie. lies mal auf tldp.org das lvm howto, da wird bestimmt beschrieben ob du den lvm verbund dynamisch "resizen" kannst, also neue datenträger hinzufügen kannst, oder ob das eher nicht geht.

aber da weiss evtl. jemand anders im thread besser bescheid.

----------

## Bender007

mhh ja das ist alles n bissl doof wenn man ne 2te Platte in ein crypto system hängen will... aber ich werd erstmal so machen das ich die 2te platte auch extra cyptorisiere  :Smile:  und in den crypto verzichnisbaum einhänge ist alles etwas schwierig weil ich den als fileserver nutzen will aber dann 2 Hauptverzeichnisse habe  :Sad:  ... das iste meine Struktur

Crypto:

-files

----etc

----movies                

----serien

----games

-mldonkey

-incoming

-util

kann ich die 2 te Crypto Festplatte jetzt z.B. in das Verzeichnis Crypto/files/2nd hängen oder geht das nicht ? aber das müsste dioch eigentlich funzen, könnte natürlich in die Hose gehen wenn ich die erste Crypto platte als erstes unmounte...

Auf der einen PLatte läuft zusätzlich noch ein mldonkey meinste das zieht das system in den keller allein von der Festplatten ausnutzung her? Aber was ist wenn ich 2 Crypto platten im System habe und auf der einen n mldonkey läuft und läd und ich auf die andere was kopiere meinst du ich kopiere dann immmernoch mit dem gleich datendurchsatz daten auf die platte oder wird sich das bemerkbar machen ... aber du hast es noch nicht ausprobiert mit 2 crypto platten im system oder ?  

Wenn jemand anderes das schon mit 2 Crypto PLatten probiert hat wäre ich an dem erfahrungsbericht sehr interresiert... 

big THXX..

----------

## Haldir

Du kannst einfach deine 2. Platte in den Verzeichnisbaum der 1. Platte mounten. Du wirst dann auch immer die 2. Platte zuerst unmounten (ansonsten bringt mount ne Fehlermeldung).

Gibt keine größeren Probleme.

Natürlich wird dein System langsamer werden, wenn dein Donkey shared und gleichzeitig du auf die zweite Platte zugreifen willst, aber nicht merkbar langsamer als wenn dein Donkey von der 1. Platte shared und du dann von der 1.Platte noch zusätzlich Daten brauchst...

Dein Donkey ist halt ein konstanter Overhead, nachdem er permanent decrypten muß für das Ding.

Btw, probiers mal mit ein paar Satzzeichen...

----------

## toskala

andererseits: wieviel hundert megabit downstream und upstream hast du denn, dass dich das irgendwie kratzt? ich meine, edonkey, du hast vielleicht 200kb downstream und permanent 20kb upstream.

das is ja nun wirklich nich wild. ich redete hier von einem ernstzunehmenden netzwerk mit multiuserbetrieb. irgendwas >= 100mbit mit einer anzahl user >1.

----------

## Haldir

Ich hab sowas mal getestest mit 1Mbit/s Videos vom Server aus, ab 10 verschiedene Streams ist er ziemlich in die Knie gegangen (P4 3Ghz, 2GB Ram, S-Ata mit dm-crypt, kein Raid), ich würd mal sagen bei Samba mit crypted Home Verzeichnises mit Roaming Profiles dürft der noch viel schneller in die Knie gehen. Nachm Logon sollts aber wieder gehen, wenns nur ein paar Office Dokumente in der Größe bis 20mb oder so sind.

----------

## Anarcho

Also ich hab hier ne 15 GB encrypted Partition auf ner S-ATA Platte. Dort habe ich zum testen mal das vmware-image von WinXP Pro drauf gepackt. Und ich muss schon sagen, das er zwischendurch ordentlich hängt. Aber ansonsten läuft es recht rund. 

Ist halt ne sache der priorität. Möchte man alles sicher haben oder alles schnell.

----------

## Toastbrot

Ich hatte vor in Zukunft mein ganzes Sys zu verschlüsseln, aber ich weiß nicht. Vllt wird auch nur die /home Partition dran glauben müssen. Wenn nachher das ganze Sys so langsam ist... Obwohl, ach... menno. Ich glaub ich probiers einfach mal!

----------

## toskala

ich weiss ja nich wie schnell dass am ende is wenn man alles verschlysselt  :Wink: 

----------

## Haldir

Voll verschlüsseln kenn ich nur von Windows her und da ist es von der Geschwindigkeit akzeptabel. 

Linux seitig dürfts vonner Geschwindigkeit auch gehen (als Desktop z.b.) nur ist das nicht ganz so einfach aufzusetzen und fehlerfrei zu halten  :Wink: 

----------

## Toastbrot

Ja gut, aber einfach bzw. schwer ist immer relativ. Außerdem ist nicht der leichteste Weg auch der Beste. Von daher werde ich es zumindest einmal ausprobieren. Werde mir sowieso ein Stage 1 Sys machen (jetzt noch Stage 2), das kommt erstmal auf ne kleine Platte, von der es dann auf ne größere kommt, aufder es dann auch verschlüsselt ist. Wenn mir das nicht gefällt, kann ich ja immernoch die kleine Platte auf die große schreiben, ohne alles neu machen zu müssen.

Wenn ich das erfolgreich durchheführt habe, werde ich hier mal ein Bericht abgeben. Dauert allerdings noch, da z.Z. die Zeit bei mir recht knapp ist. Um Weihnachten wirds was *hoff*

: Was meinst du mit "Fehlerfrei halten"?

----------

## Haldir

Bevor ich full disk encryption (FDE) (im Gegensatz zu virtual disk encryption (VDE)) unter Linux einsetzen würde, teste erstmal ein paar Dinge:

1.) Wie verhält sich das ganze wenn der 1. Sector der partition (disk) flöten gegangen ist (windows lässt grüßen oder andere fehler)

2.) Kann man die platte forced decrypten (ohne Rücksicht auf Verluste einfach Sektor für Sektor)

3.) Teste das ganze aus und schau ob du z.b. noch mit testdisk die Partition retten kannst.

Ich glaube unter Linux dürfte das problem viel mehr eine intelligente Wahl des Filesystems sein, also eins was man durch externe Programme wieder recovern kann.

Das Fehlerfrei halten bezog ich auf diese hässlichen Ramdisks die dazu notwendig sind, da unterläuft schon mal ein Fehler.

Ich wart bei Linux mit FDE bis die angekündigten lowlevel crypto "plugins" für reiserfs4 und Konsorten da sind.

Ansonsten würde ich ehrlich gesagt nur /etc, /home und /var)verschlüsseln in Linux, das sollte alle Passwörter und so beinhalten.

Bei Windows bietet sich FDE eher an, weil insb. in der Registry allerhand Passwörter etc. gespeichert werden von einigen Programmen.

----------

## Toastbrot

Ja, genau. Die Sache mit dem FS habe ich mir auch schon überlegt. Habe jetzt überall ReiserFS 3.6, ohne irgendwelche Probleme. Da Das neue 4er aber noch schneller sein soll, ist das ja schon eine interessante Sache. Allerdings riet mir jemand davon ab, Reiser zu nutzen, da das nicht stabil genug sei. Was habt ihr für Erfahrungen?

----------

## Haldir

Mitm reiserfs 3.6 hatte ich in Bezug auf crypto noch nie Probleme.

Bei mir ist nur mal ne xfs Crypto Partition abgerauscht (war eh nur zum testen)

----------

## Hotstuff

Hallo

Habe paar Fragen zu diesem Programme.

Mit wieviel Bit verschlüsselt dieser Programme?

Wenn man die Hardisk entpfernt und in ein anderen Pc reinmach ist die dann immer noch Verschlüsselt?

Gruss Dave

----------

## Anarcho

Standartmäsig wird mit 256 bit verschlüsselt, du kannst aber auch 128 einstellen. 

Und selbstverständlich ist die Platte auch in jedem anderen Rechner verschlüsselt, sonst würde es ja überhaupt keinen Sinn machen.

----------

## toskala

 *Anarcho wrote:*   

> Standartmäsig wird mit 256 bit verschlüsselt, du kannst aber auch 128 einstellen. 

 

yep, du kannst aber auch cryptsetup einen beliebig langen anderen schlüssel mitgeben. das problem ist nur, je mehr bit desto mehr rechenaufwand.

 *Anarcho wrote:*   

> 
> 
> Und selbstverständlich ist die Platte auch in jedem anderen Rechner verschlüsselt, sonst würde es ja überhaupt keinen Sinn machen.

 

hihi, ja   :Wink: 

----------

## Anarcho

 *toskala wrote:*   

>  *Anarcho wrote:*   Standartmäsig wird mit 256 bit verschlüsselt, du kannst aber auch 128 einstellen.  
> 
> yep, du kannst aber auch cryptsetup einen beliebig langen anderen schlüssel mitgeben. das problem ist nur, je mehr bit desto mehr rechenaufwand.

 

Solange der Veschlüsselungsalgorithmus das auch unterstützt. Und soweit ich das gelesen habe kann AES "nur" 256 Bit, oder habe ich was übersehen?

Und selbstveständlich kann man das auch in meinem Programm einstellen (siehe /etc/crypto-mount.conf -> CRYPTSETUP_OPTIONS=""      # Options for cryptsetup like -s 128 )

----------

## toskala

ahjo, natürlich in abhängigkeit zum algorithmus  :Smile: 

ich sollte mich nicht so unklar ausdrücken *G*

----------

## Hotstuff

Hallo

Noch kleine Frage wo finde ich das Packet bei Gentoo ( emerge ) crypt target support

Das andere habe ich gefunden das erste!

Dank

Dave

----------

## toskala

hey dave,

das musst du im kernel einschalten.

dazu musst du die optionen im kernel eincompilieren.

----------

## Hotstuff

Hallo

Das hab ich gar nicht

<*>     Crypt target suppor

Gruss Dave

----------

## Anarcho

 *toskala wrote:*   

> 4. kernel kompilieren
> 
> 4.1. device mapper und crypt target:
> 
> unter dem kernel 2.6 findet man den "device mapper support"  und den "crypt target support" als unterpunkt von "device drivers -> multi-device support (raid and lvm)"
> ...

 

Wie wäre es wenn du mal den ganzen Post lesen würdest?????

----------

## Hotstuff

Habe ich auch gemacht. Kernel hatte ein Fehler bei aufrufen dan ist nicht zum vorschein gekommen. Kapito

Gruss Dave

----------

## Anarcho

 *dave1986 wrote:*   

> Habe ich auch gemacht. Kernel hatte ein Fehler bei aufrufen dan ist nicht zum vorschein gekommen. Kapito

 

Nein, leider nicht!

----------

## Hotstuff

Der Punkt komme ich gar nicht draus was gemeint wird.

```
6. backup der daten-partition machen

wie im vorwort bereits erwähnt, ist es ratsam vor dem folgenden prozedere ein backup aller daten auf der platte zu machen, welche in zukunft verschlüsselt werden soll.

szenario:

/dev/hda5 ist gemounted auf /mnt/dump

in zukunft soll der inhalt von /mnt/dump aber verschlüsselt werden, kein problem, nur vorher sollte alles auf /mnt/dump mittels tar gesichert werden.

zuerst muss geprüft werden ob wir ungefähr soviel freien speicherplatz haben wie ein backup von /mnt/dump benötigt, wohlgemerkt auf einer anderen partition Wink

nachdem diese prüfung erfolgreich war, mit tar ein backup erzeugen, das geht so:

Code:

tar -cvpf /mnt/backup/dump.tar /mnt/dump

das kann durchaus lange dauern... je nachdem wie gross die datenmenge ist, die es zu sichern gilt.

wenn dieser vorgang durchgelaufen ist, sollte man sich noch vergewissern ob das archiv auch funktioniert und nicht beschädigt ist, dies prüft man mittels:

Code:

tar -tvpf /mnt/backup/dump.tar

wenn hier nichts von einem error berichtet wird, dann hat alles geklappt und es kann weitergehen.
```

Was wird hier gemeint

```
zenario:

/dev/hda5 ist gemounted auf /mnt/dump
```

Gruss Dave

NB: @Anarcho ist nicht böse gemeint  :Very Happy: 

----------

## Haldir

Ist nur ein Beispiel wie du deine alten Dateien backupen solltest, in dem beispiel wird der Inhalt von /mnt/dump gesichert, weil du auch auf /mnt/dump die Dateien verschlüsseln willst  :Wink: 

----------

## Hotstuff

Hallo

Bei mir kommt immer diese Fehlermeldung

 gpg -c dave.key

gpg: failed to create temporary file `/root/.gnupg/.#lk0x80f08fc.dave.24781': Datei oder Verzeichnis nicht gefunden

gpg: keyblock resource `/root/.gnupg/pubring.gpg': Allgemeiner Fehler

Datei 'dave.key.gpg' existiert bereits. Überschreiben (j/N)? j

gpg: '/root/.gnupg/random_seed' kann nicht erzeugt werden: Datei oder Verzeichnis nicht gefunden

Gruss Dave

----------

## zielscheibe

Bitte Konsolenmeldungen in den "code" Tags hier ins Forum stellen. Is übersichtlicher.  :Smile: 

Zu deinem Problem. Bis du als root angemeldet, welche gpg Version verwendest du? Besteht das Problem nach einem Löschen von "dave.key" sowie dem nachgelagertem Ausführen von 

```

head -c 1000 < /dev/urandom | uuencode -m - | grep -v begin | head -c 32 >dave.key

gpg -c dave.key

```

 :Question: 

----------

## Anarcho

Erstell einfach das Verzeichnis .gnupg

also 

```
mkdir /root/.gnupg
```

----------

## Hotstuff

Hallo

Wenn ich den Befehl eingebe kommt das 

Befehl

```
head -c 1000 < /dev/hdb1 | uuencode -m - | grep -v begin | head -c 32 >dave.key
```

Fehlermeldung

```
bash: uuencode: command not found

```

Gruss Dave

----------

## zielscheibe

Ähh, zitiere mal das Howto

```

head -c 1000 < /dev/urandom | uuencode -m - | grep -v begin | head -c 32 >dave.key 

```

zu deinem Code listening

```

head -c 1000 < /dev/hdb1 | uuencode -m - | grep -v begin | head -c 32 >dave.key

```

Tippfehler oder Absicht?

----------

## toskala

lieber dave,

das howto ist so geschrieben, dass du fast alle sachen via copy und paste lösen kannst.

die dinge die du anpassen musst, habe ich in <> geschrieben.

und mit /dev/urandom meine ich wirklich /dev/urandom  :Smile: 

aber falls dir uuencode wirklich fehlt (das findest du raus mittels 'whereis uuencode')

dann solltest du das paket "app-arch/sharutils" installieren.

```
emerge app-arch/sharutils
```

fertig.

----------

## tinux

Danke auch meinerseits fürs HOWTO! Ich plane, mein home verschlüsselt abzulegen. Dafür würde sich ja eigentlich auch ein via loop device gemountetes, verschlüsseltes image eignen. Was sind denn die Vor- und Nachteile der einen oder anderen Lösung? Weiss per Zufall auch jemand, ob es plattformübergreifende Lösungen (mit Mac OS X) gibt?

Danke!

Martin

----------

## Hotstuff

Hallo

Ich scheidere schon wider.

Bei diesen Befehl

```
gpg --quiet -d dave.key.pgp | cryptsetup -h plain create dave /dev/hdb1

```

Kommt diese Fehlermeldung

```
root@localhost dave # gpg --quiet -d dave.key.pgp | cryptsetup -h plain create dave /dev/hdb1

gpg: 'dave.key.pgp' kann nicht geöffnet werden

gpg: decrypt_message failed: Fehler beim Öffnen der Datei

Command failed: Das Argument ist ungültig

```

Was mache ich schon wieder faltsch, was fehlt?

Gruss Dave

----------

## Anarcho

 *dave1986 wrote:*   

> Hallo
> 
> Ich scheidere schon wider.
> 
> Bei diesen Befehl
> ...

 

Bist du auch sicher das du im richtigen Verzeichnis bist????

Du musst dabei im gleichen Verzeichnis sein, in dem auch die dave.key.gpg liegt. Andernfalls musst du den ganzen Pfad mit angeben.

BTW. Ich würde mir sorgen um meine Rechtschreibung/Grammatik machen...

----------

## toskala

hi dave,

wie anarcho schon sagte, kuck ob der pfad passt, bzw. die datei so heisst, in einem beitrag weiter oben, hast du getippt, dass du deinen key "dave.key" genannt hast.

kuck ob alles richtig stimmt.

viel erfolg noch  :Wink: 

toskala

----------

## euphi2

 *toskala wrote:*   

> l
> 
> und mit /dev/urandom meine ich wirklich /dev/urandom 
> 
> 

 

Der ganz Paranoide nimmt natürlich trotzdem /dev/random  :Smile: 

Euphi

----------

## euphi2

Kommt diese Fehlermeldung

```
root@localhost dave # gpg --quiet -d dave.key.pgp | cryptsetup -h plain create dave /dev/hdb1

gpg: 'dave.key.pgp' kann nicht geöffnet werden

gpg: decrypt_message failed: Fehler beim Öffnen der Datei

Command failed: Das Argument ist ungültig

```

Was mache ich schon wieder faltsch, was fehlt?

[/quote]

Gleich zwei Sachen, zum einen findet der Deinen Key nicht, zum anderen kann cryptsetup nicht auf dein Device /dev/hdb1 zugreifen. Kann es sein, daß das noch gemountet ist?

Euphi

----------

## Coogee

Hallo Leute,

ich habe für KDE ein kleines Script geschrieben, das das Einhängen und Aushängen der Crypto-Partition KDE-like handelt.

Bei jedem Aufruf wird geprüft, ob die Partition schon gemounted ist. Wenn nicht, wird das Passwort abgefragt und die Partition eingehängt.

Wenn sie schon gemounted war, wird sie wieder ausgehängt/umounted.

Alle Dialoge/Abfragen werden über KDialog abgefahren.

```
#!/bin/sh

MNT_DIR="/mnt/crypt"

KEY="/home/user/crypt.key.gpg"

MAPPER_DEV_NAME="crypt"

DEV="/dev/hda1"

TITLE="--title Crypt"

if ( ! /bin/grep -sq $MNT_DIR /etc/mtab ); then

   $KDEDIR/bin/kdialog $TITLE --password 'Verschlüsselte Partition einbinden' | /usr/bin/gpg --passphrase-fd 0 --batch -d $KEY | /usr/bin/sudo /bin/cryptsetup -h plain create $MAPPER_DEV_NAME $DEV && /bin/mount $MNT_DIR

   if ( /bin/grep -sq $MNT_DIR /etc/mtab ); then

      $KDEDIR/bin/kdialog $TITLE --msgbox 'Verschlüsselte Partition eingebunden'

   else   /usr/bin/sudo /bin/cryptsetup remove $MAPPER_DEV_NAME

      $KDEDIR/bin/kdialog $TITLE --error 'Mounten der verschlüsselten Partition fehlgeschlagen!'

   fi

else   /bin/umount $MNT_DIR

   if ( /bin/grep -sq $MNT_DIR /etc/mtab ); then

      $KDEDIR/bin/kdialog $TITLE --error 'Umount der verschlüsselten Partition fehlgeschlagen!'

   else   /usr/bin/sudo /bin/cryptsetup remove $MAPPER_DEV_NAME

      $KDEDIR/bin/kdialog $TITLE --msgbox 'Verschlüsselte Partition nicht mehr eingebunden'

   fi

fi

```

Die Variablen am Anfang müssen natürlich dem jeweiligen System noch angepaßt werden.

Damit man alles auch als normaler User ausführen kann, muß noch Sudo installiert werden:

```
emerge app-admin/sudo
```

Dazu die passende Zeile in /etc/sudoers:

```
username      ALL=NOPASSWD:   /bin/cryptsetup

```

('username' bitte anpassen)

Außerdem noch ein Eintrag in /etc/fstab:

```
/dev/mapper/crypt   /mnt/crypt   ext3   rw,noauto,users,noatime   0 0

```

(Device, Mount-Point und File-System müssen dem System angepaßt werden)

Ich habe mir auf dem Desktop ein Icon erzeugt (Mittel-Klick auf Desktop->Neu erstellen->Datei->Verknüpfung zu Programm...), womit ich per einfachen Klick die Partition ein- und aushängen kann.

Ich hoffe, ihr könnt was damit anfangen...  :Very Happy: 

----------

## DarKRaveR

Noch eine Sache die im HOWTO fehlt:

Entweder Swap deaktivieren oder auch crypten, denn sonst liegen da im zweifelsfall Infos die das brechen beschleunigen können.

Und sonst:

Solltest Du es hinbekommen die root partition zu crypten, dann wäre das eine Erweiterung der HowTo wert   :Twisted Evil: 

----------

## golloza

Wieso wollt ihr überhaupt / verschlüsseln?

Sensible Daten macht man auf ne eigene Partition (bzw. verschlüsselt /home), der Rest ist doch uninteressant, kostet nur Performance und ist ein ziemlicher Aufwand beim Booten.

----------

## Haldir

Höchstens noch /etc und /var verschlüsseln, den Rest von root braucht man imho nicht

----------

## DarKRaveR

Muß da grade nochmal einhaken:

Verschlüsselst Du /tmp nicht, kannst Du von vorneherein auf die ganze aktion verzichten.

Ähnlichs gilt für /var.

Und ab nem gewissen zeitpunktist der aufwand, lauter teilbäume auf eigene gecryptete devics zu legen einfach zu hoch, daher die 'faule methode'

----------

## Haldir

Über tmp kann man bei linux diskutieren, ob sich das zu encrypten lohnt, insb. wenn deine restlichen verschlüsselten Partitionen eher wegen den Daten (MP3 etc.) relevant sind und nicht weil du Passwörter drauf hast.

Trotzdem ist tmp und swap zu encrypten eher eine leichte Aufgabe, es gibt dafür auch schon feste Wege. Für den Normalfall des typischen Users hier, der seine MP3s usw. verschlüsseln will, reicht sicher das Verzeichnis mit den Daten + Swap. Ob man tmp verschlüssen sollte, hängt wohl ziemlich von den benützten Programmen ab.

----------

## toskala

das problem beim swap crypten ist die performance, mal ganz davon abgesehen, dass ich das problem hierbei nicht ganz sehe. afaik wird swap doch leer gemacht wenn umounted. also nehmen wir mal das std. vorgehen wenn man einen busten will.

strom weg,

rechner fährt runter,

rechner wird neu gestartet,

swap gemounted,

crypt partition geht nicht mit hoch,

viel spass?

oder überseh ich grade was?

----------

## Hotstuff

Hallo

Man ich komme auch nicht weiter. Im welchen Verzeichnis muss ich dan sein.

Kommt immer die Fehler Meldung

```
root@localhost dave # gpg --quiet -d dave.key.pgp | cryptsetup -h plain create appz /dev/hdb1

gpg: 'dave.key.pgp' kann nicht geöffnet werden

gpg: decrypt_message failed: Fehler beim Öffnen der Datei

Command failed: Das Argument ist ungültig

```

Könnt ihr mir helfen

Gruss Dave

----------

## Haldir

Naja toskala,  leermachen von der Swap Partition hat nix mit echtem Leermachen (also mehrmalig null/rand/null drüber schreiben zu tun).

Die Swap partition kann daher noch informationen über den inhalt deiner crypto part beinhalten. z.b. Dateipfade und u.U. auch Teilinhalte von Dateien. Daher mag es Sicherheitsprobleme geben

----------

## toskala

ja, abgesehen davon passiert das aber nur, wenn das was man aus der crypto partition liest auch tatsächlich im swap landet. wenn ich mir mein top mal ansehe

```

Mem:   1034764k total,   589272k used,   445492k free,    37736k buffers

Swap:   506036k total,        0k used,   506036k free,   393080k cached
```

ist das nich so wild.

aber bezüglich des leermachens, wenn swap genutzt wird, dann wird das ja sofort wieder mehrmals überschrieben, ich halte das sicherheitsloch welches aus swap heraus entsteht eher für sehr gering, da meine idee dazu so aussieht:

eine maschine mit so wenig ram, dass sie swap braucht swapped wohl öfter als nur exakt das eine mal an dem eine verschlüsselte datei verwendet wird.

davon ausgehend swapped sie ständig auch normale daten drüber, was ja bedeuten würde, dass das verwerfliche file nur relativ kurz im swap liegen bleibt.

aber ich bin kein speicher-experte, ich überlege nur grade ob das wirklich ein problem darstellt.

----------

## toskala

 *dave1986 wrote:*   

> 
> 
> ```
> root@localhost dave # gpg --quiet -d dave.key.pgp | cryptsetup -h plain create appz /dev/hdb1
> 
> ...

 

dave, was sagt ein:

```

ls -l dave.key.pgp
```

wenn du das als root ausführst?

ich bin mir sehr sicher, dass die datei hier nicht existiert wo du sie suchst.

----------

## Haldir

Hmm, ich hatte mal kurz uncrypted swap mounted und ne runde mit Samba aufm Server Dateien rumgeschaufelt und über Apache Mp3s geserved für mein Pinnacle Showcenter, dann hab ich mal den swap (512mb) in ne Datei gepackt und durchsucht, zumindest Pfade zu verschlüsselten Verzeichnissen sind aufgetaucht im swap

----------

## DarKRaveR

@tosk/hal:

JA, das mit wap mag übertrieben sein. Ist vielleicht auch ne Frage wie genau der Rechner genutzt wird etc.

Ich würde ja bei nem ordentlich großen Server notfalls einfach auf Swap verzichten, weil eh mehr als genug RAM. Auf der anderen Seite kann man den Swap natürlich mit einer geringeren bitbreite encrypten und nem anderen key, natürlich es ist immernoch ein schwaches Glied, aber besser als ungeschützt.

Ich stimme zu, bei den meisten Szenarien mag es unsinnig sein.

Aber soweit ich weiß, wird der swapspace, auch bei nem clean unmount nicht wirklich gewiped, wozu auch ....

Nehmen wir mal als Szenario ein Rechner, Fileserver, zum Beispiel von Arztpraxis oder einr Kanzelei, ich glaube das wären Situationen, wo man nicht wollen würde, daß Patienten-/Klienteninformationen vielleicht doch mal unverschlüsselt im Swap oder im tmp liegen, falls die Kiste abhanden käme.

Sicherlich ein extremes Szenario, aber vielleicht doch für die Zukunft eine Überlegung wert ?

----------

## Anarcho

Aber dann würde ich doch eher dazu tendieren 512 MB mehr Ram zu verbauen und auf Swap zu verzichten, denn swap mit verschlüsselung dürfet performance-mässig der hammer sein.

Man überlege: Die Datei muss entschlüsselt werden, dann wird bemerkt das der RAM voll ist, speichert sie also in teilen im Swap, was eh schon leistungseinbruch bedeutet. Beim Speicher muss diese Datei nochmals verschlüsselt und beim wieder rauslesen wieder entschlüsselt werden. 

Wir haben also statt 1 mal entschlüssel 2 mal entschlüssel und einmal verschlüssel + langsamer durch festplatte.

Also dann doch lieber 90 ¤ ausgeben um mehr Speicher zu haben.

Bei /tmp mag das schon eher sinnvoll sein.

----------

## Hotstuff

Hallo

Wie muss ich dann die Datei herstellen mit welchen Befehl ( dave.key.pgp )

Gruss Dave

----------

## toskala

okay, gut das wir uns einig sind  :Smile: 

aber ich stelle mir die frage ob es klug ist auf swap zu verzichten? ich meine klar, hier swapped im täglichen betrieb nix, aber wenn ich compiliere, eine vmware auf habe und nebener noch mit open-office bastel, dann swappeds auch hier ordentlich (so um die 400mb). wenn man also keinen swap hat, bedeutet das im schlimmsten fall nicht enormen leistungseinbruch?

stellt sich noch die frage nach /tmp. wie wäre es anstatt zu crypten /tmp einfach in eine ramdisk zu stecken?

/tmp ist ja nicht so riesig. bei mir sind es fast nie mehr als 30mb die da liegen. wenn wir durch den swap ansatz auf viel speicher angewiesen sind, dann könnte man, bei sagen wir 2gb ram, auch /tmp direkt ins ram setzen. mit vielleicht 256mb grösse.

dann ist es definitiv leer beim reboot.

----------

## gt_amd64

klingt ja alles schoen und gut, aber imho wäre es besser, wenn mal jemand dieses programm:

http://truecrypt.sourceforge.net/

linuxtauglich machen wuerde!

denn ich gehe mal davon aus, dass 80-90% hier DATEN verschlüsseln wollen und ebensoviele leute immernoch windows benutzen (muessen) und was bringt es wenn man seine daten (also sachen die man unter beiden betriebssystemen brauchen kann - faengt bei einfachen texten, bildern, mp3s usw. an und hoert bei sql-datenbanken auf) nur auf dem jeweils einem oder anderen system nutzen kann?

imho nichts... also was man braucht ist eine linux UND windows taugliche loesung... aber die gibt es meines wissens nach leider nicht )-:

nur so eine anmerkung... vielleicht gibts hier ja programmierer, die nicht ausgelastet sind  :Smile: 

----------

## Haldir

Nimm bestcrypt für Linux/Windows oder noch besser:

http://www.scherrer.cc/crypt/ das ist loop-aes Kompatibel, ist aber nicht sonderlich benutzerfreundlich. Das einzige was ich damit mal probiert hab, ist ne crypted CD jeweils in Windows und Linux zu mounten (für Backups z.b.)

TrueCrypt auf Linux zu porten dürfte ziemlich aufwändig bis fast unmöglich werden, dafür wurde der Vorgänger zu sehr für windows ausgelegt.

Einfacher ist es sicher dm-crypt/loop-aes kompatibel auf Windows zu gehen und da ist der obige Link sicher der richtige Start.

/tmp als RamDisk ist sicher ne gute Idee

----------

## Anarcho

Neue Version meines Scriptes verfügbar, 

nur eine kleine Änderung:

man kann jetzt ne wartezeit nach dem Modul-reload einstellen. 

Da bei mir beim booten das device nicht immer gefunden wurde, habe ich das jetzt so gemacht. Man kann diese natürlich abstellen. 

ebuild unter http://ssm-server.de/crypto-mount.0.6.1a.ebuild

@toskala: Bitte auf der ersten Seite aktualisieren.

Ich werde demnächst mal nen Seite für mein Projekte einrichten...

----------

## toskala

 *dave1986 wrote:*   

> Hallo
> 
> Wie muss ich dann die Datei herstellen mit welchen Befehl ( dave.key.pgp )
> 
> Gruss Dave

 

das steht doch groß und breit im howto?

EDIT:

ich sehe grade, dass du deinen key "pgp" genannt hast. ich habe im howto noch einen kleinen typo gefunden, ich habe irgendwo geschrieben "key.pgp" das müsste aber "key.gpg" heissen.

kuck mal ob das dein problem ist.

----------

## Anarcho

shit, hatte auch nen tippfehler drinne.

der link muss heissen:

http://ssm-server.de/crypto-mount-0.6.1a.ebuild

----------

## toskala

gefixed  :Wink: 

----------

## toskala

so lieber thread,

ich habe an dem howto noch ein wenig herumgebastelt, es wurde um ein paar fixes und der erklärung wie man udev für den usbstick verwendet erweitert.

zumindest mich hat es extrem genervt, dass mein usbstick immer mal wieder einen anderen device namen hatte  :Wink:  das problem gibts jetzt nicht mehr.

----------

## Hotstuff

Hallo

Ja jetzt bin ich ein bisschen weitergekommen. Jetzt bekomme ich den Fahler wenn ich das eingebe

```
 gpg --quiet -d dave.key.gpg | cryptsetup -h plain create appz /dev/hdb1

```

den Fehler

```
gpg: WARNUNG: Botschaft wurde nicht integritätsgeschützt (integrity protected)

```

Was muss ich da machen

Gruss Dave

----------

## Haldir

Sag mal dave, du probierst da jetzt schon ne Woche dran rum, wieso machst dus dann nicht einfach ohne gnupg und mitm Passphrase?

----------

## Hotstuff

Hallo

Weil ich etwas lernen will und aufgeben ist für mich ein Fremdword. Bis jetzt habe ich schon jedes Problem gelöst. Manchmal alleine, oder mit Hilfen von diesem Forum.

Gruss Dave

----------

## Haldir

Ich weiß ja nicht was howto befolgen mit lernen zu tun hat, aber die Meldung kannst ignorieren, es funktioniert trotzdem  :Wink: 

----------

## Anarcho

 *dave1986 wrote:*   

> Hallo
> 
> Weil ich etwas lernen will und aufgeben ist für mich ein Fremdword. Bis jetzt habe ich schon jedes Problem gelöst. Manchmal alleine, oder mit Hilfen von diesem Forum.
> 
> Gruss Dave

 

Nichts für ungut, aber es scheint so als wenn wir dir alles vorbeten müssten. Wie wäre es denn mal mit selber nachdenken und suchen?

So lernst du jedenfalls nichts.

Wenn ich ein Problem habe, dann versuche ich den grund erstmal selber rauszufinden und dann google ich, und erst dann poste ich hier. 

Und das Howto zu befolgen, schritt für schritt, ist nun wirklich sehr leicht und man kann kaum was falsch machen.

----------

## toskala

dave,

ohne jetzt unfreundlich sein zu wollen: aber verdammt nochmal, halte dich an den spruch von kant "sapere aude"! 

da ich es gleich wieder von wikipedia haben werde: http://de.wikipedia.org/wiki/Sapere_aude

lies was die fehlermeldung sagt, dann werte die information aus.

```

gpg: WARNUNG: Botschaft wurde nicht integritätsgeschützt (integrity protected) 
```

das ist zum ersten _kein fehler_ sondern eine "WARNUNG" so stehts auch dran.

"FEHLER" != "WARNUNG"

gpg sagt weiterhin, dass die botschaft nicht integritätsgeschützt ist. dann schlagen wir bei wikepdia unter dem begriff "integrität" nach.

http://de.wikipedia.org/wiki/Integrit%C3%A4t

hier der link, der dich zum ziel führt.

also was steht da nun über integrität? lesen, verstehen.

und damit du sowas los wirst, wendest du dich vertrauensvoll an google und/oder an www.gnupg.org, das geht nämlich über den zweck dieses howtos hinaus.

 :Evil or Very Mad: 

----------

## euphi2

Ich ruf das crypto-mount Skript von  /etc/conf.d/local.start aus auf und es funktioniert nicht  :Sad: 

Und zwar startet das Skript normal, ich bekomm aber immer die Fehlemeldung, daß PW sei falsch?!

Starte ich crypto-mount per Hand, gehts wunderbar..  :Sad: 

Also ich hab die Passphrase richtig eingegeben und es sind auch keine Zeichen drin, die evtl. Probleme mit der Tastatur machen (y/z usw...)

Funktioniert das Skript überhaupt, wenn es von /etc/conf.d/local.start  gestartet wird?

Euphi

----------

## Anarcho

Bei mir funktioniert es wunderbar in conf.d/local.

Welche Version benutzt du denn?

----------

## toskala

Jar, also bei mir tut es wunderbar wenn es in der local.start steht. bist du dir sicher, dass du keinen typo drin hast?

----------

## euphi2

 *Anarcho wrote:*   

> Bei mir funktioniert es wunderbar in conf.d/local.
> 
> Welche Version benutzt du denn?

 

Die vorletzte - also die, die gestern noch aktuell war...

 *toskala wrote:*   

> bist du dir sicher, dass du keinen typo drin hast?

 

Ja, bin ich. Ich habs auch mehr als einmal probiert -- eher bei jedem booten 3x.

 :Sad: 

----------

## Haldir

Hmm ein paar wilde Vermutungen.

Du benützt UTF und die Console hat beim booten noch nicht umgeschaltet ?

----------

## euphi2

 *Haldir wrote:*   

> Hmm ein paar wilde Vermutungen.
> 
> Du benützt UTF und die Console hat beim booten noch nicht umgeschaltet ?

 

Die Zeichen meiner Passphrase sind bei UTF-8, ASCII und ISO-8859-1, 2, 15 und 16 gleich....

Ich hab jetzt mal die Ausgabe geloggt, anscheinend findet gpg das Verzeichnis ~/.gnupg nicht. Die Frage ist jetzt, was ist ~ während des Bootvorgangs?  /root/.gnupg und jetzt auch /.gnupg existieren.

Euphi

----------

## Anarcho

Wie schon per ICQ besprochen hatte ich das problem ganz am anfang auch mal, aber mit der aktuellen Version läuft es. 

Ich werde weiter suchen!

Hast du die gpg Datei als root oder als user erstellt?

Es kann sein das Unterverzeichnisse/Dateien von .gnupg fehlen. 

Man kann die mit gpg irgendwie anlegen lassen, nur leider kann ich gerade nicht nachgucken, scheiss Windows hinter outgoing-Firewall ...

----------

## Skyburner

Also ersmal danke für dieses Howto.

Beim emergen des crypto-mount Skripts hatte ich jedoch noch Probleme

 *Quote:*   

> mkdir /usr/local/portage/sys-apps/crypto-mount
> 
> cd /usr/local/portage/sys-apps/crypto-mount
> 
> mv crypto-mount-<version>.ebuild .
> ...

 

sollte es nicht

```
ebuild crypto-mount-<version>.ebuild digest

```

heissen?

Ansonsten wäre es Super wenn dieses Forum/Projekt weiter mit soviel Ehrgeiz gepflegt wird.

Wow mein erster Post   :Smile: 

----------

## Anarcho

 *Skyburner wrote:*   

> 
> 
> ```
> ebuild crypto-mount-<version>.ebuild digest
> 
> ...

 

Jup, du hast recht!

----------

## Skyburner

Oki noch ne Frage:

Wenn ich das richtig verstanden habe, kann ich die verschlüsselte Platte nicht mehr in   [/i]/etc/fstab[/i] eintragen. Wie kann ich nun die Platte, wenn sie via crypto-mount eingebunden wurde, auf meinem Gnome-Desktop anzeigen lassen (Wie die anderen gemounteten Geräte)?

----------

## Haldir

Die kannst du immernoch in fstab eintragen ?

du trägst halt statt /dev/hda2 dann /dev/mapper/crypto-muuuh ein

----------

## Anarcho

 *Haldir wrote:*   

> Die kannst du immernoch in fstab eintragen ?
> 
> du trägst halt statt /dev/hda2 dann /dev/mapper/crypto-muuuh ein

 

Allerdings kannst du dann mein crypto-mount nicht mehr nutzen, da man so nur das crypt-device erstellen muss und nicht mounten. 

Ich kenn mich mit gnome nicht aus, aber vielleicht reicht es ja doch sie mit noauto einzutragen.

----------

## toskala

skyburner:

naja, du kannst doch deinen mountpoint auf deinen gnome-desktop verlinken? dann hast du da einen link auf ein verzeichnis was dein crypto-teil darstellt.

----------

## Skyburner

Danke für die schnellen Antworten. Natürlich sollte es ein Link vom Desktop auf das Verzeichniss tun. Gnome erkennt aber normalerweise, welche Geräte aus der /etc/fstab gerade gemountet sind (Wie auch immer). Man findet dann andere Eigenschaften des Icons, unter anderem die Möglichkeit als normaler Nutzer die Platte wieder auszuhängen. Aber der Eintrag 

```
#/etc/fstab [...]

/dev/mapper/kannsnetlesen   /mnt/kannsimmernochnetlesen  resiserfs       rw,users,noauto,noatime 0 0
```

tuts.

Ob ich da jetzt mit der Option rw,noatime zuviel drinstehen hab weiss ich erst nach genauerem nachlesen.   :Embarassed: 

----------

## AnubisTheKing

also ich habe das script einfach so abgeändert, das es nicht mehr die Devices Mountet sondern nur noch das Passwd abfragt und dann die Devices erstellt. Desweiteren habe ich dann das script den critical Service hinzugefügt und somit wird es bei mir nach dem laden der Module, aber vor dem Mounten und FilesystemCheck ausgeführt. Ich kann also die Filesystemchecks und das Mounten weiter mittels der fstab erledigen. 

Bis dann

AnubisTheKing

----------

## toskala

das geht natürlich auch, aber da ich ja sonst immernochmal händisch meine partition mounten müsste und keine icons benutze ist das bei mir an der zielgruppe vorbei, aber vermutlich wirds dem sykburner helfen  :Smile: 

----------

## Skyburner

Das ist nit schlecht. Anubis, kannst wie genau sieht das Skript dann bei dir aus?

Ein Problem hab ich noch:

Gibt es eine möglichkeit automatisch abzufragen ob die Platte verschlüsselt ist? Bei mir hängt die verschlüsselte Platte in nem Wechselrahmen, und da sollen auch unverschlüsselte Platten rein.

----------

## Dest1ny

 *toskala wrote:*   

> zu beachten ist allerdings, dass nach jedem reboot das mapper device entfernt wird, es muss also neu angelegt werden.

 

Ich habe crypto-mount installiert. Leider kann der mapper beim Systemstart nicht gemountet werden. Ich muss im Moment jedesmal den Mapper neu anlegen, dann funktioniert es, doch ich möchte, dass beim Systemstart über crypto-mount die Platte eingehängt wird.

Gibt es vielleicht eine Möglichkeit das Mapperdevice so einzurichten, dass es auch einen Systemstart überlebt?

Ich denke mal ich bin nicht der einzige mit diesem Problem.

----------

## toskala

meines wissens nach nicht. aber das crypto-mount erledigt das doch vollautomatisch? also zumindest bei mir geht das ohne probleme. was macht bei dir da ärger?

----------

## Dest1ny

 *toskala wrote:*   

> meines wissens nach nicht. aber das crypto-mount erledigt das doch vollautomatisch? also zumindest bei mir geht das ohne probleme. was macht bei dir da ärger?

 

Ich habe crypto-mount in /etc/init.d/start.local eingetragen und es kommt folgendes Fehlermeldung:

```

 WARNING:  Mapper already created, only trying to mount

mount: /dev/mapper/crypto is not a valid block device

 ERROR:  Mounting crypto-device

```

----------

## Anarcho

Dann hast du nen Fehler in der config! Check die bitte mal oder poste hier!

----------

## Dest1ny

OK, hier ist mein crypto-mount.conf:

```

USE_GPG="yes"         

MAX_PW_TRIES=3         

PW_TIME_OUT="10"     

MAPPER_NAME="crypto"      

DEVICE_NAME="/dev/hda6"      

CRYPTSETUP_OPTIONS=""      

CRYPTO_MOUNT="/mnt/crypto"   

CRYPTO_FS="ext3"      

MOUNT_OPTIONS="user,exec"    

USE_REMOVEABLE_MEDIA="yes"   

#WAIT_UNTIL_MODUL_LOAD="5"   

WAIT_FOR_MEDIA="yes"      

WAIT_TIME=10      

# Only needed if USE_REMOVEABLE_MEDIA = yes

RELOAD_USB_STORAGE_MODUL="no"

KEYDEVICE_NAME="/dev/usbstick"

KEYDEVICE_MOUNT="/mnt/usbstick"

KEYFILE="crypto.gpg"
```

----------

## toskala

hrm, seit neuestem hab ich diese meldung auch:

```

 WARNING:  Mapper already created, only trying to mount

mount: /dev/mapper/dump is not a valid block device

 ERROR:  Mounting crypto-device 
```

ärgerlicherweise existiert tatsächlich das mapperdevice noch. ich kanns aber mittels crypt-setup remove nicht entfernen, ledigich ein garstiges "rm /dev/mapper/dump" hilft.

hat sich irgendwas geändert seit neuestem? *wunder*

----------

## Anarcho

Also an meinem script hat sich nichts geändert. Liegt es vielleicht an uDev oder neue Version des cryptsetup? Bei mir klappt noch alles (noch devfs und cryptsetup V. 0.1)

----------

## toskala

hmm,hmm... okay, ich werd mal kucken ob ich das irgendwie debugged krieg

----------

## Hasw

Hier noch ein Tip wenn man die Daten vorher nicht extra speichern will (man hat ja schon nen Backup )

1. Partition unmounten

2. Mapping erstellen (hier hdb1 -> mapper/crypt)

3.

```

dd if=/dev/hdb1 of=/dev/mapper/crypt bs=512

```

Liest also die unverschluesselten Daten ein, verschluesselt sie und schreibt sie an dieselbe Stelle zurueck, einfach herrlich  :Wink: 

Hat bei mir ohne Probleme mit drei Platten funktioniert.

----------

## Haldir

Ja mit der gleichen Methode kann man auch Keychanges oder auch cipherchanges, wenn man das mal machen will.

----------

## snIP3r

hallo zusammen!

in der anleitung steht dass das mit ner ganz "normalen" partition geht. faellt da auch n sw-raid device drunter?? ich denke schon, oder irre ich mich da??

weiss einer von euch wie es dann mit der performance aussieht?? ich meine sw raid + verschluesselung duerfte einiges an prozessor-leistung kosten????

greets

snIPer

----------

## Haldir

Das mit dem Crypto + SW Raid (5) gabs schon öfters das Thema, unter nem 2Ghz Prozessor wird das langsam sein, sehr langsam.

Einen Preis für Stabilität kriegst du damit wohl auch eher nicht  :Wink: 

----------

## Anarcho

Crypt SW Raid ist nicht so der Bringer.

Wenn dann sollte es schon HW Raid sein.

Es macht nur sinn wenn man unbedingt ne GROSSE Partition braucht.

----------

## snIP3r

 *Haldir wrote:*   

> Das mit dem Crypto + SW Raid (5) gabs schon öfters das Thema, unter nem 2Ghz Prozessor wird das langsam sein, sehr langsam.
> 
> Einen Preis für Stabilität kriegst du damit wohl auch eher nicht 

 

den will ich auch nicht haben, mir geht es eher um die verschluesselung schon bestehender sw raids (raid0 und raid1)...

aber was du den prozessor betreffend meinst gibt mir grund zum gruebeln... hab leider nur nen athlon 1200 im server  :Sad: 

----------

## snIP3r

 *Anarcho wrote:*   

> Crypt SW Raid ist nicht so der Bringer.
> 
> Wenn dann sollte es schon HW Raid sein.
> 
> Es macht nur sinn wenn man unbedingt ne GROSSE Partition braucht.

 

ich habe bestehende sw raids die ich verschluesseln moechte. muss ich mich halt mal nach hw raid controllern umschaun ..oo00(wollte ich eh schon lange mal kaufen)

----------

## toskala

also was hardware raid mit crypto betrifft kann ich nur sagen, dass die proliants hier keine probleme damit haben.

ein hardware raid controller stellt ja transparent ein device zur verfügung welches du wie eine platte behandelst. ob da nun ein mapper drauf rennt mit cryptographie oder nicht ist hinreichend egal.

auch beim abfackeln einer platte ist das egal, da die daten redundant gespeichert werden um sie bei ausfall einer platte wieder herstellen zu können. für den raid controller sind auch die verschlüsselten daten "daten".

bei software raids ist das im prinzip nicht anders. es stellt jedoch einen enormen performance hit dar. käme auf einen test an, ich hätte dazu jedoch rein "bauchgefühltechnisch" keine lust, da ich software raids verabscheue  :Smile: 

hth.

toskala

----------

## snIP3r

 *toskala wrote:*   

> also was hardware raid mit crypto betrifft kann ich nur sagen, dass die proliants hier keine probleme damit haben.
> 
> ein hardware raid controller stellt ja transparent ein device zur verfügung welches du wie eine platte behandelst. ob da nun ein mapper drauf rennt mit cryptographie oder nicht ist hinreichend egal.
> 
> auch beim abfackeln einer platte ist das egal, da die daten redundant gespeichert werden um sie bei ausfall einer platte wieder herstellen zu können. für den raid controller sind auch die verschlüsselten daten "daten".
> ...

 

ok, ich werde das denke ich mal mit nem kleinen sw raid bei mir daheim ausprobieren - und dann berichten...

sw raids stellen denke ich eine gute und preiswerte alternative dar - fuer heimserver. ich habe hier einige sw raids im einsatz und bisher keine probleme damit. ein produktives system wuerde ich damit auch nicht betreiben *g*

aber ich denke es wird langsam zeit fuer nen hw raid controller mit raid 5 support... kost auch nimmer die welt  (promise sx4000 199 euro)  :Wink: 

gruss

snIPer

----------

## toskala

ja, aber wichtig bei raidcontrollern ist immer, dass sie die arbeit autonom erledigen und nicht den prozessor dabei unnütz belasten.

viele 'günstige' raidcontroller die behaupten 'hardware raid' zu machen sind dann doch wiederum so halbgare bastel-lösungen die dann nur unmerklich mehr performance bringen.

erkundige dich halt vorher genau, dann wirst da bestimmt auch was finden. empfehlen kann ich die compaq smart array controller, aber die sind wohl auch wieder eher was für produktiven einsatz.

----------

## Haldir

Raid0 hat in einem Server nix zu suchen, außer du machst Video, dann hat Crypto da nix zu suchen  :Wink: 

Raid1 (SW) ist ok, mit Crypto wird vielleicht nen 1200Mhz Prozessor ausreichen, meine Einschätzung bezog sich auf Raid5.

Ich rat dir nur von dem Promise SX4000/6000 Controllern ab, die sind grottig.

Wenn PATA dann die 3Ware PATA Series (7500?)

Wenn SATA dann 3Ware 9500 oder AMI Megaraid (etwas kleiner).

3Ware immer bevorzugt  :Smile: 

Ich würde einen großen Bogen um Promise machen  :Wink: 

----------

## Anarcho

Also ich finde RAID generell für zuhause nicht sonderlich nötig.

Daten die bei mir unter das Thema Ausfallsicherheit fallen sichere ich eh auf CD/DVD. Beim rest ist es nicht wichtig und ich hab nicht die Kohle mir 2x400 GB zu holen um zu spiegeln...

----------

## snIP3r

 *Haldir wrote:*   

> Raid0 hat in einem Server nix zu suchen, außer du machst Video, dann hat Crypto da nix zu suchen 
> 
> Raid1 (SW) ist ok, mit Crypto wird vielleicht nen 1200Mhz Prozessor ausreichen, meine Einschätzung bezog sich auf Raid5.
> 
> Ich rat dir nur von dem Promise SX4000/6000 Controllern ab, die sind grottig.
> ...

 

die 3ware machen keinen schlechten eindruck, aber ich suche was fuer den heimgebrauch und nicht fuer produktive systeme...ausserdem 32 bit karten... was waere da zu empfehlen???

----------

## Nylan

Hallo,

habe jetzt alles zum Laufen gebracht...   :Very Happy: 

Das Posting soll jetzt allen helfen, die den key z.b. auf einen USB Stick liegen, mittels gpg verschluesselt haben und Anarchos crypto-mount verwenden.

Folgende Probleme traten bei mir auf:

1) Das mounten des USB Sticks funktionierte nicht (udev + hal + dbus + hotplug).

2) Während dem Booten funktionierte die Passworteingabe nicht, wenn crypto-mount in local.start eingetragen ist.

Ich erhielt immer die Falsches Passwort - Meldung.

Lösungen :

1)

Die Regel für udev im HowTo funktionierte bei mir nicht.

Geändert auf:

```

BUS="usb", KERNEL="sd*", SYSFS{product}="JUMPDRIVE SPORT", SYSFS{manufacturer}="LEXAR MEDIA", SYSFS{serial}="2070A7121012345678204", NAME="usbstick"

```

alle SYSFS{} - Einträge  sind an die eigene Hardware anzupassen.

Mit SYMLINK wie im HowTo beschrieben, wurde bei mir immer das sdX Device automatisch gemountet und der entsprechende Eintrag in /etc/fstab überschrieben.

2)  Anscheinend hatte gpg Probleme, weil die Pfade noch nicht richtig gesetzt waren.

In crypto-mount habe ich die Zeilen 197 und 217 geändert auf:

```

echo "$PASS" | /usr/bin/gpg --no-tty --no-options --homedir "/root/.gnupg" --no-mdc-warning --quiet --passphrase-fd 0 --decrypt ${KEYFILE} &>/dev/null && PW_OK="yes"

```

wobei es auf die Option homedir ankommt. 

lg 

Nylan

----------

## blubbi

:cry:Erstmal ist das ein gutes howto!!

So meine 2. Frage ist, wie sieht es denn aus mit mehreren crypto devicen, kannst du das noch in dein Script mit implementieren.

Ach ja, und nen initscript wäre auch nicht schlecht.

Ich hab das jetzt erst mal auf die schnell so gelöst das ich ein crypto-mount und crypto-mount1 (mit entsprechender crypto-mount1.cfg usw..) angelegt habe. mmmh, evtl bastel ich noch scnell nen init-script das poste ich dann hier.

Hier ist ein BSP wie das aussieht wenn man sein passwort manuel eingeben muss. evtl hilft die das ja weiter:

https://forums.gentoo.org/viewtopic-t-165038-postdays-0-postorder-asc-start-0.html

 *Quote:*   

> 
> 
> #!/sbin/runscript 
> 
> dmcryptconf="/etc/conf.d/dm-crypt" 
> ...

 

und hier die config zu dem Startscript

 *Quote:*   

> 
> 
> # /etc/conf.d/dm-crypt: 
> 
> # Specify dm-crypt configurations here. The format of this file is 
> ...

 

Die "#" muss am ende der Zeile stehen. Dient als IFS

ist geklaut von "drfunfrock"

Grüße

blubbi

----------

## tazinblack

Hallo zusammen !

Erst mal danke für das detailierte HOWTO !

Ich habe gemäß diesem HOWTO eine Partition verschlüsselt und habe aber noch ein Problem :

Wenn man Dateien auf die verschlüsselte Partition schreibt oder von dort löscht, dann wird die Größe des Filesystems, die mit df angezeigt wird nicht aktualisiert.

Ist das ein bekanntes Problem und gibts da Abhilfe ?

Gruß

tazinblack

aktualisiert : Aha, komisch, einmal booten und seit dem gehts auf einmal ! Ist das doch Windows, wenn man da booten muss ??? *g*

----------

## benjamin200

Frage:

Funktioniert das auch mit ReiserFS oder nur mit EXT3?

Gruß

Benjamin

----------

## Anarcho

Klar,

du kannst das dann formatieren womit du willst. Ist egal welches FS du nimmst.

Nur braucht reiserfs recht viel CPU und dann noch verschlüsselt, daher würde ich lieber ext3 nehmen. 

Schneller wird es durch reiserfs sicherlich nicht.

----------

## benjamin200

Hi und Danke für deine Antwort Anarcho. Im Howto wird ja nicht auf die die Formatierung der Daten auf der zuverschlüsselnden Platte eingegangen. Wenn diese wie bei mir ReiserFS ist, kann ich dann den MAPPER mit EXT3 formatieren? Ist das zu empfehlen?

Gruß,

Benjamin

----------

## Anarcho

Ach sorum meintest du das. 

Die Original-formatierung der Partition geht ja sowieso verloren. Diese spielt also keine Rolle. Es kommt dann nur darauf an mit welchem FS du den mapper formatierst.

Dort würde ich ext3 nehmen, da wie gesagt die CPU-Auslastung bei ReiserFS höher liegt als ext3.

----------

## benjamin200

Anarcho schrieb:

 *Quote:*   

> 
> 
> Die Original-formatierung der Partition geht ja sowieso verloren. Diese spielt also keine Rolle. Es kommt dann nur darauf an mit welchem FS du den mapper formatierst. 
> 
> 

 

Aus dem HowTo geht hervor, das es dringendst empfohlen wird ein Backup zu machen. Es wird nicht erwähnt, das die Partition (z.B. ReiserFS) die verschlüsselt werden soll, das gleiche File-System bekommt. 

Hätte jetzt nochmal zwei Fragen:

- gehen die Daten auf der zu verschlüsselten Partition verloren wenn der MAPPER erstellt wird?

- wird die Partition mit den zu verschlüsselten Daten automatisch von ReiserFS zu EXT3 formatiert (ohne Datenverlust) wenn man sich exakt an das Howto hält (davon ausgehend das die alte Daten Partition mit ReiserFS formatiert wurde)?

Gruß,

Benjamin

----------

## Anarcho

Die Daten gehen definitiv verloren!

Sie gehen nicht automatisch verloren wenn du den Mapper anlegst. Aber ohne diesen dann neu zu formatieren kannst du ihn nicht benutzen. Und beim Formatieren des Mappers wird selbstverständlich die Partition ebenso formatiert (nur eben verschlüsselt).

Daher bleibt dir keine Wahl als die Daten vorher auf eine andere Partition/DVD zu sichern und dann wieder auf die verschlüsselte zurückzuspielen.

Genau aus diesem Grund spielt das originale Dateisystem keine Rolle mehr, denn es wird sowieso gelöscht.

----------

## benjamin200

Anarcho schrieb:

 *Quote:*   

> 
> 
> Die Daten gehen definitiv verloren! 
> 
> Sie gehen nicht automatisch verloren wenn du den Mapper anlegst. Aber ohne diesen dann neu zu formatieren kannst du ihn nicht benutzen. Und beim Formatieren des Mappers wird selbstverständlich die Partition ebenso formatiert (nur eben verschlüsselt). 
> ...

 

Vielen Dank Anarcho für die detaillierte Erläuterung.

Werde es bei Gelegenheit ausprobieren, aber auf einer Testpartition  :Smile: 

Eigentlich stand das ja auch so ungefähr in HowTo:

 *Quote:*   

> 
> 
> 1. vorwort 
> 
> bevor ihr das howto anfangt solltet ihr ein backup der daten anlegen, welche auf der zu verschlüsselnden partition liegen. die partition wird neu formatiert, die daten sind sonst futsch! wie das genau geht ist in dem howto beschrieben. 
> ...

 

Gruß,

Benjamin

----------

## elfstone

Hi, zwei fragen:

1. Ich hab noch kein Gentoo, möchte mir aber eins mit verschlüsselung zulegen, deswegen weiß ich auch nicht, was in dem cryptoskript drin steht. Ich möchte /var und /tmp mitverschlüsseln, beide sollten ja schon beim booten da sein. Hält das Skript dann den Bootvorgang an, und fragt mich nach der Passphrase?

2. Wie verschlüssele ich das swap? Leider hab ich auf dem Laptop nur 64mb RAM, swap ausschalten ist also schlecht, nachrüsten ist nicht, und für meine Anwendun muss das swap eben mitverschlüsselt werden. 

Danke für Antworten

Thomas

----------

## slick

Mein Script für eine verschlüsselte Swap, nutzt aber cryptoloop statt dmcrypt, aber das Prinzip sollte erkennbar sein. Und bei der Swap ist mir das Passwort ja nun wirklich egal. Ggf. sollte man an der Generierung des Passwortes noch was feilen...

```
#!/sbin/runscript

depend() {

        need localmount

        after localmount

}

SWAP=/dev/hda5

LOOP=/dev/loop/7

start() {

                ebegin "Setting up encrypted swap"

                swapoff ${SWAP} &> /dev/null

                losetup -d ${LOOP} &> /dev/null

                echo "`echo ${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM} | md5sum | cut -d " " -f 1`"| hashalot sha256 | losetup -p 0 -e twofish-128 ${LOOP} ${SWAP} &&

                mkswap ${LOOP} &> /dev/null &&

                swapon ${LOOP} &> /dev/null &&

                eend 0 || eend 1

}

stop() {

                ebegin "Shutting down encrypted swap..."

                swapoff ${LOOP} &> /dev/null

                losetup -d ${LOOP} &> /dev/null

                eend 0

}

```

----------

## selli69

Hallo Allerseits !

Erstmal danke an den Autor des FAQś.

Habe allerdings ein kleines problemchen..

beim ausführen von:

```

gpg --quiet -d selli.key.gpg | cryptsetup -h plain create dump /dev/sdb1

```

werde ich zwar noch aufgefordert meine Passphrase einzugeben, aber dann erhalte ich folgende meldung:

```

gpg: WARNING: message was not integrity protected

Command failed: Invalid argument

```

das mit der warning konnte ich ja noch nachvollziehen.. aber das command failed nicht.

habe schon im Thread gesucht aber nichts gefunden (auch nicht sonstwo im Forum)

für hilfe wäre ich dankbar...

solong

selli

----------

## toskala

hmm, das ist seltsam, kannst du mir sagen welches der beiden programme diese meldung ausspuckt?

----------

## selli69

Hallo,

Danke für die schnelle Antwort!

wenn ich den gpg teil alleine aufrufe, dann spuckt mir dieser den key aus.. funktioniert also

die fehlermeldung kommt vom cryptsetup

solong

selli

----------

## new_nOOb

ich hab das prob das ich auch das crypto-mount script benutze und das  nach einen  neustart   die verschlüsselte patiton noch gemountet ist ! und das ist alles ander als schön !

----------

## misterjack

da fügste zu deiner /etc/conf.d/local.stop crypto-umount hinzu

----------

## new_nOOb

und was ist wenn man den stecker von rechner zieht?? ne ne das wäre schlecht..

es scheint jetzt nicht mehr so zu sein hatte wie selli69 das problem das gpg das brachte

gpg: WARNING: message was not integrity protected 

ein  "--force-mdc " hat die nachricht und scheinbar auch das problem gelöst... muß ich nachher nochmal testen kann die kiste leider jetzt nicht nochmal neustarten

----------

## new_nOOb

hmm leider klapt die 128bit verschlüsselung nicht bei mir  :Sad: ((

mount: Falscher Dateisystemtyp, ungültige Optionen, der

       ,,Superblock" von /dev/mapper/crypto ist beschädigt oder es sind

       zu viele Dateisysteme eingehängt

  ERROR:  Mounting crypto-device

ohne die -s128 option klapts...  :Sad: ((

----------

## new_nOOb

Lol

gut dann antworte ich wieder selbst... muß natürlich auch im crypto-mount script die 128bit angeben... hehe naja jetzt gehts

----------

## Alex7512

Hallo allerseits,

danke erstmal für das gute Howto! Ich nutze dmcrypt in Verbindung mit crypto-mount jetzt seit ca. 3 Monaten. Nachdem ich mein System gestern auf neusten Stand gebracht habe (und dies doch einige tiefgreifendere Veränderungen zur Folge hatte), habe ich jetzt folgende Fehlermeldung:

Please enter passphrase (hit ENTER to exit): /bin/cryptsetup: error while loading shared libraries: libdevmapper.so.1.00: cannot open shared object file: No such file or directory

  ERROR:  Creating the mapper-device (crypto1)

Weiß jetzt leider nicht was ich wo ändern muss...

MfG

Alex

----------

## misterjack

 *Alex7512 wrote:*   

> error while loading shared libraries: libdevmapper.so.1.00: cannot open shared object file: No such file or directory

 

Lies doch einfach was da steht, da fehlt eine Library

----------

## Fauli

Stimmt!

Wenn du inzwischen die Version 1.01.00 von sys-fs/device-mapper installiert hast, musst du sys-fs/cryptsetup nochmal mergen, damit es die neue Version der devmapper-Bibliothek benutzt.

----------

## Alex7512

Danke! Funzt jetzt wieder!  :Very Happy: 

MfG

Alex

----------

## KirinSan

Hallo, Hallo!

Ich habe grade nach eurer Anleitung das Verschluesseln per DM-Crypt ohne Probleme zum Laufen bekommen.

Jedoch funktioniert bei mir der Link zu dem Skript von Anarcho, welches das crypto-device on-boot mounten kann, nicht. Anscheinend ist der Server nicht erreichbar?

Gibt es noch andere Bezugsquellen oder fehlts am Platz inklusive guter Anbindung?  :Smile: 

Gruesse

Micha

----------

## Anarcho

Hast recht. Als ich den Server von Debian auf Gentoo umgestellt habe, habe ich die vergessen zu kopieren.

Hier nun die neue URL:

http://www.daniundmaz.de/gentoo/crypto-mount-0.6.1a.ebuild

http://www.daniundmaz.de/gentoo/crypto-mount-0.6.1a.tar.gz

@Toskala: bitte im Hauptthread korrigieren, danke!

----------

## toskala

ah  :Smile:  haha! erledigt  :Wink: 

achja, eine kurze anmerkung noch: mittlerweile hab ich zuhause meinen fileserver ein wenig aufgepustet. nu macht er ein 300gb raid5 auf sata basis mit dmcrypt nach diesem howto. die installation hatte wunderbar geklappt auch unter gentoo 2005.1 und die performance ist grossartig, 27mb / sec  :Smile:  *hypffreu*  :Smile: 

cheerios,

toskala

----------

## Anarcho

Danke!

Nachdem ich nun meine Datenplatten im Server zuhause verschlüsselt habe komm ich nur noch auf ~14MB/s übers Gigabit Netzwerk.

Aber ist auch nur ein Athlon 2000+ ...

----------

## toskala

naja, ich hab *hüstel* das gw mit nem p4 2,8ghz aufgepustet  :Smile:  und raid5 is beim lesen zudem schneller als ne normale platte

----------

## Aszrael

Super HowTo und klasse Script - Dank an toskala, Anarcho und alle die mitgeholfen haben!

In Verbindung mit dem neuen Baselayout ist swap jetzt auch bei mir verschlüsselt.

Jetzt kommt mir die Idee einer "eierlegenden Wollmilchsau":

Warum nicht beides direkt kombinieren?

Baselayout soll angeblich mit mehreren Partitionen fertig werden, aber ich habe dort nicht die Möglichkeit gefunden, den Key über USB-Stick anzugeben (und das ist genau das, was ich suchte).

Kann mir jemand einen Tipp geben, wo ich ansetzen muß, um baselayout Anarchos usb-mount-Funktion beizubringen?

Dummerweise ist mein Script-Fu absolut unterentwickelt, ich wäre also für Hilfe jeder Art dankbar.

Der einzige Nachteil dieser Implementierung wäre IMO nur die Gefahr bei einem neuen baselayout die scripte zu verlieren.

Gruß,

Aszrael

PS @Anarcho: Gruß nach W-Tal von einem Exil-Gruitener

----------

## Anarcho

Warum überlässt du das mounten der verschlüsselten Partitionen nicht dem local.start? Dann bist du imun gegen Änderungen im Baselayout. 

Für die allermeisten Fälle ist es egal wann im Bootvorgang die Partitionen gemountet werden (der Rechner wird wohl während des startens noch ohne swap auskommen...)

----------

## benjamin200

Hi toskala,

leider komme ich an der folgenden Stelle deines HowTo's nicht weiter:

 *Quote:*   

> 
> 
> 7. device mapper konfigurieren
> 
> das device an den device mapper koppeln
> ...

 

Sobald ich das Device an den Device Mapper koppeln will, erhalte ich folgende Fehlermeldung:

```

# gpg --quiet -d crypt.key.gpg | cryptsetup -h plain create MAPPER /dev/sdb3

gpg: WARNING: message was not integrity protected

Command failed: Invalid argument

```

Kann jemand helfen?

----------

## SkaaliaN

hat von euch schon jmd. eine Linux-Partition mit SafeGuard-Easy verschlüsselt??? Würde mich interessieren ob das geht.

Danke.

----------

## benjamin200

 *Quote:*   

> 
> 
> Hi toskala,
> 
> leider komme ich an der folgenden Stelle deines HowTo's nicht weiter:
> ...

 

Hab es in der zwischenzeit leider noch nicht hinbekommen. 

Hier Step by Step meine Vorgehensweise:

1. Sicherstellen das device-mapper support, crypt target support, AES cipher algorithms fest in den Kernel gebaut sind

2. Installation von sys-fs/cryptsetup und app-crypt-gnupg (zusätzlich habe ich noch shareutils für "uuencode" emergen müssen)

3. Partiton /dev/sdb3 ausgewählt

4. Backup der Partition (weiterhin gemountet)

5. siehe Kommandos:

```

# head -c 1000 < /dev/urandom | uuencode -m - | grep -v begin | head -c 32 >crypt.key

# qpg -c crypt.key

# shred crypt.key

# rm crypt.key

```

6. Und nun das Problem:

```

# gpg --quiet -d crypt.key.gpg | cryptsetup -h plain create MAPPER /dev/sdb3

gpg: WARNING: message was not integrity protected

```

Mit der Partition /dev/sdb3 passiert garnichts. 

Sie bleibt im unverschlüsselten Zustand. Hoffe es weiß doch noch jemand Rat  :Smile: 

Gruß,

Benjamin

----------

## Anarcho

Hi!

Also die Meldung "gpg: WARNING: message was not integrity protected" ist nur eine Warnung und somit nicht weiter wichtig für das weitere Vorgehen.

Wenn danach keine richtige Fehlermeldung mehr kommt war die ganze Aktion erfolgreich.

Allerdings bewirkt das in der Tat noch keine Änderung an /dev/sdb3 den damit hast du nur den Mapper eingerichtet. Das ist praktisch der On-The-Fly encrypter. Das bedeutet das du ab sofort nicht mehr auf /dev/sdb3 zugreifen musst sondern auf /dev/mapper/MAPPER. 

(dev/sdb3 musst du dann natürlich auch unmounten)

Zuerst musst du dann ein neues FS erstellen: mkfs.ext3 /dev/mapper/MAPPER

dann kannst du dieses mounte: mount /dev/mapper/MAPPER /mnt/crypt

danach wird alles was du nach /mnt/crypt speicherst automatisch verschlüsselt.

----------

## benjamin200

Hi Anarcho,

danke für den Hinweis bezüglich der qpg WARNING...Bin wie im HowTo weiter vorgegangen und siehe da, es funktioniert. Mich hat die Meldung so sehr beeindruckt, das ich erstmal nicht weiter konfiguriert hatte. Aber nun ja, es läuft.

Eine Frage hätte ich noch  :Smile: 

Wenn die verschlüsselte Partition mit dem gemapt wieder, und man hier das Passwort falsch eingibt - z.b. vertippt - wird der Mapper unwiederruflich erstellt. Will man nun den gleichen Befehl erneut ausführen, erhält man die Meldung das der Mapper schon existiert. Ich hatte versucht den MAPPER manuell zu löschen "rm -fr /dev/mapper/mapper-driver" aber das half nicht. Einziger Workaround: MAPPER umbenennen, z.B. MAPPER1 anstatt MAPPER. Gibt es hierfür auch eine einfachere Lösung?

P.S.

Dein offizielles ebuild "crypt-mount" werde ich mir demnächst vornehmen.

EDIT:

Performance-Test, Transfer von 2GB File über 2x Maxtor 6B200MO S-ATA2 mit 7200RPM auf AMD-64 3500+, 1GB RAM (64-Bit Native System)

Disk1 --> Disk2 (UnSecure Partition)    = 37,8

Disk1 --> Disk2 (Secure Partition)        = 22,1

----------

## Anarcho

Hi benjamin,

das entfernen eines Mappers machst du ebenfalls mit cryptsetup, nur anstatt create ein remove und keine Festplatte angeben, also so:

cryptsetup remove MAPPER

Danach kannst du den Mapper wieder anlegen.

Die gpg Warnung kannt du entweder ignorieren, per parameter ausschalten oder durch neuerstellen mit sign wegbekommen. Aber normalerweise stört die ja keinen da die Datei ja von dir ist und nicht von irgendwo.

----------

## Frank1969

Hallo !

hab jetzt schon ne menge gelesen, weiss auch nicht ob meine frage schon irgendwo gestellt und oder beantwortet wurde. also auf die gefahr hin das es doch schon vorkam frag ich trotzdem : 

ist es möglich auf dem usb stick das passwort zu speichern ?

ziel ist es, das wenn der usb stick drin ist er den rechner samt cryptet platte hochfährt OHNE nach einem passwort zu fragen weils ja auch auf dem stick liegt.

fein wäre evtl. wenn sobald man den stick zieht er das laufwerk unmountet und sobald man den wieder einsteckt er es wieder mountet !!!

ist sowas möglich ????

man könnte so ein 500 stelliges generiertes passwort benutzen, weiss zwar nicht ob es sinnig ist, aber je länger je besser, steht ja überall  :Wink:  man würde sich aber eben auch die passworteingabe sparen. passwörter kann man ja auch ausspähen, wenn man aber keins einibt sondern nur den stick einsteckt wär das ja auch sicherer.

Gruß

Frank

----------

## Anarcho

 *Frank1969 wrote:*   

> Hallo !
> 
> hab jetzt schon ne menge gelesen, weiss auch nicht ob meine frage schon irgendwo gestellt und oder beantwortet wurde. also auf die gefahr hin das es doch schon vorkam frag ich trotzdem : 
> 
> ist es möglich auf dem usb stick das passwort zu speichern ?
> ...

 

Genau dafür ist das Script welches ich hier gepostet habe bzw. das ebuild auch auf der ersten Seite liegt. 

Du musst dann nur in der config angeben das du kein GPG verwendest und das Passwort dann eben als Plaintext auf dem Stick speichern. 

So läuft das bei mir wunderbar.

----------

## Haldir

 *Frank1969 wrote:*   

> Hallo !
> 
> man könnte so ein 500 stelliges generiertes passwort benutzen, weiss zwar nicht ob es sinnig ist, aber je länger je besser, steht ja überall  man würde sich aber eben auch die passworteingabe sparen. passwörter kann man ja auch ausspähen, wenn man aber keins einibt sondern nur den stick einsteckt wär das ja auch sicherer.
> 
> 

 

Sowas ist nicht sicherer als ein Passwort, denn genauso wie du das Keyboard loggen kannst, kannst du noch viel einfacher die Lese/Schreib Zugriffe auf deinen USB Stick protokollieren.

Wenn du was sicheres mit einem USB Stick machen willst, nimm wie schon beschrieben ein Public Key System inkl. Password.

----------

## Frank1969

wenn jemand den lese/schreibzugriff protokolliert dann nützt auch das passwort nix, ok, er findet es nicht raus aber danach ist das laufwerk ja gemountet und dann sieht man auch alles.

geht eher darum, das es niemand sieht, also wenn jemand neben einem steht. beim stick einstecken kann er kaum was sehen, ausser das plötzlich ein laufwerk mehr da ist.

aber was ich noch anmerken muss, geht es bei dem crypt laufwerk nicht eher um sicherheit hardwaremäßig, also platte wird ausgebaut oder pc geklaut oder sowas, denn wenn ich mit dem ding im internet bin und das crypt laufwerk gemountet ist, ist es doch genau so angreifbar wie ein normales. um passwörter zu schützen dürfte es nur gemountet sein wenn man  es braucht und danach sofort wieder unmounten. obwohl selbst das könnte ja reichen. (eine super gut konfigurierte firewall wäre da sicherer)

und zum problem mit /tmp oder swap. wäre es dann nicht einfacher, sobald man den stick zieht und er das crypt laufwerk unmountet, das die swap neu angemeldet wird, somit wäre die dann ja auch leer und man einfach noch das tmp löscht. könnte man ja problemlos ins script bauen. weil tmp und swap crypten halte ich auch für sehr unsinnig.

achso, kann man so einfach swap neu starten, also mal angenommen es wäre was drin  :Wink: 

werde aber jetzt doch mal den rest lesen, nicht das doch schon was besprochen wurde was ich wieder anreiße !!

irgendwie sieht man ja alles zu schwarz  :Wink:  als ob ich (oder viele andere) sooo wichtige daten auf dem pc hätten die wen interessieren. aber werds mal probieren, hab grad einen pc übrig. 

ist aber ne supi anleitung und trotz allem ne tolle idee.

----------

## Anarcho

Das löschen von tmp und swap kann man ja ganz einfach durch steckerziehen umgehen wenn man an die Daten ran will. Daher ist auch das nicht sicher.

Also kommt man für völlige Sicherheit nicht um die komplette Verschlüsselung rum. Aber ich finde es in den allermeisten Fällen als völlig ausreichend nur die Datenpartition zu verschlüsseln.

Alternatvi kann man aber z.b. auf swap ganz verzichten und /tmp als tmpfs mounten. Somit ist nach einem stromaus mit sicherheit alles weg.

Ich muss mal schauen wieviel RAM ich noch reinkrieg...

----------

## Haldir

Was passt euch nicht an der aktuellen Lösung für swap und /tmp, dass einfach bei jedem boot Vorgang neue Keys erstellt werden, damit brauch man sich wirklich keine größeren Sorgen machen über /tmp & swap.

Auch auschalten ohne unmounten ist damit abgehakt...

----------

## benjamin200

 *Quote:*   

> 
> 
> das entfernen eines Mappers machst du ebenfalls mit cryptsetup, nur anstatt create ein remove und keine Festplatte angeben, also so:
> 
> cryptsetup remove MAPPER 
> ...

 

@Anarcho:

Danke für den Hinweis...was würde ich (wir) nur ohne dieses Forum und seine User-Gemeinschaft machen.

Merci  :Smile: 

----------

## AnubisTheKing

hi,

ich habe heute morgen mein gentoo geupdatet und da wollte er sich cryptsetup-luks installieren. Ist wohl eine neue Abhängigkeit von einem Programm von gnome. Cryptsetup-luks blockt sich natürlich mit dem normale cryptsetup. Deshalb habe ich das von der Platte geworfen. Nun kommt das komische. Ich kann meine alten verschlüsselten Container ordentlich mit cryptsetup-luks entschlüsselnt, wenn ich alles auf der Konsole von Hand eingebe. Aber faul wie ich bin, hatte ich mir natürlich ein Script geschrieben.

```

echo "Please enter passphrase (hit ENTER to exit): "; read -ers PASS

        # Check if only ENTER

        if [ "$PASS" == "" ]; then

                echo ""

                exit 1

        fi

        # Checking if the usb drive already exist

        if [ -b /dev/usbplatte ]; then

                #mounten der Platte

                MOUNT_TEST=`/bin/mount | /bin/grep /dev/usbplatte`

                if [ "$MOUNT_TEST" == "" ]; then

                        /bin/mount /mnt/usbplatte

                fi

                #erstellen der loop devices un device mapper erstellen

                if [ -b /dev/loop0 ]; then

                        /sbin/losetup /dev/loop0 /mnt/usbplatte/S/a.img

                        echo "$PASS" | /bin/cryptsetup create imga /dev/loop0

                        /bin/mount /mnt/imga

                fi

        fi

        unset PASS;

```

Problem ist nun, dass die Platte wenn ich das Script benutzt nicht entschlüsselt wird. Es wird wohl irgendwie ein falsches passwd benutzt. Ich habe mich ganz sicher nicht vertippt. Was macht denn echo anders, als wenn ich das Passwort direkt eintippe? Habe auch schon "echo -n" verscuht, das hat auch nichts gebracht. Irgendjemand eine Idee?

Bis dann

AnubisTheKing

----------

## Anarcho

Probier mal 

```
echo "$PASS" | /bin/cryptsetup -h plain create imga /dev/loop0
```

----------

## AnubisTheKing

das hilft leider auch nicht. Ich denke es hat auch nichts mit den cryptsetup Parametern zu tun, sondern nur mit dem echo und der Pipe. Verstehe das voll nicht. Nur bis ich das gelöst habe kann ich nicht booten btw. muss wieder das andere cryptsetup aufspielen.

bis dann

anubistheking

----------

## Anarcho

Interessant für alle die einen 64Bit Kernel haben:

Ab dem 2.6.13 Kernel ist der AES Cypher in 64Bit Assember geschrieben.

Bei mir bringt das ca. 20 % mehr Leistung als noch mit dem 2.6.12er. Das nenn ich mal nen Sprung nur durch ein Kernel update.

2.6.12: ~33 MB/s

2.6.13: ~40 MB/s

Allerdings heisst die Config Option jetzt CONFIG_CRYPTO_AES_X86_64, daher könnt ihr nicht einfach eure alte Kernel-config verwenden.

Einmal ins menuconfig rein und Schalter setzen.

----------

## return13

danke fürs Tut.

Wenn du willst kannst du noch ergänzen das man das Paket app-arch/sharutils braucht für uuencode

----------

## e-tho

Hallo Forum,

erstmal vielen Dank für die guten Tipps, Anleitungen und Tools zum Thema verschlüsseln.

Dank dieser Hilfen habe ich seit einiger Zeit eine verschlüsselte Partition die ich nur mounte wenn ich sie brauche, alles arbeitet wunderbar...  :Smile: 

Beim rumschnüffeln in den Logs hab ich aber gesehen, es wird Zeit für ein fsck.

```

Dec 30 18:50:06 nemesis EXT3-fs warning: maximal mount count reached, running e2

fsck is recommended

Dec 30 18:50:06 nemesis kjournald starting.  Commit interval 5 seconds

Dec 30 18:50:06 nemesis EXT3 FS on dm-0, internal journal

Dec 30 18:50:06 nemesis EXT3-fs: mounted filesystem with ordered data mode.

```

Kein Problem dachte ich, fsck hilft...

```

# fsck /dev/hda6

fsck 1.38 (30-Jun-2005)

e2fsck 1.38 (30-Jun-2005)

Couldn't find ext2 superblock, trying backup blocks...

fsck.ext2: Bad magic number in super-block while trying to open /dev/hda6

The superblock could not be read or does not describe a correct ext2

filesystem.  If the device is valid and it really contains an ext2

filesystem (and not swap or ufs or something else), then the superblock

is corrupt, and you might try running e2fsck with an alternate superblock:

    e2fsck -b 8193 <device>

```

Huch? Was ist los? Nochmal explizit mit fsck.ext3 probieren...

```

# fsck.ext3 /dev/hda6

e2fsck 1.38 (30-Jun-2005)

Couldn't find ext2 superblock, trying backup blocks...

fsck.ext3: Bad magic number in super-block while trying to open /dev/hda6

The superblock could not be read or does not describe a correct ext2

filesystem.  If the device is valid and it really contains an ext2

filesystem (and not swap or ufs or something else), then the superblock

is corrupt, and you might try running e2fsck with an alternate superblock:

    e2fsck -b 8193 <device>

```

Die Partition lässt sich wunderbar mounten und die Daten lesen und schreiben, ist also prinzipiell OK.

Ich probier's auch auf der richtigen Partition. Laut /etc/crypto-mount.conf (was ja funktioniert):

```

DEVICE_NAME="/dev/hda6"         # Name of the partition-device, e.g. hda3

CRYPTO_FS="ext3"                # Filesystem of the crypto-device

```

Was läuft also mit fsck falsch?

Ich hab sogar probiert die Partition gemountet zu checken (normalerweise macht man sowas ja nicht), aber das ging mit der gleichen Fehlermeldung wieder in die Hose...

Eine Sache noch. Ich hab /sbin/e2fsck auf dem System. Brauch ich ein e3fsck? Bisher hab ich nur mit ext2 gearbeitet...

Linux benutze ich schon länger, bin aber Frischling mit Gentoo.

Könnt ihr mir einen Tipp geben? Ich steh auf dem Schlauch...

Gruss,

e-tho

----------

## svf

Hi

du musst e2fsck auf den mapper anwenden... 

also erst mit cryptomount dein mapper erstellen(oder von hand)

dann unmount(umount <mountpoint>)

und dann kannst du e2fsck /dev/mapper/<mappername>

danach wieder mounten und fertig

HTH

gruß

----------

## e-tho

Hallo svf,

danke für den Tipp! Hat geholfen.   :Smile: 

Gruss,

e-tho

----------

## ScytheMan

Tag,

habe das jetzt so gemacht wie es im HowTo steht, danke erstmal für die Anleitung.

Nun zu meinem Problem: Ich habe gemerkt, dass die Partition ein bisschen zu klein ist. Kann ich die größe nachträglich verändern ohne Probleme?

Gruß ScytheMan

----------

## Anarcho

Es gibt nen parameter für cryptsetup mit dem man die grösse ändern kann. 

Und es gibt glaube ich nen ext3resize oder so ähnlich.

Mit dieser Kombination könnte man es mal probieren (natürlich vorher die echte partition vergrössern).

----------

## flash49

 *Anarcho wrote:*   

> Es gibt nen parameter für cryptsetup mit dem man die grösse ändern kann. 

 

Das geht mit "cryptsetup resize". Wennich mich richtig an meine letzte Erweiterung erinnere braucht man das Filesystem nichtmal auszuhängen. Das ist besonders praktisch, wenn man ein Filesystem wie xfs benutzt. Das kann man dann auch online erweitern

 *Anarcho wrote:*   

> Und es gibt glaube ich nen ext3resize oder so ähnlich.
> 
> Mit dieser Kombination könnte man es mal probieren (natürlich vorher die echte partition vergrössern).

 

Das Programm heißt "resize2fs",  ext2resize und ext2online sind schon ziemlich alt und haben mit manchen Strukturen Probleme. Bei mir sind sie über die Raid-Optimierungen gestolpert.

----------

## Massimo B.

Hallo. Ich habe hier cm_crypt mit pam_mount verknüpft, nach der HowTo Automatically mount dm-crypt encrypted home with pam_mount. Dadurch muß ich nur noch mein Benutzerpasswort eingeben, der Schlüssel selbst liegt in einer ssl-verschlüsselten Datei.

Scheinbar kümmert sich dort niemand mehr um die Diskussion.Nach dem Logout bleibt gerne mal die Partition gemountet, wenn Prozeße noch darauf zugreifen. Das habe ich einigermaßen behoben, indem ich das Skript /usr/bin/umount.crypt geändert hab:

```
# warte kurz...

sleep 4

#"$UMOUNT" "$1";

"$UMOUNT" -l "$1";

if [ $? -ne 0 ]; then

        echo "${0##*/}: error unmounting $1" >&2

# ...
```

Allerdings bleibt auch dann manchmal noch /dev/mapper/_dev_hda5 aktiv, und läßt sich auch nicht manuell mit remove entfernen, da es noch verwendet werde. Trotzdem zeigt   fuser -vm /dev/mapper/_dev_hda5   nichts mehr an.

Das Problem besteht nur bei KDE Sitzungen. Konsolen Login/Logoff funktioniert tadellos.

Laut pam_mount.conf sollte LUKS auch möglich sein. Hier verstehe ich aber nicht, wie ich gemäß HowTo meine Schlüsseldatei als "Passphrasse" mitgebe.Sollte mal ein fsck nötig sein, kann ich dies auf /dev/mapper/_dev_hda5 anwenden?

----------

## slick

Habe mir das crypto-mount script umgebaut, da ich kein Keyfile möchte sondern die Passphase direkt verwenden. Als Vorteil sehe ich die Vermeidung von gpg, denn bei der vorgestellten Variante liegt die ganze Gefahr bei der gpg-Verschlüsselung, ist diese "geknackt" ist auch die Partition offen und außerdem kann ich so das Keyfile nicht verlieren. Nachteil ist dass das Passwort nachträglich nicht mehr geändert werden kann und entsprechend lang sein sollte. Alles was ich nicht benötigte habe ich weggelassen. Ergänzt habe ich die config um PW_TRIPLE_MD5 welche eine 3-fache md5sum des Passwortes enthält damit ich auch dessen Richtigkeit prüfen kann.  Evt. sollte man hier einen besseren Hash-Algo. finden, bin für Vorschläge offen. Den Wert erhält man durch 

```
echo $PASS | md5sum | cut -d ' ' -f 1 | md5sum | cut -d ' ' -f 1 | md5sum | cut -d ' ' -f 1
```

aber nicht vergessen anschliessend den Befehl wieder aus der history zu werfen.

Deweiteren habe ich ein simples fsck ergänzt. (ohne Fehlerbehandlung) Die MOUNT_OPTIONS war im orginalen Script aus dem tar.gz nicht korrekt, da fehlte das -o in der Config oder im Script. Da ich -t ext3 mit in die MOUNT_OPTIONS schreibe habe ich mir letztendlich CRYPTO_FS auch gespart. Das Script crypto-umount ist gleich geblieben.

/etc/crypto-mount.conf

```
# ********************************************************************* #

# Script for automatically mounting and unmounting a crypted partition  #

# by using a keyfile stored on a removable media. This keyfile can be   #

# encrypted by gpg.                                                     #

#                                                                       #

# Author: Matthias Schroeer (Anarcho)                                   #

# Date: 01.11.2004                                                      #

# Version: 0.6                                                          #

# License: GPL                                                          #

#                                                                       #

# ToDo:                                                                 #

# - add support for multiple crypted partitions                         #

# ********************************************************************* #

#

# 17.02.2006 - modified by slick, who don't like keyfiles, use password only

#

# Config

PW_TRIPLE_MD5="cc9a69285ff5fffd26e33bde2130c56f" # triple md5sum of password

MAX_PW_TRIES=3                  # Maximum password tries

PW_TIME_OUT="20"                # password timeout in seconds, set to "" to disable

MAPPER_NAME="crypto"            # Mapper-device name

DEVICE_NAME="/dev/md6"          # Name of the partition-device, e.g. hda3

CRYPTSETUP_OPTIONS=""           # Options for cryptsetup like -s 128

CRYPTO_MOUNT="/mnt/crypto"      # Moutpoint for the crypto-device

MOUNT_OPTIONS="-t ext3 -o noatime"      # Mountoptions for the crypted device
```

crypto-mount

```
#!/bin/bash

# ********************************************************************* #

# crypto-mount                                                          #

#                                                                       #

# Script for automatically mounting a crypted partition by using a      #

# keyfile stored on a removable media. This can be encrypted by gpg.    #

#                                                                       #

# Author: Matthias Schroeer (Anarcho)                                   #

# Date: 05.12.2004                                                      #

# Version: 0.6.2                                                                #

# License: GPL                                                          #

#                                                                       #

# ToDo:                                                                 #

# - add support for multiple crypted partitions                         #

# ********************************************************************* #

#

# 17.02.2006 - modified by slick, who don't like keyfiles, use password only

#

unset PASS

# Color definition

cblack='\E[30m'

cred='\E[31m'

cgreen='\E[32m'

cyellow='\E[33m'

cblue='\E[34m'

cmagenta='\E[35m'

ccyan='\E[36m'

cwhite='\E[37m'

cecho ()

# Argument $1 = message

# Argument $2 = color

{

use_color=${2:-$cblack}          # Defaults to black, if not specified.

  echo -en '\033[1m'"$use_color"

  echo -n "$1"

  tput sgr0                  # Reset to normal.

  return

}

# Checking if you are root

if [ `whoami` != "root" ]; then

        cecho "  ERROR:  " $cred

        echo "You have to be Super-User to mount $MAPPER_NAME"

        exit 1

fi

# Check for config-file

if [ -f /etc/crypto-mount.conf ]; then

        source /etc/crypto-mount.conf

else

        cecho "  ERROR:  " $cred

        echo "No config file was found (/etc/crypto_mount.conf)"

        exit 10

fi

# Checking if the mapper-device already exists

if [ -b /dev/mapper/${MAPPER_NAME} ]; then

        cecho "  WARNING:  " $cyellow

        echo "Mapper already created, only trying to mount"

        # Checking if already mounted

        MOUNT_TEST=`mount | grep /dev/mapper/${MAPPER_NAME}`

        if [ "$MOUNT_TEST" == "" ]; then

                # Checking mount-options

                if [ "$MOUNT_OPTIONS" != "" ]; then MOUNT_OPTIONS="-o $MOUNT_OPTIONS"; fi

                # Checking if mountpoiunt for the crypto-device exists

                if [ ! -d ${CRYPTO_MOUNT} ]; then

                        if [ -e ${CRYPTO_MOUNT} ]; then

                                cecho "  ERROR:  " $cred

                                echo "There is a file where a directory should be (${CRYPTO_MOUNT})"

                                exit 7

                        else

                                cecho "  WARNING:  " $cyellow

                                echo "The mountpoint does not exist, I will try to create it (${CRYPTO_MOUNT})"

                                if ! mkdir ${CRYPTO_MOUNT}; then

                                        cecho "  ERROR:  " $cred

                                        echo "Creating mountpoint (${CRYPTO_MOUNT})"

                                        exit 9

                                fi

                        fi

                fi

                # fsck

                fsck /dev/mapper/${MAPPER_NAME}

                # Mounting the cryptodevice

                if /bin/mount ${MOUNT_OPTIONS} /dev/mapper/${MAPPER_NAME} ${CRYPTO_MOUNT}; then

                        echo "Crypto-Device mounted succesfully (${CRYPTO_MOUNT})"

                        exit 0

                else

                        cecho "  ERROR:  " $cred

                        echo "Mounting crypto-device"

                        exit 5

                fi

        else

                cecho "  WARNING:  " $cyellow

                echo "Crypto-device already mounted! (${CRYPTO_MOUNT})"

                exit 0

        fi

fi

# Checking if the partition to crypt exists

if [ ! -b "${DEVICE_NAME}" ]; then

        cecho "  ERROR:  " $cred

        echo "Device does not exist (${DEVICE_NAME})"

        exit 6

fi

# Creating the crypto-device

PW_OK="no"

if [ "$PW_TIME_OUT" != "" ]; then

        PW_TIME_OUT="-t $PW_TIME_OUT"

fi

COUNTER=0

while [ "$PW_OK" != "yes" ]; do

        echo "Sorry, the password is wrong!"

        if [ $COUNTER -ge $MAX_PW_TRIES ]; then

                cecho "  ERROR:  " $cred

                echo "Maximum password tries are reached!"

                exit 12

        fi

        echo -n "Please enter passphrase (hit ENTER to exit): "; read -ers $PW_TIME_OUT PASS

        # Check if only ENTER

        if [ "$PASS" == "" ]; then

                echo ""

                exit 13

        fi

        # Check if passwort is right

        if [ "`echo $PASS | md5sum | cut -d ' ' -f 1 | md5sum | cut -d ' ' -f 1 | md5sum | cut -d ' ' -f 1`" == "$PW_TRIPLE_MD5" ] ; then

                PW_OK="yes" ;

        fi

        COUNTER=$[$COUNTER+1]

done

echo "$PASS" | /bin/cryptsetup ${CRYPTSETUP_OPTIONS} -h plain create ${MAPPER_NAME} ${DEVICE_NAME} && CRYPT_SUCC="yes"

unset PASS; echo ""

#echo $RUN_CRYPT; exit 1

if [ "$CRYPT_SUCC" == "yes" ]; then

        # Checking if mountpoiunt for the crypto-device exists

        if [ ! -d ${CRYPTO_MOUNT} ]; then

                if [ -e ${CRYPTO_MOUNT} ]; then

                        cecho "  ERROR:  " $cred

                        echo "There is a file where a directory should be (${CRYPTO_MOUNT})"

                        /bin/cryptsetup remove ${MAPPER_NAME}

                        exit 7

                else

                        cecho "  WARNING:  " $cyellow

                        echo "The mountpoint does not exist, I will try to create it (${CRYPTO_MOUNT})"

                        if ! mkdir ${CRYPTO_MOUNT}; then

                                cecho "  ERROR:  " $cred

                                echo "Creating mountpoint (${CRYPTO_MOUNT})"

                                exit 9

                        fi

                fi

        fi

        # fsck

        fsck /dev/mapper/${MAPPER_NAME} 

        # Mounting the cryptodevice

        if /bin/mount ${MOUNT_OPTIONS} /dev/mapper/${MAPPER_NAME} ${CRYPTO_MOUNT}; then

                cecho "  SUCCESS:  " $cgreen

                echo "Crypto-Device mounted succesfully (${CRYPTO_MOUNT})"

                exit 0

        else

                cecho "  ERROR:  " $cred

                echo "Mounting crypto-device"

                cryptsetup remove ${MAPPER_NAME}

                exit 5

        fi

else

        cecho "  ERROR:  " $cred

        echo "Creating the mapper-device (${MAPPER_NAME})"

        exit 4

fi

exit 0
```

----------

## slick

Habe das gefunden um die Swap ohne Scripte direkt durch die Angabe in der /etc/fstab zu verschlüsseln. Scheint auch zu funktionieren, /dev/loop7 wird dann als Swap eingebunden, allerdings bin ich mir nicht sicher ob die Verschlüsselung auch so funktioniert wie sie soll, da ja Cryptoloop deprecated sein soll. Weiß das jemand genauer? Kann man das testen? Gibt es einen gleichartigen Eintrag für die fstab auch mit dmcrypt?

/etc/fstab

```
/dev/hdax none swap sw,loop=/dev/loop7,encryption=AES128 0 0 
```

----------

## flash49

Sorry slick, wenn ich mal kurz das Thema wechsle, aber ich habe hier noch 2 kleine Tipps:

1)Wenn man mit "gpg -d /system.key.gpg|cryptsetup -h plain create bigspace_crypt /dev/evms/bigspace" das verschlüsselte Filesystem erzeugen will und den falschen key eingibt wird das Mapperdevice trotzdem erzeugt! Das Passwort ist dann leer oder sonst irgendwas.

2)Wenn man den Verschlüsselungskey wechseln will oder muß (z.b. weil man obigen Fehler  gemacht hat   :Embarassed:   ), dann geht das wie folgt: 

```
umount /dev/evms/bigspace

gpg -d /system.key.gpg|cryptsetup -h plain create bigspace_crypt /dev/evms/bigspace

#passwort für alten key eingeben

gpg -d /system-neu.key.gpg|cryptsetup -h plain create bigspace_crypt2 /dev/evms/bigspace

#passwort für neuen key eingeben

dd if=/dev/mapper/bigspace_crypt|buffer -s64k -S10m|dd of=/dev/mapper/bigspace_crypt2
```

Ich habe über einen Tag für 220GB gebraucht (ist aber auch nur ein P3/550 ). Vieleicht bringen auch andere Werte für die Buffergröße etwas.

 :Exclamation:  Achtung der Vorgang darf auf keinen Fall unterbrochen werden, sonst habt ihr ein Filesystem, daß halb mit dem einen und halb mit dem anderen Key verschlüsselt ist  :Exclamation: 

Falls ihr den Vorgang dennnoch unterbrochen habt könnt ihr versuchen mit den "seek" und "skip" Optionen an der Stelle weiterzumachen an der ihr aufgehört habt.

Btw. Wenn ihr vorher ein Backup macht, dann schadet das bestimmt auch nicht!

----------

## misterjack

Dieses Howto entspricht nicht mehr dem Stand der Sicherheitstechnischen Dinge

Eine bessere Alternative ist die zusätzliche Verwendung von LUKS, wie das funktioniert, wird hier beschrieben:

http://de.gentoo-wiki.com/DM-Crypt

----------

## slick

 *misterjack wrote:*   

> Eine bessere Alternative ist die zusätzliche Verwendung von LUKS, wie das funktioniert, ...

 

 *http://de.gentoo-wiki.com/DM-Crypt wrote:*   

> Cryptsetup hat einen Schönheitsfehler, es trennt die Informationen des Keys von den zu verschlüsselten Informationen. Die Cryptsetup Parameter stehen in Skripten oder Dateien und wer diese verliert, erhält keinen Zugriff auf seine Daten. 
> 
> [...]
> 
> LUKS trickst Datenretter aus, indem ein AF-Splitter diese Daten um das Viertausendfache aufbläht. Die aufgeblasene Information ist nicht redudant, es ist immer der komplette Datensatz nötig, um den Master-Key zu bestimmen. Fehlt ein Sektor, ist ein Zugriff unmöglich. 

 

Ich denke hier sollte man genau überlegen was man möchte. Sicher bietet LUKS Vorteile, aber dafür scheint es mir auf den ersten Blick unsicherer in bezug auf Anfälligkeiten der Hardware (defekte Sektoren). Bei normalem Cryptsetup kann ich genannte "Skripte oder Dateien" einfach sichern. Bei LUKS, wenn ich das richtig verstehe, muß ich schon gezielt einzelne Sektoren der Festplatte sichern (sofern überhaupt bekannt welche) um wieder an den Masterkey zu kommen falls auch nur ein Sektor ausfällt.

----------

## misterjack

 *slick wrote:*   

> Die aufgeblasene Information ist nicht redudant, es ist immer der komplette Datensatz nötig, um den Master-Ke aber dafür scheint es mir auf den ersten Blick unsicherer in bezug auf Anfälligkeiten der Hardware (defekte Sektoren)

 

dafür gibts doch das:

Festplatten kennen die Funktion Sector Remapping, eine einfache Technik, die einen schlecht lesbaren Sektor in eine reservierte Festplattenzone kopiert und dann sämtlichen Zugriff umleitet  :Wink:  wenn man auf nummer sicher gehen will, added man seinen key halt bis die acht slots voll sind. würde jeden key mit einer angehängten ziffer unterscheiden

edit: habe grad mal die homepage durchsucht, ob sowas geplant ist:

Q: How can I backup my keys

You can't. Either stuff the key into another key slot, if you are afraid of damaged sectors that might occour in your phdr, and regularly backup your disk. This is not the place to talk about the benifits of backups, but when using cryptography you are in a much harder position to recover stuff in the event of data loss.

----------

## Massimo B.

 *misterjack wrote:*   

> http://de.gentoo-wiki.com/DM-Crypt

 

Ich hab sowohl eine luks-Verschlüsselung, als auch eine herkömmliche  nach Anleitung mit pam_mount (zum automatischen Öffnen und mounten bei Login) erfolgreich erstellt. Leider hab ich die Verbindung, nämlich eine Passwortübergabe mit pam_mount an luks nicht hinbekommen.

Mit gleichem cipher (aes-cbc-essiv:sha256 in meinem Fall, was die 600Mhz-G3 ziemlich streßt) sollte luks doch die gleiche Sicherheit bieten, wie herkömmliches cryptsetup, nur weniger komfortabel was fallback-Passwort und Passwortänderung betrifft.

 *http://de.gentoo-wiki.com/Diskussion:DM-Crypt wrote:*   

> 

 Fragen zur Howto: Ist die erste Formatierung vor luksFormat nicht unnötig? Besser wäre eine urandom Überschreibung (wie oft erwähnt, ohne auf Sicherheit von (u)random einzugehen). Warum /dev/hda1 und nicht direkt /dev/hda? Ist es möglich ein /dev/mapper/_dev_hda erneut zu partitionieren, d.h. ein großes mapper-device auf /dev/hda erstellen, und darauf dann /dev/mapper/_dev_hda1,2,3?

Kurze Frage zur Performance:aes-cbc-essiv:sha256 mit 256 bit key bringt auf meinem Laptop gerade mal noch 1MB/s Performance, bei maximaler CPU-Last von kjournald, der eigentlich ja nicht für die Verschlüsselung zuständig ist. Ist ext3 auf einer Crypt-Partition nicht zu emfehlen? Von journaled-Dateisystemen wurde stellenweise abgeraten. Gibts einen leichteren cipher ohne mit der Sicherheit und Schlüsselgröße runterzugehen? aes soll doch weniger lastig als blowfish sein?

----------

## misterjack

 *paoleela wrote:*   

> 
> 
> Ich hab sowohl eine luks-Verschlüsselung, als auch eine herkömmliche  nach Anleitung mit pam_mount (zum automatischen Öffnen und mounten bei Login) erfolgreich erstellt. Leider hab ich die Verbindung, nämlich eine Passwortübergabe mit pam_mount an luks nicht hinbekommen.

 

sorry, kann ich nix dazu sagen

 *paoleela wrote:*   

> 
> 
> Mit gleichem cipher (aes-cbc-essiv:sha256 in meinem Fall, was die 600Mhz-G3 ziemlich streßt) sollte luks doch die gleiche Sicherheit bieten, wie herkömmliches cryptsetup, nur weniger komfortabel was fallback-Passwort und Passwortänderung betrifft.

 

Dein Masterkey ist noch lange nicht so gut gesichert wie bei LUKS  :Wink: 

 *http://de.gentoo-wiki.com/Diskussion:DM-Crypt wrote:*   

> 

 

habe ich übersehen  :Wink: 

 *paoleela wrote:*   

> 
> 
> Ist die erste Formatierung vor luksFormat nicht unnötig? Besser wäre eine urandom Überschreibung (wie oft erwähnt, ohne auf Sicherheit von (u)random einzugehen).

 

Ja stimmt eigentlich, werde es gleich ändern. urandom ist auch nur nötig, wenn man vorhandene daten löschen will. das macht aber shred schon ziemlich gut  :Wink:  (25fache Überschreibung)

 *paoleela wrote:*   

> Warum /dev/hda1 und nicht direkt /dev/hda? 

 

Teste es doch einfach mal  :Wink:  In dem Anwendungsbeispiel geht es ja darum eine Partition zu verschlüsseln  :Wink:  Ich mache grad einen Test mit meinen USB-Stick (lahmende USB 1.1 Version) und sieht erfolgversprechend aus. werde demnächst mal ne 3 GB hdd zum testen reinhauen, meine S-ATA ist schon zur Hälfte voll  :Wink: 

 *paoleela wrote:*   

> 
> 
> Ist es möglich ein /dev/mapper/_dev_hda erneut zu partitionieren, d.h. ein großes mapper-device auf /dev/hda erstellen, und darauf dann /dev/mapper/_dev_hda1,2,3?

 

gerade mal ausprobiert mit usbstick:

```
Platte /dev/mapper/usbstick: 65 MByte, 65531904 Byte

255 Köpfe, 63 Sektoren/Spuren, 7 Zylinder

Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

               Gerät  boot.     Anfang        Ende     Blöcke   Id  System

/dev/mapper/usbstick1               1           7       56196   83  Linux

misterjack ~ # ls /dev/mapper/

control   media     usbstick
```

scheint nicht möglich zu sein

 *paoleela wrote:*   

> 
> 
> aes-cbc-essiv:sha256 mit 256 bit key bringt auf meinem Laptop gerade mal noch 1MB/s Performance, bei maximaler CPU-Last von kjournald, der eigentlich ja nicht für die Verschlüsselung zuständig ist. Ist ext3 auf einer Crypt-Partition nicht zu emfehlen? Von journaled-Dateisystemen wurde stellenweise abgeraten. Gibts einen leichteren cipher ohne mit der Sicherheit und Schlüsselgröße runterzugehen? aes soll doch weniger lastig als blowfish sein?

 

ich habe mit blowfish-cbc-essiv:sha256 und 256 bit key ca 19 MiB/s (auf 1.6 GHZ war mein Athlon XP-M während des Transfer-Tests getaktet). mit ext3 formatiert  :Wink: 

----------

## Evildad

Erstmal Danke für das Howto.

Ich habe aber noch eine Frage. Und zwar habe ich jetzt noch vor mehrere Partitionen zu verschlüsseln.

Crypto-mount kann aber leider ja bisher und so wie es aussieht auch noch für lange Zeit nur 1 Partition verwalten. 

Gibt es also irgendeine simple Alternative für mehrere Crypto-Partitionen ?

Grüsse

----------

## ScytheMan

Ich habe das ganze mit cryptsetup verschlüsselt, gibt es die Möglichkeit das ganze auf cryptsetup-luks zu migrieren ohne die Daten irgendwo unverschlüsselt abspeichern zu müssen?

gruß ScytheMan

----------

## flash49

Falls du damit einen Wechsel des Crypto-Setupprogramms meinst, dann ist das kein Problem, cryptsetup-luks kann auch mit dm-crypt Partitionen arbeiten. Falls du einen Wechsel der verschlüsselten Partition von dm-crypt nach Luks meinst, dann weiß ich das auch nicht. Ich hab auch schon danach gesucht, aber nichts gefunden. Allerdings ist meine Vermutung, das es nicht geht, da luks ja noch einen Header benötigt und für den dürfte bei einer dmcrypt Partition kein Platz mehr sein.  :Sad: 

----------

## ScytheMan

das cryptsetup-luks da abwärtskompatibel zu sein scheint, weiß ich..

es wäre also theoretisch möglich HDA (cryptsetup) zu mounten mit cryptsetup-luks und dann auf HDB mit cryptsetup-luks eine Verschlüsselte Partition (cryptsetup-luks) zu erstellen und das ganze dann rüberzukopieren?

gibt es für cryptsetup-luks auch sowas wie ein crypto-mount script?

----------

## manuels

 *misterjack wrote:*   

> Dieses Howto entspricht nicht mehr dem Stand der Sicherheitstechnischen Dinge
> 
> Eine bessere Alternative ist die zusätzliche Verwendung von LUKS, wie das funktioniert, wird hier beschrieben:
> 
> http://de.gentoo-wiki.com/DM-Crypt

 

Hi, 

vielleicht solltest du das ganze auf der 1. Seite nochmal schreiben.

auf Seite 10 sieht man es nicht direkt.

Tschö mit ö

Manuel

----------

## lorschy

Auch wensn nimmer dem ssicherheitstechnischen stand entspricht, ich nutzt es immer noch bzw. ich versuche es.,

Habe das ganze vor ner weile auf meiner einen partition erstellt und konnte es auch nutzen.

Nun ist einiges an zeit vergangen und ich wollt mal wieder auf die daten zugreiffen.

nun wollte ich das mapper device ersetllen und es passsiert folgendes:

```
gpg --quiet -d movies.key.gpg | cryptsetup -h plain create dump /dev/sda1

[b]Command failed: Block device required[/b]

gpg: DBG: connection to agent established

gpg: WARNING: message was not integrity protected
```

```
fdisk /dev/sda

Disk /dev/sda: 250.0 GB, 250059350016 bytes

255 heads, 63 sectors/track, 30401 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): q

```

Nun weiss ich nimmer ob das ganze ueber fdisk zu sehen war, aber ich kann mir die Fehlermeldung "Block device required" nicht anders erklaeren als das irgendwie die partition nimmer da ist.

Auf sda war nur eine partition (sda1) und das ganze teil war als ext3 formatiert - und wie gesagt es ging die ganze zeit.

----------

## Mgiese

hi, leider ist der 1. post ja schon 3 jahre alt, kann den nicht mal jemand das howto aktuallisieren ? mich interessiert das thema erst seit kurzem und wenn ich dem howto des allerersten posts folge, komme ich schon hier nicht weiter :

```
# head -c 1000 < /dev/urandom | uuencode -m - | grep -v begin | head -c 32 >TEST.key

bash: uuencode: command not found

```

als ich cryptsetup installieren wollte bekam ich ausserdem folgende probleme :

```
# emerge sys-fs/cryptsetup --pretend

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  N    ] sys-fs/cryptsetup-1.0.5-r1  USE="nls -build -dynamic (-selinux)"

[blocks B     ] sys-fs/cryptsetup-luks (is blocking sys-fs/cryptsetup-1.0.5-r1)

[blocks B     ] sys-fs/cryptsetup (is blocking sys-fs/cryptsetup-luks-1.0.4-r3)

localhost usixq # emerge -C cryptsetup-luks && emerge sys-fs/cryptsetup

```

nun weiss ich nicht ob ich cryptsetup-luks evl doch benoetige, oder was der unterschied zwischen den 2 programmen ist.

spielt es eine rolle ob ich eine reiserfs oder ext3 partition nehme ?

mfg

EDIT : mein post hat sich erledigt, ich werde morgen mal diesem howto folgen : http://de.gentoo-wiki.com/DM-Crypt

----------

## ezfox

habe seit heute selbiges problem:

emerge -uDvp world

[ebuild  N    ] sys-fs/cryptsetup-1.0.5-r1  USE="nls -build -dynamic (-selinux)" 315 kB 

[blocks B     ] sys-fs/cryptsetup-luks (is blocking sys-fs/cryptsetup-1.0.5-r1)

[blocks B     ] sys-fs/cryptsetup (is blocking sys-fs/cryptsetup-luks-1.0.4-r3)

Total: 1 package (1 new, 2 blocks), Size of downloads: 315 kB

was brauch ich denn nun ?   :Confused: 

----------

## mastacloak

 *Mgiese wrote:*   

> EDIT : mein post hat sich erledigt, ich werde morgen mal diesem howto folgen : http://de.gentoo-wiki.com/DM-Crypt

 

Genau dort steht:

 *http://de.gentoo-wiki.com/DM-Crypt wrote:*   

> cryptsetup-luks ist deprecated und durch cryptsetup abgelöst, welches LUKS mittlerweile enthält.

 

----------

## frostschutz

Falls es jemanden interessiert, ich habe mal mein eigenes Setup als Anwendungsbeispiel ins deutsche Wiki dazugestellt.

Die Festplatte ist komplett mit LUKS verschlüsselt, Partitionen darauf mit LVM angelegt. Gebootet wird mit Kernel+initramfs von einem USB-Stick.

Die Seite ist hier zu finden:

http://de.gentoo-wiki.com/DM-Crypt/Verschl%FCsseltes_System_mit_USB-Stick_booten

Der Originalartikel von mir ist auf Englisch:

http://www.gentoo-wiki.com/Booting_encrypted_system_from_USB_stick

----------

