1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. In diesem Bereich findet ihr Tutorials und Reviews. Die Forenrechte zur Erstellung neuer Themen sind hier eingeschränkt, da Problemdiskussionen bitte in den übrigen Forenbereichen auf Apfeltalk zu führen sind. Wer ein Tutorial oder Review einstellen möchte, kann im Unterforum "Einreichung neuer Tutorials" ein neues Thema erstellen. Die Moderatoren verschieben den Beitrag dann in den passenden Bereich.
    Information ausblenden
  3. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Anleitung: Benutzerverzeichnis mit TrueCrypt verschlüsseln

Dieses Thema im Forum "Software-Tutorials" wurde erstellt von Der_Apfel, 22.12.08.

  1. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Hallo,

    ich habe mit ein bisschen probieren festgestellt, dass es möglich ist, mit TrueCrypt sich eine Alternative zu FileVault zu basteln.

    Wichtig: Wenn man sich daran wagt, sollte man wissen, was man tut. Es ist höchstwahrscheinlich nicht möglich, der Anleitung zu folgen ohne selbst zu wissen, was man macht und gegebenenfalls einen Befehl etwas anzupassen beziehungsweise zu korrigieren.

    Meine Ziele waren:

    • Verschlüsselung mit TrueCrypt statt mit proprietärem FileVault. So weiß ich, wie verschlüsselt wird und dass nicht noch ein Zweitkey existiert.
    • Verschlüsselung mit einem Keyfile, welches auf einem USB-Stick gespeichert sein kann. Ich finde es komfortabler, außerdem kann dann das Nutzerpasswort recht kurz gehalten sein. So ein Keyfile bietet natürlich auch weniger Angriffsfläche für einen Bruteforce-Angriff als ein Passwort (und sich ein vernünftiges Passwort zu merken ist doch nicht sooo leicht).

    Diese Ziele konnten erfüllt werden. ;)


    Anleitung:

    Zuerst habe ich mich mit einem Administratoraccount angemeldet.

    Ich gehe davon aus, dass TrueCrypt in /Applications installiert wurde. Dann legen wir erstmal einen Symlink an, damit man immer nur tc eintippen muss, um TrueCrypt über die Konsole aufzurufen.

    Code:
    ln -s /Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt /usr/local/bin/tc
    Nun muss ein Keyfile erstellt werden. 4kB = 4096 Byte = 32768 Bit sollten genügen, da die Verschlüsselung ja "nur" 256 Bit stark ist. Zum Erstellen öffnet man ein Terminal, wechselt zu dem Verzeichnis auf seinem USB-Stick, auf dem man den Key speichern möchte mit
    Code:
    cd /Volumes/STICK-1GB/.tc
    (diese Bezeichnungen sind die, die ich gewählt habe, sie stimmen auch mit denen im Script überein), und erstellt schließlich die Datei mit
    Code:
    dd if=/dev/random of=./keyForHome.img count=1 bs=4096
    Jetzt kann man das TrueCrypt Volume anlegen. Mit TrueCrypt wird über die grafische Oberfläche (mir erscheinen die Mausbewegungen zufälliger als 320 Zeichen) ein Volume Filesystem erzeugt, als Keyfile wird natürlich das eben erzeugte angegeben, und nach /Users verschoben. Hierbei muss man sich wieder authentifizieren, da nur root das tun kann. Nun wird wieder ein Terminal geöffnet, ein
    Code:
    sudo su
    ausgeführt und das Volume wie folgt gemountet.

    Code:
    tc -t --filesystem=none /Users/home.meinbenutzername.tc.img
    
    Nun wählt man mit dem Festplattendienstprogramm (unter Dienstprogramme) /tmp/.truecrypt_aux_mnt1/volume.dmg aus und formatiert es mit HFS+, falls es danach automatisch gemountet wird, wirft man es über das Festplattendienstprogramm wieder aus. Jetzt muss es auch noch von TrueCrypt ausgeworfen werden:
    Code:
    tc -t -d /tmp/.truecrypt_aux_mnt1/volume.dmg
    Natürlich möchte man seine Daten vom Home-Verzeichnis in das neue TrueCrypt-Volume kopieren. Falls dadurch der Speicherplatz knapp wird, sollte man als Zwischenstation eine externe Festplatte nehmen (die sparseimage-Datei also auf eine externe Platte verschieben). Damit das Kopieren klappt, ist es sicherer, den User, der FileVault benutzt, abzumelden, falls das nicht schon geschehen ist. Nun mountet man über das Terminal, immer noch als root (also
    Code:
    sudo su
    nicht vergessen), den FileVault-Ordner in einen temporären Ordner in /tmp. Das geschieht mit
    Code:
    cd /tmp; mkdir ./home; hdiutil attach /Users/meinbenutzername/sparseimage* -readonly -owners on -mountpoint /tmp/home
    Da steht sparseimage*, weil ich mir gerade nicht ganz sicher bin, wie das heißt... Ihr findet das schon, müsst ihr aber gar nicht, weil man * natürlich auch in der Konsole eintippen kann. Nun muss mit TrueCrypt das TrueCrypt-Volume mounten. Das geschieht mit
    Code:
    mkdir /tmp/tcmeinbenutzername; tc -t --filesystem=none --non-interactive -v -k /Volumes/STICK-1GB/.tc/keyForHome.img /Users/home.meinbenutzername.tc.img; /usr/bin/hdiutil attach /tmp/.truecrypt_aux_mnt1/volume.dmg -readwrite -owners on -mountpoint /tmp/tcmeinbenutzername
    Jetzt müssen die Daten kopiert werden:
    Code:
    cp -Rp /tmp/home/* /tmp/tcmeinbenutzername/
    Nun ist man fertig. Wenn alles klappt, sollte man natürlich (wenn man sich mehrmals vergewissert hat dass es funktioniert!) /Users/meinbenutzername/sparseimage* löschen (oder am besten erstmal auf eine externe Platte verschieben)...
    Schnell noch alles unmounten:

    Code:
    hdiutil detach /tmp/tcmeinbenutzername;
    hdiutil detach /tmp/home;
    tc -t -d /tmp/.truecrypt_aux_mnt1/volume.dmg;
    
    Die Dateien loginhook, logouthook und mounttconstartup.sh müssen nach /Library/Management kopiert werden. In mounttconstartup.sh müssen KEYFILEPATH angepasst werden (relativ zum KEYFILEMOUNTDIR), TCIMAGEPATH, TCIMAGEMOUNTPATH, KEYFILEDEVICEFS, MOUNTCHOWN, STANDARDUSBSTICKMOUNTPOINT, USERNAME auch. Die Dateien sind in der ZIP-Datei, die angehängt ist, enthalten.

    Damit alles automatisiert beim nächsten Start funktioniert, ist noch folgendes nötig (wieder durch Adminaccount:

    Code:
    sudo su;
    defaults write com.apple.loginwindow LoginHook /Library/Management/loginhook;
    defaults write com.apple.loginwindow LogoutHook /Library/Management/logouthook;
    

    Bei Fragen könnt ihr euch gerne an mich über diesen Thread wenden. Garantie übernehme ich natürlich keine. ;) Für eine Sicherung eures Homeverzeichnisses seid ihr selber verantwortlich. :p
    Es ist durchaus möglich, dass ich hier jetzt etwas vergessen habe, das ist mehr oder weniger alles aus dem Gedächtnis herausgekramt.

    Viel Spaß!
    Der_Apfel
     

    Anhänge:

  2. bobandrews

    bobandrews Baldwins roter Pepping

    Dabei seit:
    21.10.07
    Beiträge:
    3.225
    Das gibt gutes Karma, mein Freund!
     
  3. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
  4. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Es existiert auch eine ToDo-Liste. ;)

    • Manuelle Passworteingabe

    Das Problem dabei ist, dass ich nicht weiß, wie man im LoginHook Benutzereingaben abfragen kann, vielleicht gar nicht. Ich habe mit Google folgende, meiner Meinung nach unelegante Lösung gefunden:

    1. Benutzer meldet sich an
    2. Passwort für TC-Volume wird abgefragt
    3. TC-Volume wird in Benutzerordner gemounted
    4. Benutzer wird ausgeloggt
    5. Benutzer meldet sich zum zweiten Mal an und landet nun im TC-Volume

    Fällt jemandem vielleicht eine bessere Lösung ein?

    Frohe Weihnachten!
    Der_Apfel
     
  5. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Mir ist gerade aufgefallen, dass es ein Board Tutorials Software gibt. Kann dieses Thema vielleicht jemand dahin verschieben?

    Danke!
     
  6. bobandrews

    bobandrews Baldwins roter Pepping

    Dabei seit:
    21.10.07
    Beiträge:
    3.225
    Ich melde das mal! AG
     
  7. stonie10

    stonie10 Welscher Taubenapfel

    Dabei seit:
    31.10.05
    Beiträge:
    760
    Wow, super Tutorial! :)
    Eigentlich wollte ich, seitdem ich mein MBP habe, auch FileVault benutzen, allerdings haben mich o.g. Gründe bisher davon abgehalten. Da kommt das Tutorial eigentlich ganz recht ;)

    Ich habe allerdings noch einige Fragen:


    • Was passiert, wenn ich den USB-Stick beim Booten vergesse einzustecken?
    • Funktioniert das Ganze auch in Zusammenhang mit Standby/Bildschirmschoner?
    • Wird ein unmount ausgeführt, wenn man den USB-Stick während dem Betrieb rauszieht?

    Vielen Dank schonmal für deine Mühe :)

    Grüße,
    stonie10
     
  8. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Hi,

    Danke!

    Dann wird das Homeverzeichnis geladen, was sich ohne das Mounten des TrueCrypt-Containers in /Users/Benutzername befindet, wenn es leer ist, wird ein neues angelegt. Man erkennt dann schnell, dass der USB-Stick gefehlt hat, kann sich abmelden, den Stick reinstecken und erneut anmelden.


    Ja, Suspend2Ram funktioniert, Bildschirmschoner natürlich auch. Mac OS macht meines Wissens normalerweise wenn es in den Standby-Modus geht zusätzlich ein Image des Rams auf die Festplatte um bei leerem Akku den Zustand fortsetzen zu können (Suspend2Disk), das braucht immer einige Zeit beim Schließen des Deckels und ich habe es deshalb deaktiviert. Es ist natürlich auch eine Sicherheitslücke, wenn der TrueCrypt-Schlüssel (der ja im Ram liegt) auf die Festplatte geschrieben wird.

    Ein Unmount des TrueCrypt-Containers meinst du? Nein, der USB-Stick wird sowieso nachdem er benutzt wurde, geunmounted (und dann in aller Regel von Mac OS wieder gemounted). Er muss aber nicht während des Betriebes eingesteckt sein, der Schlüssel wird im Ram gecached.



    Grüße,
    Der_Apfel
     
    stonie10 gefällt das.
  9. stonie10

    stonie10 Welscher Taubenapfel

    Dabei seit:
    31.10.05
    Beiträge:
    760
    Danke für die ausführliche Erklärung! :) Das klingt ja alles schon fast zu schön um wahr zu sein :-D
    Ich werde mich die Tage dann mal daran begeben - ist mir nämlich schon wichtig, dass meine Daten im Falle eines Verlustes des Laptops sicher bleiben, und das ist mit dieser Methode meiner Meinung nach sehr gut umgesetzt :)

    *karmageb*

    Grüße,
    stonie10
     
  10. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Juchu, danke. :)
     
  11. Kel

    Kel Erdapfel

    Dabei seit:
    08.01.09
    Beiträge:
    1
    So etwas hab ich gesucht
    Klingt aber recht kompliziert da mir allgemein Terminalarbeiten nicht gefallen ;). Windows scheint da doch noch ne ganze Ecke unkomplizierter zu sein (genau wie Linux in der Hinsicht).
    Liegen den alle privaten Daten von Programmen auch im Homeordner? Wegen möglichem Laptopverlust mal so gefragt.
    Und wie gehe ich vor wenn ich nur das Homeverzeichnis mittels TC schützen will ohne USB-Stick? Passwort ist bei mir schon sicher genug nur Filevault traue ich mal gar nicht über den Weg.
     
  12. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Da hast du leider Recht...

    Solange du ein Programm nicht mit Admin-Rechten starten musst, schreibt es auch nur in deinen Homeordner. :) Die Userspezifischen Einstellungen werden ja in ~/Library gespeichert.

    Das ist bisher noch ein ungelöstes Problem. :-D Mit zweimaligem Anmelden (habe ich auf der ersten Seite irgendwo erklärt) würde es funktionieren, das finde ich aber nicht schön.
     
  13. testing

    testing Erdapfel

    Dabei seit:
    26.02.09
    Beiträge:
    3
    Hallo zusammen,

    ich habe eine Frage zu Truecrypt und Linux. Truecrypt ist auf Suse11.1 installiert. Zudem habe ich eine Partition einer externen Festplatte verschlüßelt, mit Keyfile und Passwortabfrage. Das Keyfile ist auf einem USB-Stick gespeichert. Seither wurde die verschlüßelte Partition von einer Windowskiste mit Putty gemountet und zwar mit dem Befehl: truecrypt -t --protect-hidden=no --keyfiles=/media/SONST/key/ /dev/sdd5 /home/true. Das klappt alles wunderbar. Da der Server mit Suse11.1 wieder in den Keller soll, habe ich mir überlegt, den USB-Stick in die Windowskiste einzustecken. Nur weiß ich dann leider nicht, wie ich den Konsolenbefehl ( Putty ) ändern muß, damit er das Keyfile auch findet. Wißt ihr mir vielleicht einen Rat ??????
     
  14. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Hi,

    mit Putty steuerst du ja eigentlich nur den anderen Rechner fern. Wenn der Stick in dem anderen Rechner steckt, hat der Linux-Server keinen direkten Zugriff darauf.

    Ganz spontan würde ich sagen, die einzige Möglichkeit ist, den Stick unter Windows freizugeben, dann den Stick über Putty mounten (mount -t smbfs -o username=benutzer,password=Passwort //Windowsrechner/pfad /mnt), deine Partition mit Truecrypt mounten (... keyfiles=/mnt/keyfile ...), und am Ende die Freigabe wieder zu unmounten (unmount /mnt).
     
  15. testing

    testing Erdapfel

    Dabei seit:
    26.02.09
    Beiträge:
    3
    Danke für die Antwort. Nun versuche ich gerade alles über die Konsole zu machen. Partition erstellen usw. Klappt alles auch wunderbar. Nur bis zu dem Punkt, wo man den Pfad zu den Keyfiles eintragen soll, das scheint er irgendwie nicht zu verstehen. Bei "Enter keyfile path [finish] kapiert er nicht, wenn ich eingebe /media/SONSTIGES/key/usb4, dass es das Keyfile ist. Man gibt ja den Befehl als root ein, also müßte er es unter dem Ordner /media doch auch finden. Übrigens (SONSTIGES) ist mein USB-Stick.
     
  16. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Er „kapiert“ es nicht? Was heißt das? Sagt er, dort befinde sich keine Datei?
     
  17. testing

    testing Erdapfel

    Dabei seit:
    26.02.09
    Beiträge:
    3
    In letzter Zeit kommt bei mir, wenn ich eine Partition einbinden will, immer die Fehlermeldung ERROR: ist ein Verzeichnis. Ich habe aber den Datenträger definitiiv als Partition verschlüßelt.....
    irgendwie klappt es unter Linux garnicht mehr das mounten. Muß man die verschlüßelte Partition nach dem Verschlüßeln nochmal mit z.Bsp. Yast formatieren und neu einbinden ?????
     
  18. TBH

    TBH Alkmene

    Dabei seit:
    28.12.06
    Beiträge:
    31
    Hallo allerseits,
    ersteinmal vielen Dank an Der_Apfel! Super Anleitung!
    Gibt es denn mittlerweile eine (elegante) Lösung mit Passworteingabe? Und spricht etwas dagegen, dass das alles auch auf Snow Leopard funktioniert?
    Viele Grüße,
    TBH
     
  19. Der_Apfel

    Der_Apfel Transparent von Croncels

    Dabei seit:
    03.12.07
    Beiträge:
    305
    Hi,

    danke. :)

    Nein, eine elegante Lösung für Passworteingabe gibt es nicht und ich denke, die wird es auch zukünftig nicht geben, leider. ;) Ich denke nicht, dass MacOS einem die Eingabe des Benutzerpassworts einfach auslesen lässt.

    Bis grade ging ich davon aus, dass es ohne Probleme auf SL laufen wird. Aber auf http://snowleopard.wikidot.com/ steht für TrueCrypt
    Das klingt natürlich gar nicht gut, nach meiner Anleitung würde ja „but retry and it will open“ bedeuten „melde dich an, wieder ab und noch mal an, dann klappt's“ und wäre nicht wirklich schön.
     
    circa und drlecter gefällt das.
  20. TBH

    TBH Alkmene

    Dabei seit:
    28.12.06
    Beiträge:
    31
    Hm ok, schade, das mit der Passworteingabe ist für mich ein wichtiges Kriterium - habe Angst, dass das Keyfile durch irgendeinen blöden Umstand verloren geht oder zerstört wird...
    Löse es jetzt so, dass ich alle relevaten Daten in ein Image lege und mit Symlinks in /User/... arbeite, die auf die verschlüsselten Dateien zeigen.
     

Diese Seite empfehlen