Home Partition entschluesseln via Remote Login

lockdoc

Well-Known Member
Hi,

Ich moechte eine Headless FreeBSD Installation mit Openbox auf Virtualbox (Was auf einen Server laeuft) stellen.
Das FreeBSD soll verschluesselt sein, aber nicht so, dass ich beim Booten ein Passwort eingeben muss, da es ja wie gesagt headless laeuft und ich in der Bootphase keinen Zugriff darauf habe.

Das optimum waere, dass ich mich via RDP oder remote Xorg login verbinde und dann je nachdem welcher User sich remotely verbindet, sein Home Verzeichnis (nur fuer den User) entschluesselt wird.

Ist das irgendwie moeglich?
 
sein Home Verzeichnis (nur fuer den User) entschluesselt wird.

Das geht nicht. Wenn es entschlüsselt gemountet wird, dann ist es entschlüsselt gemountet. Zugriffschutz erreichst du nur über umask. Und vor Root, oder allen Leuten außerhalb der vbox schützt es auch nicht.
 
Das geht nicht. Wenn es entschlüsselt gemountet wird, dann ist es entschlüsselt gemountet. Zugriffschutz erreichst du nur über umask. Und vor Root, oder allen Leuten außerhalb der vbox schützt es auch nicht.

Evtl. haben wir uns da misverstanden: Ich meine beispielsweise, wenn ich mich als user 'lockdoc' remotely einlogge, dann wird /home/lockdoc entschluesselt, meldet sich noch user h2 an, dann wird /home/h2 entschluesselt.

Und vor (...) oder allen Leuten außerhalb der vbox schützt es auch nicht.
Wieso sollte es denn vor Leuten ausserhalb der vbox nicht geschuetzt sein? Das Ziel ist es ja die /home/<user> Partition verschluesselt zu haben, bis sich jemand mit den korrekten Credentials einloggt.
 
Ich kann mich ja täuschen, aber sobald die Daten entschlüsselt sind, sind sie für jeden der Zugang zu dem Verzeichnis hat, lesbar.
 
GELI und PEFS schützen nur cold disks wirklich. Sobald die Provider geöffnet sind müssen die Schlüssel im laufenden System seien ohne ganz eklige Hacks z.B. die Keys in nur im Ring-0 Lesbaren Debugregistern verstecken müssen die Keys dann im RAM liegen. Der Kernel bietet sie dann wie jeder andere Provider an. Sobald ein Dateisystem darauf gemounted ist gelten zumindestens bzgl. Writes weitere Einschränkungen. Sobald das Dateisystem gemounted ist unterliegt dem selben Zugriffsschutz wie unverschlüsselte Dateisysteme. Solltest du also einen anonymen FTP r/w Zugriff auf deine ach so geheimen Dokumente anbieten wollen wird dir GELI nicht im weg stehen.

Bei PEFS sieht es etwas anders aus, weil die Verschlüsselung im VFS und nicht in GEOM implementiert ist. Somit ließe sich vllt. zumindestens in der Theorie der Zugriff enger mit der Crypto koppeln.

PEFS hat den Vorteil schon ein PAM Modul mitzubringen um Verzeichnisse zu entschlüsseln als teil der PAM Session. Bei GELI müsstest du entweder nen eigenes Modul schreiben oder sich mit pam_exec abfinden.
 
Du kannst es mit pefs machen. Nakal hat es mal aufgeschrieben: http://wiki.bsdforen.de/howto:festplattenverschluesselung_mit_pefs
Ach super! Damit kann ich ja schonmal was anfangen.
Die frage bleibt allerdings, ob das genauso auch remotely funktioniert.

Ich kann mich ja täuschen, aber sobald die Daten entschlüsselt sind, sind sie für jeden der Zugang zu dem Verzeichnis hat, lesbar.
Mit der korrekten Einstellung, waere das nur root und der user, dem das Verzeichnis gehoert.


Dann als weitere Frage:
Wie sicher ist die pefs Geschichte, wenn das vbox Image "raubkopiert" wird?
Koennte root die user partitionen ohne Passwort mounte?
 
pefs ist eine Verschlüsselung auf Dateiebene. Die Partition bleibt unverschlüsselt und es werden lediglich die Dateien verschlüsselt. Diese sind jeweils, je nach Einstellung, mit aes verschlüsselt und damit (ausser gegen die NSA) "sicher". Alles hängt dann wieder am Schlüssel.
 
Irgendwie komm ich bei der Sache gerade nicht weiter.
Alles was ich bis jetzt gefunden habe zeigt mir, wie ich beisielsweise via Xorg die Programme remotely mit SSH X-Forward aufrufen kann.

Wie aber, kann ich denn auf die komplette Session zugreifen, so dass ich beispielsweise den Login Screen vom remote Desktop bekomme, mich dann einlogge und dann den kompletten Desktop sehe. Geht das ueberhaupt mit Xorg oder muss ich dann doch eher nen rdp server oder vnc server installieren?

LG
 
Das geht schon. Du musst halt einfach nur den DISPLAY umbiegen und dann dein Desktop starten.
 
Also das soll schon so sein, dass ich ein extra 'Fenster' bekomme (wie bei VNC) und dort dann der Anmeldebildschirm und danach der Desktop vom remote Client in meinem derzeitigem Client (Linux) angezeigt wird. Auch scheint alles was ich dazu gefunden habe nur auf einzelne 'Programme starten' bezogen zu sein.

Hat da Jemand evtl. ein Tip fuer ein Tutorial.
 
Ah... Du willst ein X-Server in einem X-Server eingebettet laufen lassen?! Ich ging von einer Art Terminal-Betrieb aus.
 
Ne, dann haben wir uns missverstanden.
Nochmal ganz klar ausgedrueckt.

Ich benutze einen Linux desktop und moechte dort die moeglichkeit haben, dass ich mir zusaetzlich in einem separatem Fenster (wie bei vnc) verschiedene andere Desktop Systeme 'holen' kann. Beispielsweise greife ich auf ein Windows via RDP zu.
Nun liegt da aber noch ein entfernter FreeBSD Desktop, den ich bis jetzt immer nur via VNC geholt hatte. Ich dachte halt, dass das evtl. eleganter mit Remote Xorg gehen koennte (und da war ja auch gleich der Gedanke von der Ausgangsfrage, dass das system dann erst entschluesselt wird).
Die Entschluessellung ist allerdings erstmal nebensaechlich, bis ich geklaert habe mit welchen Tools ich letztendlich darauf zugreifen kann.

LG
 
Du kannst dir ja mal x2go angucken. Damit kann man auch X11 Programme suspenden und woanders wieder hervor holen. Einen Client gibt es dazu auch unter FreeBSD, den Server habe ich aber noch nicht gesehen, obwohl eigentlich alle Abhaengigkeiten vorhanden sein muessten. Aber wenn ich dich richtig verstanden habe, soll das ja auch auf einem Linux laufen?
 
Wenn ich dich richtig verstehe, müsste das mithilfe von Xephyr/Xnest funktionieren.
Weiß aber nicht, ob das bei FreeBSD von Haus aus mitgeliefert wird.
 
Wenn ich dich richtig verstehe, dann mache ich genau das (ohne Verschlüsselung und nur in meinem eigenen Netz) mit kdm als login-Manager.

Das mag unbefriedigend sein, doch kdm ist seit sehr langer Zeit auf meinem PC mein Login-Manager und was ich da wollte, machte er mit und ich hatte nie lernen müssen, wie es ohne ihn geht.

/usr/local/share/config/kdm/kdmrc
zeigt die Sektion [Xdmcp]
und darin ua:
# Whether KDM should listen to incoming XDMCP requests.
# Default is true
Enable=true
# The UDP port on which KDM should listen for XDMCP requests. Do not change.
# Default is 177
#Port=177
# File with the private keys of X-terminals. Required for XDM authentication.
# Default is ""
#KeyFile=/usr/local/share/config/kdm/kdmkeys
# XDMCP access control file in the usual XDM-Xaccess format.
# Default is "/usr/local/share/config/kdm/Xaccess"
Xaccess=/usr/local/share/config/kdm/Xaccess
# Number of seconds to wait for display to respond after the user has
# selected a host from the chooser.
# Default is 15

Im Detail will ich darauf gar nicht eingehen, ich verstehe meinen Beitrag auch wegen meiner eigenen Unkenntnis als Hilfe zu einer weiteren Suche.

Wie läuft das praktisch?
1) mit KDE3, wo ich das eigentlich nur genutzt hatte
NACH login des users auf seinem lokalen Account, bietet KDE3 eine Option: "User wechseln".
Damit gelangt man zum login-screen des kdm, ohne die jeweilige Sitzung zu beenden. Es kann nun mit einem anderen User eingeloggt und dabei auch ein anderes Desktop-Environment gewählt werden. Es können etwa die User kde3, xfce, fluxbox, lxde gleichzeitig lokal eingelogged sein und dabei jeweils ihr Desktop Environment nutzen. Der Bildschirm kann umgeschaltet werden, indem STRG+ALT+F9...F15 geschaltet wird (natürlich in Abhängigkeit zur Konfiguration in /etc/ttys).
Dabei kann anstatt der lokalen Anmeldung in kdm auch die Anmeldung an einem anderen Rechner gewählt werden. Die Eingabe der IP genügt und über Xdmcp wird der login-screen des fremden Rechners aufgerufen, wo man sich dann Remote einloggen kann, als säße man direkt vor dem PC. Dazu muss der login-Manager Xdmcp entsprechend auch beherrschen und zwischen meinem FreeBSD kdm und meinem Ubuntu gdm funktioniert das in beiden Richtungen, gdm per default, den habe ich (glaube ich) nie konfiguriert.
2.) ohne kde3 geht es ähnlich, wie eben beschrieben, nur dass ich nicht weiß, wie ich die Funktion "Benutzer wechseln" in meinem DE (derzeit OpenBox) realisieren kann.
Deshalb kann ich derzeit nur direkt beim Einloggen am kdm entscheiden, mich auf einem Remote-Rechner anzumelden und fertig ist, oder ich muss die laufende Sitzung beenden und mich dann remote anmelden.
Derzeit gibt es bei mir auch immer nur einen angemeldeten Nutzer auf einem lokalen PC.
Dass ich das nicht herausgefunden habe, liegt auch daran, dass ich es kaum noch jemals nutze. Ich verstehe, dass es etwas mit der Zuordnung der Display-Variable zu tun hat, aber doch noch mehr braucht, um dann mittels STRG+ALT+F9...F15 zwischen den verschiedenen Sitzungen umschalten zu können. (F1...F8 sind bei mir Konsolen-logins).
 
Zurück
Oben