• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]benötige Hilfe zu dm-crypt (suse 10.2)

Linuxler

Member
hallo,

meine Ziel: vorerst eine leere Partition unter suse 10.2 probeweise mit dm-crypt zu verschlüsseln.

gemacht hab ich bis jetzt folgendes:
MODULES_LOADED_ON_BOOT="dm-crypt aes-i586" eingetragen
cryptsetup -c aes-cbc-essiv:sha256 -s 256 -y luksFormat /dev/hda4
passwort vergeben
luksOpen durchgeführt
mit ext3 formatiert
usw.....(funktioniert alles gemäß WIKI)


Problem: wenn ich den Rechner neustarte, bleibt er hängen bei irgendwas mit "mkfs" und "failed". Zudem soll ich zu diesem Zeitpunkt das Passwort für root eingeben, um das Problem mit hda4 manuell zu beheben.

dasselbe Problem hab ich übrigens auch mit Truecrypt. Bis jetzt hab ich dann halt immer die hda4 neu partitioniert damit der rechner wieder durchstartet.


(Fernziel wäre übrigens, die Verschlüsselung der meisten Daten und einer Passwortabfrage beim Booten (voraussichtlich wohl mittels pam-mount, aber ohne USB -Stick)

danke für die Hilfe
Linuxler
 
A

Anonymous

Gast
Linuxler schrieb:
Problem: wenn ich den Rechner neustarte, bleibt er hängen bei irgendwas mit "mkfs" und "failed". Zudem soll ich zu diesem Zeitpunkt das Passwort für root eingeben, um das Problem mit hda4 manuell zu beheben.

(Fernziel wäre übrigens, die Verschlüsselung der meisten Daten und einer Passwortabfrage beim Booten
Linuxler schrieb:
......
usw.....(funktioniert alles gemäß WIKI)
......
ist sehr hilfreich, da jeder genau sehen kann welche Anweisung du nun genau befolgt hast. :evil:

scheinbar ist die Partition in /etc/fstab eingetragen und dort mit Option auto oder default und einem Wert ungleich 0 im sechsten Feld , das heißt es soll ein fsck gemacht werden, der natürlich an dieser Stelle nicht funktionieren kann.

Such mal nach crypttab zum Beispiel hier http://www.linux-club.de/faq/Spezial:Search?search=crypttab&go=Artikel

robi
 
Muss das nicht cryptotab heißen? Ich mag mich erinnern, dass yast die Datei so benennt (also mit einem "o").
 
A

Anonymous

Gast
jengelh schrieb:
Muss das nicht cryptotab heißen? Ich mag mich erinnern, dass yast die Datei so benennt (also mit einem "o").

Jetzt hast du mich fast auf dem falschem Fuß erwischt, musste selbst noch mal googeln :wink:
Es gibt wirklich beide Dateien, gehören aber zu unterschiedlichen Konzepten.
Wenn ich das auf die Schnelle richtig gesehen habe ist es mit "o" loopbasierend und ohne "o" über den Device-Mapper.

robi
 
Die /etc/crypttab wird von Distributionen wie z.B. Debian, Arch, etc. verwendet, die cryptsetup (inkl. luks) standardmäßig verwenden.

Die /etc/cryptotab wird von SUSE für die Verschlüsselung via cryptoloop verwendet.

Wenn du mit "laut WIKI" diesen Artikel (Verschlüsselung: dm-crypt/luks unter openSUSE) meinst, poste bitte
Code:
cat /etc/crypttab
cat /etc/fstab
sowie
Code:
ls -las /etc/init.d/boot.cryptdisks
 
OP
L

Linuxler

Member
sorry für meine mangelnde Angaben, hier mein genaues Vorgehen (laut dieser Anleitung:http://www.linux-club.de/faq/Mit_dm-crypt/luks_verschlüsselte_Home-Partition_beim_Login_einbinden):

zur Verfügung steht mir eine leere Partition hda4
MODULES_LOADED_ON_BOOT="dm-crypt aes-i586" eingetragen
cryptsetup -c aes-cbc-essiv:sha256 -s 256 -y luksFormat /dev/hda4
Passwort gesetzt
cryptsetup luksOpen /dev/hda4 safe
mit Ext3 formatiert (mkfs.ext3 anstelle von mkfs.xfs, ev. hier der Fehler?)
mounten geht
umounten auch
cryptsetup luksClose safe

# /sbin/mount.crypt....
# /sbin/umount.crypt....
funktionieren auch

anscheinend gibts Unterschiede in den 2 Anleitungen:
http://www.linux-club.de/faq/Verschlüsselung:_dm-crypt/luks_unter_openSUSE
http://www.linux-club.de/faq/Mit_dm-crypt/luks_verschlüsselte_Home-Partition_beim_Login_einbinden

werd das noch probieren.
crypttab existiert bei mir nicht

Gruss Linuxler
 

joka

Member
Linuxler schrieb:
MODULES_LOADED_ON_BOOT="dm-crypt aes-i586" eingetragen

(Fernziel wäre übrigens, die Verschlüsselung der meisten Daten und einer Passwortabfrage beim Booten (voraussichtlich wohl mittels pam-mount, aber ohne USB -Stick)
Dieser Tip stammt wohl aus meinem Artikel, der sich aber damit beschäftigt, wie eine verschlüselte dm-crypt-Partition beim User-Login (und eben nicht während des Bootens) ohne zweite Passwortabfrage eingebunden werden kann. pam-mount wird auch nur beim Login und Logout aufgerufen.

Das Einbinden von dm-crypt-Partionen während des Bootens wird in b3ll3roph0n's Artikel beschrieben. Sein Bootskript boot.cryptdisks lädt übrigens selbst schon die Kernelmodule aes und dm-crypt und wertet die Datei /etc/crypttab (nicht /etc/cryptotab wie bei Standard-SUSE) aus.

P.S.: Wenn ich das Skript und den Artikel richtig verstanden habe, müsste man damit die swap und /tmp-Partition verschlüsselt mit einem zufällig generierten Key (aus /dev/urandom) und ohne Passwortabfrage beim Booten einbinden können?
 
@Linuxler
Du solltest dich erstmal für eine der beiden Methoden entscheiden!
Wenn du beide Artikel durcheinander verwendest, wird eine Fehlersuche nur schwer möglich sein.


joka schrieb:
Das Einbinden von dm-crypt-Partionen während des Bootens wird in b3ll3roph0n's Artikel beschrieben. Sein Bootskript boot.cryptdisks lädt übrigens selbst schon die Kernelmodule aes und dm-crypt und wertet die Datei /etc/crypttab (nicht /etc/cryptotab wie bei Standard-SUSE) aus.
Vollkommen richtig!
/etc/crypttab als Konfigurationsdatei hab ich gewählt, weil crypttab der Standard bei Distributionen ist die cryptsetup (luks) verwenden.
(Kann eigentlich auch beliebig gewählt werden - dazu muss nur die entsprechende Variable im Bootscript angepasst werden)

joka schrieb:
P.S.: Wenn ich das Skript und den Artikel richtig verstanden habe, müsste man damit die swap und /tmp-Partition verschlüsselt mit einem zufällig generierten Key (aus /dev/urandom) und ohne Passwortabfrage beim Booten einbinden können?
swap: Ja.
/tmp: Nein.
Dafür müsste das Bootscript entsprechend angepasst werden:
- Unterscheidung anhand des Keyfiles (Momentan: Dateisystem swap <> andere).
- Die "neue" Partition entsprechend formatieren (Momentan: nur swap - mkswap, swapon)
 
OP
L

Linuxler

Member
jetzt hatts geklappt, der Rechner startet durch, gemacht habe ich folgendes:
die fstab angepasst (laut http://www.linux-club.de/faq/Verschl%C3%BCsselung:_dm-crypt/luks_unter_openSUSE)

und dies alles ausgeführt
mkfs.ext3................
tune2fs ....................
tune2fs ......................
tune2fs ....................
e2fsck .....................


auf welche Art ich die verschlüsselten Partitionen dann wirklich einbinden werde weiss ich noch nicht, muss erst probieren. Vorerst mach ichs mal manuell


inzwischen mal danke
Gruss Linuxler
 
OP
L

Linuxler

Member
hmm, nachdem ich nun das Einbinden der verschlüsselten Partition mit pam_mount hinbekommen habe, bin ich bei der Frage angelangt:

was muss denn alles verschlüsselt werden? homeverzeichnis ist klar, swap auch, aber wie siehts denn mit LOG-files und anderen ev. auch temporären Files aus? wo sind denn noch Daten unter Linux die auch verschlüsselt sein sollen? Schließlich möchte ich alle Daten verschlüsseln, die irgendwie was über den Benutzer protokolieren und dgl.

davon hängt ja auch ab, welche Methode ich benutzen kann zum Einbinden der verschlüsselten Partitionen...oder vielleicht anders: welche Verzeichnisse verschlüsselt ihr?

vielen Dank
Linuxler
 

joka

Member
Linuxler schrieb:
was muss denn alles verschlüsselt werden? homeverzeichnis ist klar, swap auch, aber wie siehts denn mit LOG-files und anderen ev. auch temporären Files aus? wo sind denn noch Daten unter Linux die auch verschlüsselt sein sollen? Schließlich möchte ich alle Daten verschlüsseln, die irgendwie was über den Benutzer protokolieren und dgl.
In den meisten Artikeln zu diesem Thema, die ich gelesen habe, werden außer der Home-Partition die swap- und /tmp-Partition genannt. Bei Debian und Ubuntu ist es möglich, diese Partitionen mit einem zufällig beim Systemstart automatisch generierten Passwort zu verschlüsseln, bei openSUSE muss man wohl noch etwas basteln (siehe Posting von b3ll3roph0n). Dann fiele mir noch das Verzeichnis /var/spool/cups ein, dass die Druckaufträge enthält. Alles weitere hängt davon ab, welche Anwendungen installiert sind (Datenbank z.B.) und welche Sicherheitsansprüche man hat. Möchtest Du beispielsweise auch die Information geheim halten, wer sich wann ein- und ausgeloggt hat, dann müsste auch das /var/log-Verzeichnis verschlüsselt werden. Auf der sicheren Seite wäre man nur mit der Verschlüsselung des Root-Dateisystem; ob das bei openSUSE mit vertretbaren Aufwand möglich ist, wage ich zu bezweiflen (dafür wäre Debian, Ubuntu oder Gentoo besser geeignet).

[quote:ddc7835102="ezeichneten Artikels Encrypted Root File System with SUSE HOWTO ist die Verschlüsselung des Root-Filesystems doch für jeden aufmerksamen Leser machbar.

Linuxler schrieb:
davon hängt ja auch ab, welche Methode ich benutzen kann zum Einbinden der verschlüsselten Partitionen...oder vielleicht anders: welche Verzeichnisse verschlüsselt ihr?
Mir persönlich genügt die Verschlüsselung des Homeverzeichnisses, evtl. würde ich noch Swap und /tmp verschlüsseln. Zusätzlich lege ich die Banking-Dateien für GnuCash (inklusive ~/.banking) in einer mit cryptoloop verschlüsselten Containerdatei ab, die bei Bedarf automatisch gemountet und wieder ausgehängt wird. Auch die Backupdateien des Homeverzeichnisses lasse ich mit gpg verschlüsseln.
 
joka schrieb:
... Auf der sicheren Seite wäre man nur mit der Verschlüsselung des Root-Dateisystem; ob das bei openSUSE mit vertretbaren Aufwand möglich ist, wage ich zu bezweiflen ...
Wie das geht steht hier. Im Prinzip machst du eine normale Installation auf eine temporäre Partition, verschlüsselst dann die Partition auf die du eigentlich installieren willst und kopierst deine Installation rüber - /boot muss auf einer eigenen, unverschlüsselten Partition sein. Abschließend lädst du dir das modifizierte mkinitrd Skript runter (gibts auch für 10.2) und lässt dir eine neue initrd generieren, die während des Bootvorgangs nach den Passwörtern für die verschlüsselten Partitionen fragt.

joka schrieb:
... Zusätzlich lege ich die Banking-Dateien für GnuCash (inklusive ~/.banking) in einer mit cryptoloop verschlüsselten Containerdatei ab, die bei Bedarf automatisch gemountet und wieder ausgehängt wird. ...
Kannst du bitte kurz umreißen wie du das mit dem automatisch mounten und aushängen gemacht hast?
 

joka

Member
Blackscreen schrieb:
Kannst du bitte kurz umreißen wie du das mit dem automatisch mounten und aushängen gemacht hast?
Ist vielleicht etwas missverständlich ausgedrückt. Das Prinzip ist aber ganz einfach: für GnuCash habe ich ein Startskript geschrieben, in dem die Cryptocontainerdatei zuerst gemountet wird, dann wird gnucash aufgerufen und nach Beendigung wieder umount aufgerufen:
Code:
#!/bin/bash
umask 077
gmount-crypto $HOME/Safe \
&& gnucash \
|| exit 1
sleep 5
umount $HOME/Safe
Die Containerdatei habe ich mit Yast erzeugt mit den Mount-Optionen user und noauto, um das Mounten und damit Passwordabfrage beim Booten zu vermeiden.* Der entsprechende Eintrag in /etc/fstab sieht so aus:
Code:
/home/joka/.safe /home/joka/Safe  ext3 loop=/dev/loop0,encryption=twofish256,user,noauto,acl,user_xattr 0 0
Voraussetzung ist natürlich, dass alle Daten im ~/Safe liegen. Ggf. müssen Verzeichnisse verlinkt werden, bei GnuCash (und anderen Tools, die AqBanking nutzen) also "~/.banking -> Safe/.banking"
gmount-crypto ist ein selbst geschriebenes Tcl-Skript, um in einem Dialog das Password abzufragen und per mount -p0 weiterzureichen. Ein einfacher "mount $HOME/Safe" Befehl tut's natürlich auch, dann müsste das Password aber in einem Terminalfenster eingegeben werden. Mit GNOME habe ich dann noch einen Starter angelegt, um GnuCash per Doppelklick auf ein Icon starten zu können.

*Achtung: man muss selber das Kernelmodul cryptoloop in MODULES_LOADED_ON_BOOT der Datei /etc/sysconfig/kernel eintragen. Das mach Yast nicht automatisch!
 
OP
L

Linuxler

Member
encryptet root file system klingt interessant, das werd ich mal ausprobieren, mal schaun obs klappt. Apropo, was passiert denn mit einem verschlüsselten filesystem, wenn der Strom ausfällt?

Linuxler
 
Generell das gleiche als wenn es nicht gecryptet wäre, da es keine Metadaten im Cryptolayer gibt, die zurückgeschrieben werden müssten.
 
OP
L

Linuxler

Member
so, Erfolgsmeldung:

hab es hinbekommen, Linux (ausgenommen Bootpartition) mittels dieses Tutorials:
http://en.opensuse.org/Encrypted_Root_File_System_with_SUSE_HOWTO
vollständig zu verschlüsseln.
neben einigen Anfängerfehlern was ich gemacht habe, scheints auch nicht so schwierig zu sein.

folgende Schritte hab ich umändern müssen, damit ichs hinbekommen habe:

-------------------
/sbin/mkfs.reiserfs -j /dev/mapper/root /dev/mapper/root
in
/sbin/mkfs.ext3 -j /dev/mapper/root
(entsprechend auch die Formatierung von /home)
-------------------

anstelle von
mkinitrd
muss immer
mkinitrd-1.2-149-lerfs
verwendet werden (diesen Teil runterladen und dieses shell für suse 10.2 verwenden)
-------------------

beim umkopieren des root-Verezeichnisses, nicht vergessen das CD bzw. DVD Laufwerk auszuräumen, sonst kopierts das alles mit und es dauert ewig (mir passiert, bin erst nachher drauf gekommen, weil auf der Rootpartition so wenig Platz war)
-------------------

original laut tutorial:
###The encrypted root partition
root (hd0,0)
kernel /vmlinuz root=/dev/hda3 vga=0x314 splash=silent showopts
initrd /initrd

für mich angepasst, je nach kernel was man hat:
###The encrypted root partition
title openSuse encrypted
root (hd0,0)
kernel /vmlinuz-2.6-18.2-34-default root=/dev/hda3 vga=0x314 splash=silent showopts
initrd /initrd-2.6-18.2.34-default
-------------------

damit mkinitrd-1.2-149-lerfs funktioniert muss die entsprechende Partition unbedingt schon gemappt worden sein, sonst bindet das Skript diese Partition nicht im Bootprozess ein (mich hatts bei der Swap erwischt)

-------------------

die guten von euch hätten diese Fehler sicher nicht gemacht ;) aber für mich war vieles nicht ganz logisch.
Interessant im Tutorial fand ich auch den Hinweis auf die mögliche Installation eines Trojaners in die Bootpartition, der die Passwörter auslesen könnte; überleg mir inzwischen, ob ich nicht auch noch den USB - Stick ausprobieren sollte.

Gruss Linuxler
 

Dolphon

Member
Bevor ich jetzt einen neuen Thread eröffne hier meine Frage.

Ich wollte nach der Anleitung "dm-crypt/liks unter opensuse" meine Home und Swap Partion verschlüsseln.
Kann ich alles ohne Keyfile machen(entsprechende Stellen einfach weglassen?
Allso das beim booten ein Passwort eingegeben werden muss.
 
Oben