FreeBSD + ZFS + Verschlüsselung? Alternativen? Vorschläge?


8

Ich möchte einen dedizierten physischen Server erstellen, der als NAS und Dateiserver in meinem LAN (sowie über VPN) fungiert.

Ich muss jedoch die Laufwerke vollständig verschlüsseln (sowohl die Systemlaufwerke als auch die Datenlaufwerke, da ich denke, dass ich zwei Zpools verwenden werde). Da die ZFS-Verschlüsselung in Version 28 nicht unterstützt wird, was FreeBSD unterstützt (und OpenIndiana, Nexenta, ...), scheint die einzige Möglichkeit darin zu bestehen, GELI zu verwenden.

Jetzt denke ich, dass das Hinzufügen einer GELI-Schicht über ZFS zu Datenverlust führen kann. Einige Beiträge im Internet (wenn auch nicht viele) scheinen auf dieses Problem hinzuweisen. Insbesondere scheint ZFS ein weit überlegenes Dateisystem zu sein als jedes andere in der Unix / Linux-Welt (zum Beispiel ext4, xfs sowie btrfs), wenn man die Integration von RAID (Z) und Prüfsummen berücksichtigt.

Das Hinzufügen von GELI darüber hinaus scheint mir genauso wie das Hinzufügen von LUKS über ein RAID-Setup, obwohl ich Geli noch nie erlebt habe und dessen Zuverlässigkeit nicht kenne. Die Leistung ist kein Hauptproblem, obwohl ich lieber keine 1 MB / s-Übertragung in meinem LAN haben möchte (> 20 MB / s sind jedoch akzeptabel).

Ich bin nie aus meiner Linux-Welt herausgekommen, daher habe ich keine Erfahrungen mit FreeBSD oder den Solaris-Derivaten. Ich würde Solaris Express 11 wegen des kostenpflichtigen (teuren) Supportproblems lieber nicht verwenden. Dies wird ein Computer zu Hause sein. Ich werde bereit sein, sie bei Bedarf zu lernen.
Der Server muss grundlegende NAS-Aufgaben ausführen (insbesondere Samba / CIFS-Dateifreigabe, ich brauche keine, die in die neueren ZFS-Versionen integriert sind).

Wird GELI + ZFS nach Berücksichtigung der Verschlüsselungsschicht mehr oder weniger zuverlässig sein als LUKS + LVM + ext4 ? Ich habe in einem anderen Beitrag über Superuser gefragt und sie haben FreeBSD / Solaris (s) wegen ZFS vorgeschlagen, obwohl wir nicht über Verschlüsselung gesprochen haben. Ich weiß nicht, ob OpenIndiana und ähnliche eine Blockverschlüsselungsmethode wie LUKS oder GELI unterstützen.

Wird es außerdem einfach sein, dem Array eine Festplatte hinzuzufügen, das RAID (Z) und das Dateisystem zu erweitern, wie wir es unter Linux tun (zum Beispiel hier )?

Antworten:


1

Sie sollten in der Lage sein, einen der Geom-Anbieter für die Verschlüsselung mit ZFS zu verwenden, aber Sie sollten die Geräte unterhalb des ZFS verschlüsseln. Ich würde wahrscheinlich geli einrichten und dann eine gpt-Partition innerhalb des Typs freebsd-zfs erstellen und dann von dort aus fortfahren.

Ich empfehle Ihnen, beide Lösungen (freebsd und linux) zu testen und basierend auf der Zeit und Leistung des Sys-Administrators zu entscheiden, was für Sie sinnvoll ist.


Aus administrativer Sicht ist Linux LUKS + LVM + RAID für mich sicherlich der richtige Weg. Vielleicht mache ich am Ende einfach eine Virtualbox, um sie auszuprobieren, wie Sie vorgeschlagen haben. Ich bin ein echter FreeBSD-Neuling, daher wird die Verwaltung für mich (zumindest zuerst) ziemlich schwierig sein. Was ich suche, ist Zuverlässigkeit (nicht Leistung). Es muss ein NAS sein, obwohl ich keine außergewöhnlichen Leistungen erwarte, wie zum Beispiel eine 1-Gbit / s-Verbindung zu sättigen. Mediendateien befinden sich ebenfalls auf einem anderen Server. Ich habe jedoch bereits eine Reihe von Linux-Maschinen (meistens Debian GNU / Linux 64 Bit), die separate Aufgaben ausführen.
user51166

Ich möchte nur eine Art "Redundanz" des Betriebssystems in dem Sinne, dass ich immer noch einen guten Teil meiner Daten haben sollte, sollte ich jemals ein Problem haben, weil Updates etwas sehr Schlechtes bewirken. Da ich auch einen Backup-Server plane, ist es vielleicht besser, den NAS mit Linux und den Backup-Server mit FreeBSD / Solaris zu machen. Sei es jedoch der NAS oder der Backup-Server. Ich möchte Daten auf diesem Computer auf einem anderen Betriebssystem als Linux speichern und ZFS verwenden, jedoch verschlüsselt.
user51166

1

Solaris 11 unterstützt die native Verschlüsselung in ZFS. Wenn Sie nicht an BSD gebunden sind, sollten Sie dies berücksichtigen. Es kann kostenlos für nicht produktive Zwecke verwendet werden, sodass Sie es zu Hause verwenden können, ohne eine Support-Lizenz erwerben zu müssen.

Um Ihren Pool zu vergrößern, müssen Sie mehr vdevs hinzufügen. Sie können keinen einzelnen raidz oder anderen vdev-Typ vergrößern, indem Sie weitere Festplatten hinzufügen. Sobald Sie jedoch weitere vdevs hinzufügen, streift ZFS Daten über diese und Sie erhalten zusätzliche Leistung.


Vielen Dank für Ihre Antwort. Ich bin nicht an BSD gebunden (habe es sogar noch nie benutzt). Sollte ich ein Problem mit Solaris 11 haben, müsste ich über 1000 USD pro Jahr für den Support kaufen. Außerdem denke ich, dass Sie sich auf Solaris 11 Express beziehen. Ich bin Student , ich habe nicht so viel Geld.
user51166

1
Es ist nicht mehr Solaris Express, nach 11 ist es nur noch Solaris 11. Ich würde mir keine Sorgen um den Supportvertrag machen. Wenn Sie Probleme mit FreeBSD oder Linux haben, werden Sie dann Hilfe bekommen? Gleiches gilt für Solaris.
Brennan

1
Mit Linux und FreeBSD konnte ich (hier) oder in Foren Hilfe bekommen. Mit Solaris 11 sollte ich Oracle kontaktieren und bezahlen (oder das sagen die Leute sowieso im Internet). Oder gibt es in Solaris etwas als Community (kostenlosen) Support?
user51166

1

Ich glaube nicht, dass Sie sich übermäßig um Datenverlust sorgen müssen. Geli auf FreeBSD ist ausgereift und meiner Erfahrung nach kugelsicher. Geli erste, ZFS dann auf . Sie können dann zpool verwenden, um Pools in einer beliebigen Konfiguration zu erstellen - einzelnes Laufwerk, Spiegel, RAID-Z usw.

Meine eigene Erfahrung:

Ich habe einen FreeBSD 9-Heimserver mit einem ähnlichen Setup - zwei Laufwerke, jeweils ein Zpool. Es ist ein ZFS-on-Root-Setup - kein UFS. Ein Laufwerk ist ein System, das andere sind Daten. Das Datenlaufwerk verfügt über eine vollständige Festplattenverschlüsselung, das Systemlaufwerk nicht (obwohl ich glaube, dass es keinen Grund gibt, warum dies nicht möglich ist - ich wollte nur die zusätzlichen Komplikationen vermeiden).

Ich habe Geli verwendet, um das nackte Datenlaufwerk zu verschlüsseln. ZFS (streng genommen zpool) sieht dies wie jedes andere Blockgerät und Sie rufen einfach "zpool create ..." auf normale Weise auf. Von da an erstellen Sie zfs-Datasets im Pool, wie Sie möchten.

Leistung war in meinem Anwendungsfall kein Problem. Meins läuft auf einem 4 GB Atom D520 einwandfrei. Wahrscheinlich nicht blitzschnell (die Festplatten haben nur 5200 U / min, 2,5 Zoll, für geringen Stromverbrauch / Rauschen), aber gut für die Heimnetzwerkversorgung.

Dieses Setup läuft seit einigen Jahren ohne Probleme.


1

Wenn Sie eine vollständige Festplattenverschlüsselung (FDE) wie LUKS oder Geli auf ZFS löschen, werden Sie nicht so viele Funktionen von ZFS nutzen. Wenn Sie jedoch ZFS auf FDE setzen, funktioniert es.

Ich habe in letzter Zeit Diskussionen von FreeBSD ZFS-Experten gehört, in denen sie PEFS für ZFS empfehlen, da ZFS dadurch weiterhin einzelne Dateien sehen kann. Es ist möglich, dass PEFS, das für Ordner und Dateien konfigurierbar ist, in Zukunft konfiguriert und in der FreeBSD ZFS-Bibliothek gebündelt werden kann.

Obwohl es Kryptographie-Experten gibt, die empfehlen, dass wir nicht auf eine vollständige Festplattenverschlüsselung angewiesen sind, denke ich unter FreeBSD oder Linux, dass eine Verkettung verschiedener Verschlüsselungsstrategien eine vernünftige Strategie sein kann.

Zum Beispiel: Raw Disk -> FDE (Geli / LUKS) -> ZFS -> (für / home) Userland-Verschlüsselung mit PEFS oder EncFS. Wenn bei diesem Modell die vollständige Festplattenverschlüsselung beeinträchtigt ist und meines Wissens nicht so schwierig ist, wenn jemand über die Ressourcen und die Motivation verfügt, verfügen Sie immer noch über das PEFS / EncFS, um Ihre wichtigsten Dateien zu schützen, was sehr viel schwieriger ist Riss.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.