Sicheres Netzwerkdateisystem gesucht

B

blubb

Guest
Hallo zusammen. Mein erster Post hier, es gibt also Frischfleisch. ;)

Mein Problem hat den Namen "NFS". Ich möchte das gerne durch ein anderes Netzwerkdateisystem ersetzen, welches wesentlich sicherer ist. Datenverschlüsselung wäre nett, ist aber nicht so wichtig. Primär kommt es mir darauf an, daß sich die Clients gegenüber dem Server authentifizieren müssen, z.B. über so was ähnliches wie SSH-Hostkeys. Mittels NIS feat. publickey(5) kann man wohl was ähnliches auch für RPC-Services machen, aber ich habe das ehrlich gesagt nicht hinbekommen.

Gut, Client und Server laufen unter FreeBSD 5.3, die Clients vielleicht bald unter 6.0. So, was gibt es da an Möglichkeiten?
  • SMBFS fällt flach, weil für alle Dateien und Verzeichnisse des gemounteten Shares die Eigentumsrechte des Mountpoints verwendet werden. Das ist schlecht, weil ich u.a. /home übers Netzwerk holen will.
  • Dann habe ich den Ports noch SFS gefunden, da verstehe ich aber nicht so recht, wie ich eine hostbasierte Authentifizierung mache.
  • Als letzte Lösung bliebe, alles über ein VPN zu tunneln. Hmm...
Irgendwie komme ich nicht so recht vorwärts bei meiner Suche. Daher würde ich gerne einfach mal hier in die Runde fragen, was ihr darüber denkt bzw. welche Lösungen ihr in einem solchen Szenario selbst einsetzt. Danke für die Aufmerksamkeit.
 
Danke für den Link. Aber zum einen läuft das wohl erst ab 6.x und die Server bleiben definitiv erstmal auf 5.x. Zum anderen ist die Authentifizierung wohl benutzerbasiert, ich möchte gerne eine hostbasierte.

Ideal wäre, wenn ich auf dem Server einen Schlüssel ablegen würde, der auf jeden Client, der Dateisysteme vom Server mounten möchte, kopiert werden muß. Den Schlüssel kann man sich dann nach der Installation des Clients schön über scp(1) holen. Schlecht finde ich aber, wenn grundsätzlich jeder Benutzer mit seinem SSH-Key Zugriff bekommt, was wohl bei FUSE der Fall ist. Da kann dann jeder mit seinem Notebook, auf dem er root ist, ankommen und Unsinn treiben. :(
 
Mit Coda werde ich mich demnächst mal beschäftigen für ein ähnliches Problem.

Vielleicht bist Du ja schneller mit dem Schreiben eines Wiki-Eintrages dafür ;-)

PS: Fuse ist wirklich etwas, worauf die Welt gewartet hat. Damit kann man einige Probleme endlich sauber lösen.
Leider scheint mir das noch etwas sehr Beta zu sein: "The module can be excepted to work with RELENG_6 and HEAD (ie., 7.x) snapshots."
 
Ich möchte noch mal daran erinnern, daß ich eine hostbasierte Authentifizierung haben möchte. CODA ist dafür nun wirklich völlig ungeeignet.
 
blubb schrieb:
Hallo zusammen. Mein erster Post hier, es gibt also Frischfleisch. ;)

Mein Problem hat den Namen "NFS". Ich möchte das gerne durch ein anderes Netzwerkdateisystem ersetzen, welches wesentlich sicherer ist. (...)

Gut, Client und Server laufen unter FreeBSD 5.3, die Clients vielleicht bald unter 6.0. So, was gibt es da an Möglichkeiten?
  • SMBFS fällt flach, weil für alle Dateien und Verzeichnisse des gemounteten Shares die Eigentumsrechte des Mountpoints verwendet werden. Das ist schlecht, weil ich u.a. /home übers Netzwerk holen will.
Zudem werden weder acls noch Unix-Rechteverwaltung ordentlich unterstützt.
  • Dann habe ich den Ports noch SFS gefunden, da verstehe ich aber nicht so recht, wie ich eine hostbasierte Authentifizierung mache.
  • Als letzte Lösung bliebe, alles über ein VPN zu tunneln. Hmm...
  • NFS via TCP verwenden, mittels restriktiver TCP-Wrapper schützen, und das gesamte Netzwerk hinter einer Firewall betreiben
Leider scheint es derzeit kein Netzwerkdateisystem zu geben, daß auf FreeBSD einfach zu konfigurieren und zu betreiben ist und all die Anforderungen erfüllt, die Solaris zu erfüllen vorgibt -- wobei NFSv3 immer noch nicht all Deine Anforderungen erfüllt.
 
Kann es sein, daß in diesem Forum nicht wirklich viele Leute Bedarf an einem sicheren Ersatz für NFS haben? Wenn das allgemein unter FreeBSD-Benutzern so sein sollte, dann würde das erklären, warum in der Richtung noch nichts wirklich unternommen wurde. Finde ich aber ehrlich gesagt ziemlich seltsam. :confused:

cheasy schrieb:
NFS via TCP verwenden, mittels restriktiver TCP-Wrapper schützen, und das gesamte Netzwerk hinter einer Firewall betreiben
NFS/TCP wird schon aus Performancegründen benutzt und auf dem öffentlichen Interface läuft ein ziemlich restriktiver Paketfilter. Das ist also nicht wirklich das Problem. Die Sache ist nur, daß es nicht wirklich viel bringt, im LAN auf IP-Basis zu authentifizieren. Wir machen das zwar so und haben zusätzlich auch permanente ARP-Einträge, aber das ist ein relativ schwacher Schutz. IP- und MAC-Adressen im LAN zu fälschen ist nun wirklich nicht schwer. Ich möchte die Sicherheit gerne durch eine "vernünftige" Authentifizierung auf ein angemessenes Level bringen.

Die letzte Konsequenz wäre, nur noch VPN-Verbindungen zu akzeptieren und einfach alle unsicheren Netzwerkdienste zu tunneln... Wie man das vernünftig umsetzt, ist aber eine Wissenschaft für sich. Mal sehen, ob ich dafür zwischen den Jahren Zeit finde. :rolleyes:
 
blubb schrieb:
Die letzte Konsequenz wäre, nur noch VPN-Verbindungen zu akzeptieren und einfach alle unsicheren Netzwerkdienste zu tunneln... Wie man das vernünftig umsetzt, ist aber eine Wissenschaft für sich. Mal sehen, ob ich dafür zwischen den Jahren Zeit finde. :rolleyes:
Been there, done that. Wenn das ein performanter Server sein soll, solltest Du Dir überlegen, wie Du die Verschlüsselung in Hardware im Server löst; oder aber Du planst die eine oder andere zusätzliche CPU im Server ein. Wir waren bei beiden Änsätzen nicht erfolgreich.

Bei uns sind die geschützten Netze in geschützten Räumen, die intern unverschlüsselt schwätzen, aber untereinander durch VPN-Router u.a. von Nortel verbunden sind. Nachteil: Alle sicherheitsrelevanten Server müssen in die geschützten Serverräume. NFS-Connects außerhalb dieser Räume finden nicht statt.
 
mmh, unter openbsd gibts das afs - andrew file system. habe mich noch nicht damit beschäftigt, sollte aber genau das, was du willst, tun, soweit ich das bis jetzt verstanden habe. www.openafs.org
 
Zum einen hat AFS bekannte Sicherheitslücken, die im Design begründet sind, z.B. MAC zur Prüfung von Manipulationen während der Datenübertragung. Zum anderen gibt es keinen Server für FreeBSD und der Client ist wohl auch broken. Ansonsten wäre AFS von der Funktionalität her aber tatsächlich das, was mir vorschwebt.
 
mmh, ne andere idee wäre, das mit pfauth zu machen. ist zwar nicht ganz das, was du willst, wäre aber sicher erst mal ein workaround. mit ssh kannst du ja authentifizierung über hostkeys machen...
 
Unter FreeBSD heißt das Pendant wohl authpf(8). Sieht erstmal interessant aus.

Zum Verständnis: Zuerst konfiguriere ich PF auf dem Server also so, daß keinerlei Verbindungen außer Port 22 angenommen werden. Wenn ein Rechner jetzt Zugriff auf den Server will, muß er sich erst per SSH anmelden, am besten per Hostkey. Wenn die Authentifizierung glückt, fügt authpf(8) von mir zu bestimmende Filterregeln hinzu, die dem Rechner dann letztlich Zugriff auf beliebige weitere Ports des Servers gewähren. Wenn der Rechner die SSH-Verbindung beendet, löscht authpf(8) die Filterregeln wieder.

Habe ich das so richtig verstanden? Falls ja, wäre das insgesamt betrachtet eine sinnvolle Möglichkeit, einen Server abzusichern. Muß ich mir dann halt alles mal genauer überlegen.
 
sorry, heißt natürlich authpf ;-)
ja, genauso funktioniert das. mit einem kleinen script läßt sich das sicher problemlos realisieren. am besten packst du die ip-adressen in einen table und wendest darauf die regeln an. in der faq bei openbsd ist das super beschrieben.
 
Zurück
Oben