Freigaben vom Server: Sicherheit erhöhen

Morfio

Well-Known Member
Hallo zusammen,

wir nutzen NFS zum Exportieren von Freigaben auf einem Server, z.B. die Homes der Mitarbeiter sowie ganz einfache "Dateifreigaben". Im Netzwerk hängen Ubuntu 12.04- sowie FreeBSD-9.1-Clients.

Jetzt ist NFS im Standard sicherheitstechnisch schlecht, da nur auf uid und gid geprüft wird und so auch die besten Kennwörter nichts bringen.

Den Misstand will ich beheben.

Samba fällt wohl heraus, da bei ca. vierzig Clients das ein riesen Gefrickel ist, die fstabs sowie die Credential-Files anzupassen und etliche verschiedene Freigaben zu stricken, da ja letztlich die Unixrechte nicht so richtig genutzt werden.

Also dachte ich an die Absicherung von NFS via NIS, finde dazu aber nichts. Es bleibt also noch LDAP sowie Kerberos, oder übersehe ich da was? Oder gibt es mit NFSv4 eine einfache Möglichkeit, dass uid/gid-Problem zu umgehen?

Viele Grüße

Morfio
 
Samba fällt wohl heraus, da bei ca. vierzig Clients das ein riesen Gefrickel ist, die fstabs sowie die Credential-Files anzupassen und etliche verschiedene Freigaben zu stricken, da ja letztlich die Unixrechte nicht so richtig genutzt werden.

Alternativ kannst du auch Samba mit ACLs betreiben, dann musst du in der Samba Konfiguration nur die die erlaubten User/Gruppen eintragen und der rest wird Dateiseitig ueber ACL und deren Vererbung gemacht. Dadurch ist es auch voellig gleich, ob sich ein user ueber samba oder ssh verbindet, da er auf beiden immer die gleichen Restriktionen/Rechte hat.
 
Hallo,

das Problem, dass ich sehe, ist ja, dass man bei Samba sich mit einem User anmelden muss, sprich:

Code:
mount_smbfs -f 770 -d 770 -u <gemappter benutzer> -g <gemappte gruppe> "//<user>@<server>home /home/"

Wenn das so ist, kommen andere Benutzer gar nicht an die Freigaben. Lasse ich -u und -g weg, wird ja mit den aktuellen Daten gemountet. Oder übersehe ich was?

Viele Grüße

Morfio
 
Also jetzt weiss ich nicht so ganz genau, was du erreichen willst.
Soll es denn granulare Zugriffsrechte per Benutzer/Gruppe geben, oder sollen einfach alle ganz normal auf die Shares rauf duerfen?
 
Letztlich gibt es die Freigabe "/home" auf dem Server, in der alle Benutzer drin sind. Ich würde gerne diese Freigabe auf den Clients einbinden, so dass die Leute, die sich via NIS anmelden, ihr Home-Verzeichnis bekommen.
 
Also bei NIS bin ich erstmal raus, da ich mich damit noch nicht beschaeftigt habe.

Alternativ koenntest du das aber auch mit Samba ueber Domain Logins machen. Hier weiss ich allerdings nicht, wie das bei Linux/BSD Clients funktioniert.
Damit haettest du aber eine Zentrale User/Passwortverwaltung unabhaengig von den Clients selber
 
Du könntest auch alle Clients sich über OpenVPN zum Server verbinden lassen, dann weißt du, dass eine IP auch wirklich dem Rechner gehört, dem sie gehören soll. Und wenn wiederum nur du auf dem Root bist, ist das UID/GID mapping sicher.
Bzw. wenn es noch MitarbeiterInnen mit eigenem Laptop gibt, wo du nicht root bist, kann man für dessen IP (die er durch OpenVPN bekommt) wiederum ein -map-all=Horst machen.

Das schönen daran ist, das die Leute dann sogar von draußen draufkommen, wenn du das willst.
 
Solange du -sec=sys benutzt wird NFSv3 User über ihre UID und NFS User über ihenen Namen identifizieren und die Zugriffskontrolle wird im Client implementiert. Du hast schon festgestellt das dies ungenügend ist. Jetzt hast du 3 Möglichkeiten:
  • NFS mit Kerberos5 nutzen
  • Kein NFS nutzen
  • NFS weiterhin unsicher nutzen
Solange du NFSv3 nutzt brauchst du noch LDAP um nicht wahnsinnig zu werden beim Versuch die User Datenbank zu replizieren.
Ein Problem an NFS mit Kerberos ist das zum mounten ein Ticket benötigt wird unter FreeBSD. Zumindestens ohne Patch kann man nicht als Root NFS mounts mit der host Keytab ausführen.
 
Ich habe mich für NFS+Kerberos entschieden. Auf FreeBSD funktioniert das schon, wenn ich mit SLIM anmelde, kriege ich auch automatisch ein Ticket. Jetzt muss ich das nur noch unter Ubuntu ans Rennen kriegen.
 
Back
Top