Hallo Forum,
da meine bisherigen Suche keinen Erfolg brachten, hoffe ich nun hier auf einen Denkanstoss.
Ich würde gerne einen Task auf einen oder mehreren Domänencontroller(n) laufen lassen, welcher bei der Änderung des AD Passwortes durch den User, diese Aktion abfängt und das neue Passwort an einen RemoteLoader weitergibt, damit dieser das PW in angeschlossene Systeme (Lotus Notes, LDAP, Databased authentication) synchronisiert.
Gibt es in C# ein Event, welches abgefeuert wird, sobald die Änderung des AD Passwortes erfolgreich war?
Gruß Karsten
Erster Treffer bei der Suche nach "passwort abfangen":
Windows GPO Passwortrichtlinie - Passwort abfangen
Bitte beachte: [Hinweis] Wie poste ich richtig? 1.1
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
@Abt
Wie bereits in meinem Post beschrieben, habe ich bei all meinem Suchen nichts passendes gefunden.
In dem Link, welchen du gepostet hast, geht es um die periodische Änderung des Passwortes, nicht darum wie man erkennt, dass ein User das Passwort geändert hat.
Es geht mir auch nicht darum Userpasswörter auszuspionieren, sondern ob C# überhaupt eine Möglichkeit bietet, Passwörter zwischen verschiedenen Systemen zu syncen, speziell bei Änderung und idealerweise in AD's.
Ich bezweifle, dass das was du vorhast, möglich ist.
Meines Wissens werden Windows-Kennwörter schon auf dem Client verschlüsselt.
Selbst wenn du den Kennwort-Hash auf dem Domänen-Controller abfangen könntest, würde
er dir in anderen Systemen wie Notes nichts nützen.
Die einzige Chance die du m.E. hast, ist es, Kennwortänderungen an allen beteiligten Systemen zu verhindern (geht das überhaupt?) und ein eigenes Interface mit angeschlossener Kennwort-Hash-Datenbank bereitzustellen, das dann ggf. die Kennwörter aller Anwendungen ändert.
Ein Datensicherheitsalbtraum!
Grüße,
Christoph
Hallo jcfreak,
der Wunsch, dass der Benutzer das Passwort nur an einer Stelle für alle (Sub-)Systeme ändern muss, ist durchaus berechtigt. Allerdings setzt du m.E. an der falschen Stelle an. Du versuchst die Änderung in einem System auf die anderen Systeme zu übertragen. Du müsstest aber wohl eher ein Tool verwenden, das von sich aus in der Lage ist, die Passworte auf allen Zielsystemen zu ändern. Da sollte sich was finden lassen. Im Grunde ist das ja ein Teilproblem, das im Zusammenhang mit Single Sign On auftritt. Vielleicht suchst du mal in der Richtung.
herbivore
Hallo Forum,
erstmal danke für eure Antworten.
Also was ich bisher herausgefunden habe ist, dass es sehr wohl möglich ist ein Passwort bei einer Änderung durch den User auszulesen.
Das Stichwort lautet PasswordFilter. Die Win32 API stellt hier 3 Funktionen zur Verfügung. Hier wird das Passwort, laut Doku, sogar im Klartext ausgelesen.
Siehe hier:
Ich für meinen Teil betrachte das Thema als gelöst und hoffe alle Zweifler vom Gegenteil überzeugt zu haben.
Das Ding wird aber direkt auf dem Active Directory Domänencontroller benötigt und nicht beim Client - und unter "abfangen" hab ich was anderes vorgestellt 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo,
ja in meinem Fall müsste so ein Passwortfilter auf dem DC laufen.
Gruß Karsten
Fürs Protokoll, falls das irgendwo mal produktiv eingesetzt werden soll:
nach bissl Nachforschen findet man tatsächlich zahlreiche kommerzielle Synchronisationsmöglichkeiten von AD-Passwörtern, die offensichtlich diese Schnittstelle verwenden, aber diese sind von Microsoft zertifiziert, sodass der Micosoft-Support-Vertrag für Business-Kunden davon nicht negativ beeinflusst wird.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code