none
OpenLDAP<->Active Directory synchronisation RRS feed

  • Allgemeine Diskussion

  • Hallo Newsgroup!


    Ich bin auf der Suche nach einer Möglichkeit wie ich ein bestehendes OpenLDAP Verzeichnis (ca. 8000 Einträge) mit Active Directory synchronisieren kann.

    Das Active Directory soll auf einem W2k08 R2 basieren (bisher gibt es noch kein AD).

    OpenLDAP und Active Directory sollen beide parallel existieren.

    Es sollen Benutzer / Gruppen und Passwortänderungen sync. werden.


    Bisher bin ich bei meiner Recherche auf folgende Produkte gestoßen:

    MS FIM (wobei es wohl für den Vorgänger ILM einen OpenLDAP MA gibt...)
    Hewlett Packard LDAP Directory Syncronizer (LDSU)
    LSC Project (LDAP Syncronisation Connector)
    UID Systems ADSynch Light
    Directory Wizards Inc.SimpleSync


    Hat jemand Erfahrung in diesem Bereich mit den genannten Produkten, oder noch andere Ideen zur Umsetzung?


    Danke für die Auskunft!


    Mit freundlichen Grüßen


    Gunter Holzer
    Samstag, 1. Mai 2010 17:18

Alle Antworten

  • Moin,

    was ist denn die Anforderung, die dahintersteht?

    Konkrete Erfahrungen mit dem Szenario habe ich nicht. Ein Hinweis aber: Eine Kennwortsynchronisation im eigentlichen Sinne gibt es mit AD nicht. Es wird in solchen Fällen eine separate Applikation zur Änderung von Kennwörtern genutzt, die das jeweils neue Kennwort dann in die Ziel-Verzeichnisdienste schreibt. Hintergrund: AD speichert das Kennwort selbst gar nicht, daher kann man es auch nicht synchronisieren.

    Gruß, Nils

     


    Nils Kaczenski
    MVP Directory Services
    Hannover, Germany
    Montag, 31. Mai 2010 18:50
  • Hallo Nils,

    Ja, AD und OpenLDAP speichern ja jeweils nur einen Passwort-Hash. Somit hat sich eine Synchronisation der PW erledigt.

    Die Anforderung ist die Einführung von AD parallel zum bestehenden OpenLDAP. Mit der Vorgabe, dass NICHTS am OpenLDAP geändert werden darf :-(
    Ich synchronisiere nun die Benutzer und Gruppen mit der OpenSource Software LSC.

    Allerdings bleibt das Problem der Kennwort-Änderung.
    Gibt es irgendwo Beispiel-Skripte oder fertige Programme um das Kennwort in AD zu ändern (mit dem Hintergrund das in ein Web-Portal einzubauen, über das auch schon das OpenLDAP Kennwort geändert wird)?

    Danke!

    Grüße,

    Gunter

    Mittwoch, 14. Juli 2010 09:38
  • Hallo Gunter,

    was ist denn eigentlich da das Endziel? Wenn es eine komplette Umstellung auf AD ist, dann könnte man ja die Migration in einem Schwung mit ADMT durchziehen. Wenn die Umgebung nicht allzu groß ist, bekommt das unter Umständen mit ADMT recht fix hin(ein Wochenende).

    Damit kannst Du Dir das ganze Gebastel sparen.

    Viele Grüße

    Frank


    -- Frank Röder MVP Directory Services blog.iteach-online.de --
    Mittwoch, 14. Juli 2010 13:00
  • Hallo Frank,

    nein leider ist eine Migration nicht das Ziel - das würde mir das Leben einfacher machen ;-)

    Es sollen die beiden Verzeichnisdienste wirklich parallel existieren bzw. miteinander interagieren.
    FIM ist für diesen Zweck leider zu teuer und hat keinen OpenLDAP MA.
    Samba 4 steht noch in den Sternen...

    Im Moment sehe ich nur die Möglichkeit die Benutzer und Gruppen der beiden LDAP Verzeichnisse zu synchronisieren.
    Das ist mir mit LSC gelungen - bleibt aber noch das Passwort Problem.

     

    Grüße

    Gunter

    Mittwoch, 14. Juli 2010 14:41
  • Hallo Gunter,

    das ist lösbar. Allerdings muss man dort etwas skripten. Auf der Linuxseite kannst Du die Kennwortänderung abfangen. Auf der Windowsseite kannst Du die Kennwortänderung auch über eine Aufgabe die Du an den Event der Kennwortänderung hängst abfangen. Jetzt musst Du den Hash nur noch zwischen den beiden System hin und her schieben über einen Share.

    Über dieses Tool http://www.systemtools.com/cgi-bin/download.pl?CopyPwd kannst Du den Kennworthash auf der Windowskiste importieren. Auf der Unixseite muss Du nur den Kennworthash in das LDAP Backend reinschreiben. Exportieren kannst Du den mit copypwd.

    Dann rennt das. Ich habe das so am Laufen.

    Grüße

    Frank


    -- Frank Röder MVP Directory Services blog.iteach-online.de --
    Donnerstag, 15. Juli 2010 16:21
  • Hi,

    Am 15.07.2010 18:21, schrieb Frank Roeder [MVP]:

    das ist lösbar. Allerdings muss man dort etwas skripten.

    Wäre das eine Lösung?

    Red Hat Directory Server
    http://www.redhat.com/directory_server/

    Diesen gibt es auch als "Fedora Directory Server" und da es
    Red Hat ist läuft das natürlich auch unter CentOS, wenn man
    die Red Hat Enterprise Geschichte nicht kaufen möchte/muss.

    Siehe auch:
    http://www.warp9.de/aktuelles_veroeffentlichungen.php?id=9

    Tschö
    Mark


    Mark Heitbrink - MVP Windows Server - Group Policy

    Homepage:    www.gruppenrichtlinien.de - deutsch
    NNTP Bridge: http://communitybridge.codeplex.com/releases

    Donnerstag, 15. Juli 2010 17:49
  • @Frank

    Das hört sich sehr interessant an. Wie hast du das mit den Hashwerten gelöst? Soweit ich rausfinden konnte speichert AD das Passwort im UnicodePwd-Attribut und das lässt sich angeblich nicht auslesen. Liest dieses Tool dies aber aus?

    Welche Passwort Hashes liest du auf OpenLDAP Seite aus? Ich hätte das userPassword als ssha, das sambaLMPassword und das sambaNTPassword. Wie die beiden letzten gehasht sind weiß ich leider nicht. Sehen ungefähr so aus: C73A93DDFE0E8BBB2109ABBC3467B123

    Von meinem Verständnis her müsste doch sichergestellt sein, dass der zu kopierende Hashwert in beiden Verzeichnisdiensten mit derselben Methode gehasht wurde, oder?

     

    @Mark

    "Supports bidirectional password synchronization with Windows Active Directory" wäre zwar ne Tolle Sache, aber so wie sich das liest ist es ein aufgebohrtes OpenLDAP und ein OpenLDAP habe ich ja schon (und an dem darf ich auch NIX ändern).

    Aber wenn ich da gerade lese, dass du der Gruppenrichlinien-Spezialist bist ;-) ...
    Szenario:

    -alle Benutzerkonten in OpenLDAP
    -Sambadomäne für die Windows PCs
    -Unabhänge AD 2003 R2 Gesamtstruktur mit einem external Trust in die Sambadomäne
    -In der der AD Domäne gibt es einige WindowsPC-Konten, aber keine Benutzerkonten
    -In der AD Domäne gibt es lokale Grupen welche als Mitglieder Benutzerkonten aus der Sambadomäne enthalten
    -Ich melde mich an einem PC an, der Mitglied der AD Domäne ist. Da in der AD Domäne aber kein Benutzerkonto vorhanden ist muss ich mich an der Sambadomäne (also mit meinem OpenLDAP-Konto) anmelden.

    So. Gibt es irgendeine Möglichkeit Gruppenrichtlinien auf Benutzerebene anzuwenden? Computerkonten Ebene funktioniert, da diese ja in der AD Domäne sind. Aber auf Benutzerebene will das nicht klappen.

     

    Das ist nämlich der große Hintergrund hinter der ganzen Sache. Man wünscht sich Gruppenrichtlinien-Steuerung, kann und will aber nicht von OpenLDAP weg und am bisherigen System darf auch nix geändert werden.

     

    Vielen Dank für Eure Hilfe!

    Grüße

    Gunter

    Donnerstag, 15. Juli 2010 20:25
  • Hallo Gunter,

    auf der LDAP Seite sind es sambaLMPassword und das sambaNTPassword. Es ist eine Kombination von beiden. Allerdings kann ich mich momentan nicht erinnern ob es sambaLMPassword + sambaNTPassword oder sambaNTPassword + sambaLMPassword ist. Das kannst Du aber einfach herausfinden.

    Lege einfach einen User auf der Windows Seite an. Dumpe mit dem Tool den Hash des Users. Mache das gleiche auf der LDAP Seite und vergleiche die Hashs. Dann weisst Du wie herum es sein muss;-).

    Direkt den Hash in das UnicodePWD Attribut schreiben geht nicht. Es ist vom System geschützt.

    Viele Grüße

    Frank


    -- Frank Röder MVP Directory Services blog.iteach-online.de --
    Freitag, 16. Juli 2010 04:45
  • Hi,

    Am 15.07.2010 22:25, schrieb Gunter Holzer:

    So. Gibt es irgendeine Möglichkeit Gruppenrichtlinien auf

    > Benutzerebene anzuwenden?

    Sollte mit Samba auch gehen.

    Verschiebe die COmputer in eine eigene OU, hänge eine GPO mit
    Benutzereinstellungen an die Computer OU.
    Normalerweise passiert jetzt garnichts, da es kein passendes Ziel für
    die GPO gibt. Es fehlen die User.

    In einem Cross-Forrest Trust ist aber per Design seit W2KSP4 mit den
    passenden Clients (XPSP2) in so einem Fall der  Loopback Processing
    Mode automatisch aktiviert und dann gehts sofort.

    Sollte es nicht gehen, dann liegt es an der "NT4" Samba Domäne, die den
    Automatismus verhindert und deswegen den Loopback nicht automatisch
    anschaltet.

    Lösung ist also den Loopback selber in der Computer GPO zu aktivieren.
    Computerkonfiguration/Administrative Vorlagen/System/Gruppenrichtlinie
    Loopbackverarbeitungsmodus für Benutzergruppenrichtlinie

    Nebenbei, der Vollständigkeit halber, hiermit wird der Automatismus
    augeschaltet:
    Computerkonfiguration/Administrative Vorlagen/System/Gruppenrichtlinie
    Gesamtstrukturübergreifende Benutzerrichtlinien und servergespeicherte
    Benutzerprofile zulassen

    Dann zählt, was der Client "mitbringt" und nicht das, was der Ziel
    "gerne hätte".

    Tschö
    Mark


    Mark Heitbrink - MVP Windows Server - Group Policy

    Homepage:    www.gruppenrichtlinien.de - deutsch
    NNTP Bridge: http://communitybridge.codeplex.com/releases

    Freitag, 16. Juli 2010 07:21
  • Hallo Mark, Hallo Frank

    vielen Dank für die Hinweise. Werde das ausprobieren und Feedback geben.

    @Frank: Zu copypwd habe ich bereits Feedback ;-)
    Ich nehme mal an, dass du das Tool in einem 32Bit Windows Server am laufen hast. Meine Testmaschine ist ein Windows 2008 R2 x64 und da läuft das Programm wohl nicht mehr.
    Siehe http://www.systemtools.com/board/Forum5/HTML/000417.html

    Schade!

    EDIT: Habe da eine andere Version gefunden die läuft: http://www.foofus.net/~fizzgig/pwdump/
    In meinem Fall ist der Hash aus AD mit dem Hash von sambaNTPassword (nur dieser allein) identisch.
    Mal schauen wie ich draus was basteln kann.

     

    Grüße

     

    Gunter

    Freitag, 16. Juli 2010 09:38