thoto-m
Goto Top

Authentifizierung an ADS ohne SFU mit LDAP

Integration eines Linux-Clients in eine AD ohne direkten Eingriff in dessen Struktur

Hallo zusammen,

das Problem vor dem ich aktuell sitze ist die Authentifikation Linux-Client gegen ein Active Directory. Dazu sollen Kerberos und LDAP eingesetzt werden. Es darf jedoch keine Modifikation am Win2k3/Win2k8-Server vorgenommen werden, also keine "Services For Unix" installiert werden. Im Einsatz wird natürlich ein User zum Lesen des LDAP hinzugefügt.

Das große Problem, bei dem ich nicht weiterkomme ist die Verwaltung von UIDs und GIDs. Dazu müsste das AD-Schema um die SFU erweitert werden, was mir aber nicht möglich ist. Feste Werte, wie sie sich über "nss_default_attribute_value" (libnss-ldap.conf) setzen lassen sind hier nicht möglich, da die Werte von User zu User unterschiedlich sein müssen und möglichst (aber nicht zwingend!) Netzwerk weit eindeutig.

Zu dem Thema habe ich auch schon erwägt einen eigenen OpenLDAP-Server aufzusetzen, jedoch habe ich auch hier keine Lösung für das Problem gefunden. Dies scheint mir aber der realistischste Lösungsweg, wenn ich hier auch keine Möglichkeit sehe.

Eine Informationsbeschaffung über winbind ist aus Sicherheitsgründen (Admin-Account, Host-User etc.) nicht möglich.

Daher nun meine Fragen:
1. Ist das möglich, hat jemand schon einmal eine Lösung unter derartigen Bedingungen gesehen?
2. Gibt es alternative Lösungsmöglichkeiten?
3. Worüber muss ich mich informieren?

(Umgebung: W2k3 oder W2k8 mit Debian-Linux Clients)

Vielen Dank bereits im Voraus,

mit freundlichen Grüßen
thoto

Content-Key: 177342

Url: https://administrator.de/contentid/177342

Ausgedruckt am: 28.03.2024 um 16:03 Uhr

Mitglied: 2hard4you
2hard4you 06.12.2011 um 23:37:57 Uhr
Goto Top
Moin,

Dein größeres Problem ist die Höflichkeit - Du willst hier was für lau abgreifen und grüßt nicht mal

Ohne Gruß

24
Mitglied: thoto-m
thoto-m 06.12.2011 um 23:47:31 Uhr
Goto Top
Guten Abend,

Oh, sorry, in der Tat, das habe ich total vergessen. Habe mich derart auf das Problems fixiert, dass mir das entfallen ist.
(Ggf. ist dies auch auf die "harte" Eingabemaske zurückzuführen...)
Ich gelobe Besserung!

mit freundlichen Grüßen
thoto
Mitglied: 2hard4you
2hard4you 06.12.2011 um 23:52:01 Uhr
Goto Top
Moin,

Du mußt mir jetzt nur noch erzählen, warum Du einen weiteren LDAP-Server aufsetzen willst, obwohl Du ein AD hast, was LDAP kann?

Gruß

24
Mitglied: thoto-m
thoto-m 07.12.2011 um 00:03:40 Uhr
Goto Top
Guten Abend,

das Problem hierbei ist gerade das "ich" kein AD habe, sondern jemand, für den ich den Linux-Client in das bestehende System integrieren muss. Aus diesem Grunde ist der LDAP-Server des DC nicht modifizierbar und ein anderer LDAP-Server müsste das ganze quasi spiegeln. Eine manuelle Übertragung der Nutzer-Accounts kommt nicht in Frage, da dies (a) zu viel Aufwand wäre und (b) Windows und Linux parallel genutzt werden soll.

Warum überhaupt das LDAP-Schema der User verändern? Linux braucht unbedingt eine UID und eine GID (sowie eine Login-Shell, die man mit o.g. Methode setzen kann) um eine Anmeldung erfolgreich durchzuführen -- nicht nur einen Usernamen. Windows verwendet dagegen gar keine numerischen UIDs, es sei denn man installiert die SFU, was ich leider aus dem hier beschriebenen Grunde leider nicht kann.

mit freundlichen Grüßen
Thoto
Mitglied: Chonta
Chonta 07.12.2011 um 09:55:42 Uhr
Goto Top
Hallo,


um einen Linuxclient in ein AD zu integrieren brauchst Du auf dem Linuxclient KEIN LDAP zu installieren.
Und das Schema vom AD muss auch nicht verändert werden.
Du brauhst Samba 3.x und damit verbunden Winbind. Goggel mal danach. Gibt für Ubuntu ne gute Anletung.
Winbind übernimmt dann das übersetzen zwischen Linux und Windows IDs.


Du wirst aber nur die Anmeldung am System damit ermöglichen können und den Zugriff auf Netzwerkrecourcen, aber keine Profileinstellungen von MS-Profilen.

Gruß

Chonta
Mitglied: thoto-m
thoto-m 07.12.2011 um 12:26:09 Uhr
Goto Top
Hallo,

vielen Dank für die Antwort, jedoch:

"Eine Informationsbeschaffung über winbind ist aus Sicherheitsgründen (Admin-Account, Host-User etc.) nicht möglich."

Effektiv muss nämlich der Windows-Client in die Domäne eingeschrieben werden, was nur über einen Admin-Account geht. Da aber die Hosts von einem einzigen zentralen Image booten, müsste zunächst einmal der Host unterschieden werden, was relativ komplex ist (Init-Skript) und das andererseits auch nicht sonderlich sicher ist.

Das alles funktioniert so weit, und wenn man die Passwort Überprüfung von Kerberos durchführen lässt, so hat man auch Zugriff auf die Domänen-Ressourcen.

mit freundlichen Grüßen

thoto
Mitglied: 2hard4you
2hard4you 07.12.2011 um 18:54:10 Uhr
Goto Top
Zitat von @thoto-m:

Effektiv muss nämlich der Windows-Client in die Domäne eingeschrieben werden, was nur über einen Admin-Account
geht. Da aber die Hosts von einem einzigen zentralen Image booten, müsste zunächst einmal der Host unterschieden werden,
was relativ komplex ist (Init-Skript) und das andererseits auch nicht sonderlich sicher ist.


Moin,

hast Du noch mehr Informationen, die ggf. interessant sind?

Gruß

24
Mitglied: thoto-m
thoto-m 07.12.2011 um 19:27:45 Uhr
Goto Top
Guten Abend,

das zentrale Image ist für das Problem nur insofern relevant, dass Winbind aus Sicherheitsgründen nicht genutzt werden kann. Konkret handelt es sich hierbei um Diskless-Clients, die komplette Desktopumgebungen über ein NFS-Root einbinden. Das ganze läuft wie gesagt über ein unsicheres Netzwerk.

In meiner Testumgebung habe ich jedoch alles mit einem "normalen" Client (Debian) ausprobiert um sicher zu stellen, dass alles richtig konfiguriert und benutzbar ist. Es halt also _nichts_ mit dem Netzwerk-Boot zu tun!

Weitere Informationen bzgl. des Testsystems hätte ich nicht: Es ist halt ein Standard-Debian auf Festplatte ohne irgendwelche Zusatzpakete oder Umgebungen installiert (reine Text-Konsole mit dem Grundsystem).

Vielen Dank für das (fortgesetzte) Interesse,

mit freundlichen Grüßen
thoto
Mitglied: Chonta
Chonta 09.12.2011 um 08:08:41 Uhr
Goto Top
Hallo,

damit die eine Benutzerautentifizierung über das AD laufen kann, sich also Windowsbenutzer ohne Linuxkonto auf dem Linuxrechner mit ihrem AD Konto anmelden können,

MUSS der Linuxrechner in die Domäne aufgenommen werden Punkt.

Jeder Domänenbenutzer kann, sofern es die Richtlinien nicht verbieten 3 Workstations in die Domäne aufnehmen. Ansonsten kann man dafür auch im AD ein spezielles Konto einrichten oder eine Bestimmte Gruppe usw.

Und Winbind sollte natürlich auch über Kerberos mit dem AD komunizieren.


Wenn Dein Problem lediglich ist, das die Linuxrechner auf Freigaben im Netzwerk zugreifen sollen und die Linuxbenutzer eh nie wechseln, dann samba installieren und dann müssen die Benutzer halt 2x Name und Passwort eingeben....

Was die Gründe für das darf nicht und das auch nicht betrifft -> Nur Windowsworkstations erlauben und fertig oder die Richtlinien so anpassen das das was man dafür braucht auch verwendet werden kann.
Nach dem Motto ich will ein Auto mit dem ich schnell fahren kann aber es darf KEINE Reifen haben!

Gruß

Chonta

PS: Generell wäre es mal interesannt zu wissen Was das genaue Konzept der Sache ist. Am Anfag ging es um Autentifizierung und UUIDs die nicht nötig sind und dann auf einmal was mit von Image Booten. Wenn Du genau und ausführlich bschreibst was die Aufgabeist und wo es hapert kann man Dir auch besser/schneller helfen face-smile
Mitglied: thoto-m
thoto-m 09.12.2011 um 18:22:43 Uhr
Goto Top
Guten Abend,

auch wenn es etwas unschön/unhöflich ist antworte ich direkt mit Zitat. Ist nicht böse gemeint, sondern einfach nur schöner zu lesen.

Zitat von @Chonta:
[...] MUSS der Linuxrechner in die Domäne aufgenommen werden Punkt.

Jeder Domänenbenutzer kann, sofern es die Richtlinien nicht verbieten 3 Workstations in die Domäne aufnehmen. Ansonsten
kann man dafür auch im AD ein spezielles Konto einrichten oder eine Bestimmte Gruppe usw.

Sorry, aber das habe ich bereits wiederlegt. Sofern man _kein_ WINBIND nutzt sondern Kerberos mit SFU-erweitertem LDAP kann man sich sehr wohl ohne Domänen Mitgliedschaft authentifizieren -- sofern man denn einen Nur-Lesen-Nutzer für das LDAP hat (ohne Berechtigung für das Passwort Feld selbstverständlich!). Bisher habe ich das mit dem Adminuser gemacht, jedoch habe ich mehrere Beispiele mit einem speziellen User gesehen. Ist ja auch nicht allzu abwegig unter Linux läuft das ja bei Directory-Diensten meistens so.

Mein Problem ist, wie gesagt, dass ich die SFU nicht installieren kann und darf und ich das btw. auch für ziemlich sinnlos erachte, da hier scheinbar, wie ich las, eine komplette POSIX konforme Umgebung mitinstalliert wird, inklusive gcc, cat, awk, sed etc. Man berichtige mich bitte, wenn ich mich hier irre und etwas falsch verstanden habe, auch wenn das an der Tatsache meines Problems nicht ändert (Danke!).


...
Wenn Dein Problem lediglich ist, das die Linuxrechner auf Freigaben im Netzwerk zugreifen sollen und die Linuxbenutzer eh nie
wechseln, dann samba installieren und dann müssen die Benutzer halt 2x Name und Passwort eingeben....

Wenn ich mich mit einem lokalen User über das entsprechende PAM-Modul durch Kerberos authentifiziere, so habe ich wirklich "Single-Signon": Mit
smbclient -k
kann ich ohne Eingabe des Passwortes auf Freigaben in der Domäne (bzw. des Kerberos-Realm) zugreifen.

[...] Nur Windowsworkstations erlauben und fertig [...]

Das ist keine Möglichkeit, da es unbedingt nötig ist Linux zu verwenden. Ich habe noch kein voll konfiguriertes Windows >auf< einem Diskless-System (s.u.) laufen sehen. Ein Terminalserver ist auch keine Möglichkeit da hierzu das Budget nicht ausreicht.

[...]
Nach dem Motto ich will ein Auto mit dem ich schnell fahren kann aber es darf KEINE Reifen haben!

Ein Schützenpanzer kann auch ganz schön schnell fahren... (Ich hörte mal was von 120 km/h) face-wink

[...] Generell wäre es mal interesannt zu wissen Was das genaue Konzept der Sache ist. Am Anfag ging es um Autentifizierung und
UUIDs die nicht nötig sind und dann auf einmal was mit von Image Booten. Wenn Du genau und ausführlich bschreibst was
die Aufgabeist und wo es hapert kann man Dir auch besser/schneller helfen face-smile

Das ist eine gute Idee. Ich dachte, wenn ich nur den zentralen Teil der Informationen gebe, ist's leichter, aber da habe ich mich geirrt...

Also nun die Beschreibung der Situation

Es gibt in dem Netzwerk, in das ich zahlreiche diskless Systeme integrieren soll eine Windows-Domäne, die einige hundert User mit gesetzten Passwörtern und Daten erhält. Gegen diese soll authentifiziert werden.

Auf dem DC läuft eine VM, die NFS (ro), TFTP und DHCP zur Verfügung stellt. Hier wäre eigentlich jede Linux-Anwendung, die nicht allzu viel Ressourcen schluckt zusätzlich installierbar.
Von uns wird das Boot-Image und die Bereitstellungs-VM geliefert; über alles andere hat der Verwalter der Domäne die Kontrolle, in der nichts verändert werden soll.

Das Problem ist nun, dass die Clients in einem Netz mit öffentlichem Zugriff stehen und die User sehr gerne mal Dinge manipulieren. Daher ist es zwingend erforderlich, dass keine Geheimnisse auf den Rechnern (und im Image) liegen. Das AD-LDAP liefert aber leider kein UID-Feld mit, in dem eine Domänen bzw. KRB5-Realm weite numerische Nutzer-ID (hat nichts mit UUID am Hut) steht, wie es ein normales UNIX für das Rechtesystem (Autorisierung) benötigt.

Von der Leistung her sind die Clients recht üppig ausgestattet; es sind effektiv leistungsfähige Desktop-Systeme mit ein mehr RAM.
Falls noch weitere Fragen bestehen, bitte einfach weiter Nachfragen.

mit freundlichen Grüßen und Dank für die Umstände,

thoto
Mitglied: 2hard4you
2hard4you 09.12.2011 um 21:06:50 Uhr
Goto Top
Moin,

meine Glaskugel hatte schon Schneetreiben, aber ich sehe das Problem immer noch nicht face-sad

Falls ich mich irre, aber ein diskless System kann sowohl ein Windows PE oder ein schnuffiges Linux sein - per PXE-Boot, die dann per RDP oder wie auch immer auf die Domain zugreifen - wo bitte klemmt jetzt die Kiste?

Gruß

24
Mitglied: 16568
16568 12.12.2011 um 01:08:43 Uhr
Goto Top
Zitat von @2hard4you:
Falls ich mich irre, aber ein diskless System kann sowohl ein Windows PE oder ein schnuffiges Linux sein - per PXE-Boot, die dann
per RDP oder wie auch immer auf die Domain zugreifen - wo bitte klemmt jetzt die Kiste?

Das frage ich mich jetzt auch.
Kann ich bitte die letzten 15 sinnlos vergeudeten Minuten meines Lebens bitte wiederhaben?

Und die Diskussion:
das ist im Budget nicht drin

muß ich leider mit:
ohne Treibmittel/Energie keine Fortbewegung

beantworten.


Lonesome Walker