ThomasF
Hacker
Hi @all,
jeder der sich mal eingehender mit NFS_V3 beschäftigt hat kennt das Problem ... wenn z.B die Homeverzeichnisse per NFS gemountet werden, hat der lokale User root im Prinzip Zugriff auf alle Daten der User die ihre Homes eigentlich auf einem entfernten Server liegen haben. Ein einfaches su username reicht und root "ist" dieser User ... mit allen Rechten.
In manchen Situationen möchte man einem User aber die Rechte geben seinen Rechner selber zu administrieren ... und wenn es nur über sudo ist .... und selbst wenn der lokale User root gar nicht existiert ... mit sudo -i hat man dann eine root-Shell ... mit dem oben genannten Problem.
Was also tun ??? Kein NFS benutzen und die Homes lokal halten ??? Keine wirkliche Alternative.
Kerberisiertes NFS4 schien der Ausweg ... da jeder User dort ein gültiges Ticket benötigt um an seine Daten zu kommen ... sollte der lokale root nicht auf Daten der User auf dem Server zugreifen können ?!?
Nun ja ... der NFS4 Server steht, Kerberos funktioniert auch, die Linux-Clients holen sich ihr Home von diesem Server und wenn man frisch nach dem booten als root ein su auf einen beliebigen User macht ist das Ergebnis so wie es ein sollte ... kein Zugriff !!! Soweit so gut
Jetzt meldet sich der erste User an, bekommt sein Kerberos Ticket und hat damit Zugriff auf seine Daten ... Aber Linux ist nun mal ein MultiUserOS ... wenn nun nämlich der "böse" User root ein su auf diesen angemeldeten User macht, klappt das su und auch der Zugriff auf dessen Daten *grummel*
Im Prinzip logisch ... denn das Ticket des Users wird ja lokal für den Zeitraum der Session in einer Keytab-Datei z.B in /tmp vorgehalten ... und wie wir ja wissen darf root lokal alles ... selbst wenn die Datei dem User gehört und mit den Rechten 700 angelegt wurde.
Nach dem ersten Frust über diese Erkenntnis dachte ich ... Ok das gilt nur für den Zeitraum in dem der User an diesem PC angemeldet ist ... Pustekuchen ... nachdem sich der User abgemeldet hat und der Keytab-File in /tmp verschwunden ist hat root immer noch die Möglichkeit mit su auf dessen Daten zuzugreifen ...
Irgendwo habe ich gelesen das der rpc.gssd auch noch einen Cache habe ... die Rede war von ca. 15 Minuten ... das kann ich bestätigen ...
Kann irgend jemand mehr dazu sagen ??? Kann man für die User ein Logout-Script schreiben das auch diesen Cache sofort bei Logout löscht ???
Ich experimentierte zur Zeit mit pam_mount um das Verzeichnis der User erst bei einem Login zu mounten und beim Logout wieder auszuhängen ... aber irgendwie klappt das nicht ... pam_mount fragt nach einem Passwort (trotz Kerberos-Ticket und use_first_pass) und bekomme im Debug ähnliche Meldungen wie hier ->
http://www.linux-club.de/viewtopic.php?f=6&t=101338&start=0
Des weiteren sehe in den Logs das pam_mount mit sogenannten pre- und post-uids arbeitet und für den mount Vorgang scheinbar auf uid und gid 0 wechselt ( vermutlich um mounten zu dürfen) ... damit klappt das irgendwie nicht richtig ... anderseits habe ich gelesen das bei pam_mount in Verbindung mit cifs der lokale Mountpoint dem User gehören muss damit es klappt ?!?
Naja ... NFS4 ist deutlich schneller als NFS3 und mit Kerberos ist die ganze Sache auch sicherer geworden ... aber vollkommen glücklich bin ich mit dieser Lösung nicht *grummel*
Oder habe ich da was übersehen ???
Wäre über jeden Hinweis froh ...
So long
ThomasF
jeder der sich mal eingehender mit NFS_V3 beschäftigt hat kennt das Problem ... wenn z.B die Homeverzeichnisse per NFS gemountet werden, hat der lokale User root im Prinzip Zugriff auf alle Daten der User die ihre Homes eigentlich auf einem entfernten Server liegen haben. Ein einfaches su username reicht und root "ist" dieser User ... mit allen Rechten.
In manchen Situationen möchte man einem User aber die Rechte geben seinen Rechner selber zu administrieren ... und wenn es nur über sudo ist .... und selbst wenn der lokale User root gar nicht existiert ... mit sudo -i hat man dann eine root-Shell ... mit dem oben genannten Problem.
Was also tun ??? Kein NFS benutzen und die Homes lokal halten ??? Keine wirkliche Alternative.
Kerberisiertes NFS4 schien der Ausweg ... da jeder User dort ein gültiges Ticket benötigt um an seine Daten zu kommen ... sollte der lokale root nicht auf Daten der User auf dem Server zugreifen können ?!?
Nun ja ... der NFS4 Server steht, Kerberos funktioniert auch, die Linux-Clients holen sich ihr Home von diesem Server und wenn man frisch nach dem booten als root ein su auf einen beliebigen User macht ist das Ergebnis so wie es ein sollte ... kein Zugriff !!! Soweit so gut
Jetzt meldet sich der erste User an, bekommt sein Kerberos Ticket und hat damit Zugriff auf seine Daten ... Aber Linux ist nun mal ein MultiUserOS ... wenn nun nämlich der "böse" User root ein su auf diesen angemeldeten User macht, klappt das su und auch der Zugriff auf dessen Daten *grummel*
Im Prinzip logisch ... denn das Ticket des Users wird ja lokal für den Zeitraum der Session in einer Keytab-Datei z.B in /tmp vorgehalten ... und wie wir ja wissen darf root lokal alles ... selbst wenn die Datei dem User gehört und mit den Rechten 700 angelegt wurde.
Nach dem ersten Frust über diese Erkenntnis dachte ich ... Ok das gilt nur für den Zeitraum in dem der User an diesem PC angemeldet ist ... Pustekuchen ... nachdem sich der User abgemeldet hat und der Keytab-File in /tmp verschwunden ist hat root immer noch die Möglichkeit mit su auf dessen Daten zuzugreifen ...
Irgendwo habe ich gelesen das der rpc.gssd auch noch einen Cache habe ... die Rede war von ca. 15 Minuten ... das kann ich bestätigen ...
Kann irgend jemand mehr dazu sagen ??? Kann man für die User ein Logout-Script schreiben das auch diesen Cache sofort bei Logout löscht ???
Ich experimentierte zur Zeit mit pam_mount um das Verzeichnis der User erst bei einem Login zu mounten und beim Logout wieder auszuhängen ... aber irgendwie klappt das nicht ... pam_mount fragt nach einem Passwort (trotz Kerberos-Ticket und use_first_pass) und bekomme im Debug ähnliche Meldungen wie hier ->
http://www.linux-club.de/viewtopic.php?f=6&t=101338&start=0
Des weiteren sehe in den Logs das pam_mount mit sogenannten pre- und post-uids arbeitet und für den mount Vorgang scheinbar auf uid und gid 0 wechselt ( vermutlich um mounten zu dürfen) ... damit klappt das irgendwie nicht richtig ... anderseits habe ich gelesen das bei pam_mount in Verbindung mit cifs der lokale Mountpoint dem User gehören muss damit es klappt ?!?
Naja ... NFS4 ist deutlich schneller als NFS3 und mit Kerberos ist die ganze Sache auch sicherer geworden ... aber vollkommen glücklich bin ich mit dieser Lösung nicht *grummel*
Oder habe ich da was übersehen ???
Wäre über jeden Hinweis froh ...
So long
ThomasF