GELI und Paranoia

Crest

rm -rf /*
Ich stehe vor folgender Situation: Es gilt einen FreeBSD aufzusetzen das sicher ist unter der Annahme das ein Angreifer sich physikalischen Zugriff auf den Rechner verschafft und dabei bemerkt wird. Für den Fall das dieser Zugriff nicht bemerkt wird würde ich gerne die Hürde erhöhen. Natürlich kann ich mich nicht vor unbemerkten Hardwaremanipulationen schützen, wenn das BIOS per SMM die Keyboardeingaben loggt ist das OS dagegen (fast) schutzlos (bis aufs Timing).

Die einfachste und unsicherste Lösung wäre natürlich alle Dateisysteme bis auf "/" zu verschlüsseln dies ist mit GELI (und sogar GDBE) trivial möglich. Auf mit Zugriff "/" lässt sich jedoch ein System leicht kompromitieren. Von Klassikern wie dem Ändern von /sbin/login und gepatchten Kerneln bis hin zu Rootkits ist alles möglich.

Es muss also ein Bootmedium her, dass man mit sich führen kann z.B. CF Card, USB Stick, MicroSD o.ä. Lösungen mit MFS_ROOT sind mir hier zu schlecht zu warten. Deswegen kam ich auf die Idee gmirror(8) zu zweckentfermden. Hierbei lege ich "/" auf einen Mirror aus einer Platte und füge ein mittels `geli onetime` Volumen hinzu. Anschließend wird das Bootmedium aus dem Mirror entfernt. Ich habe dies in einer VM mal durchgespielt hat auch praktisch gut geklappt. Es fehlt nurnoch ein kleines rc.d script um das zu automatisieren. Nur bei Änderungen an "/" muss das Bootmedium neu synchronisiert werden. Dies finde ich angenehmer als Images. Ich habe zuviele bekannte die sich des Öfteren ihre initrd Images zerschiessen etc.

Hat jemand eine elgantere Idee dieses Ziel auf einem Laptop zu erreichen?
 
Hallo Crest,

ich habe seit Oktober meinen Laptop nach der Anleitung aus dem BSDForen-Wiki komplett verschlüsselt.

MFS_ROOT kommt dabei nicht zum Einsatz und sobald die verschlüsselte root gemountet ist, kannst Du den USB-Key einfach abziehen. Um die Root zu mounten muss ich das Geli-Passwort eingeben, der Key liegt dabei auf dem USB-Key (ohne USB-Key geht gar nix und selbst damit muss man noch das Passwort kennen). Bei mir liegt dann auf der Root der nächste Key für die Home-Partition (der Einfachheit halber dann ohne Passwort).

Dieses System ist wirklich sehr einfach, wenn man es einmal eingerichtet hat.

Gruß
SolarCatcher
 
Zuletzt bearbeitet:
Für die Schlüssel schaut euch mal gshsec(8) an. Damit kann wirklich sehr elegant aus einem billigen USB-Stick einen sündteuren digitalen Schlüssel bauen. Okay, das war nun leicht vom Thema ab :)
 
Zurück
Oben