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?
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?