Lassen Sie mich vorab sagen, dass ich kein Domainadministrationsexperte bin. Ich bin ein Programmierer, der benutzerdefinierte Anwendungen für das Web schreibt.
Mein Unternehmen möchte auf unserer Intranet-Anmeldeseite eine Funktion zum Zurücksetzen von Passwörtern hinzufügen. Unser Backend ist ColdFusion 9 mit Funktionen in der Sprache, die mir den programmgesteuerten Zugriff auf LDAP ermöglichen. Als ich nachforschte, wie der Code geschrieben werden kann, damit diese Funktion zum Ändern des Kennworts funktioniert, stellte ich fest, dass es viel einfacher ist, Code zu schreiben, der Folgendes ausführt:
net user <username> <password> /domain
Dies erfolgt natürlich nach all den üblichen alten Passwortprüfungen und so weiter. Der Befehl wird als Benutzer mit den entsprechenden Berechtigungen ausgeführt und funktioniert wirklich hervorragend.
Es ist mir jedoch ein Problem aufgefallen, dass wir nach vielen Problemen mit einem unserer Serveradministratoren in der Lage waren, unabhängig von dem von mir geschriebenen Code zu reproduzieren.
Das Problem ist, dass nach Ausführung des Befehls net user sowohl das ALTE als auch das NEUE Kennwort (für einen unbestimmten Zeitraum) gute Kennwörter für das zu ändernde Benutzerkonto sind.
Stimmt. Wenn wir einen Benutzer " testuser" mit dem Kennwort " welcome" haben und Folgendes ausführen:
net user testuser welcome2 /domain
Dann können wir uns für eine unbestimmte Zeit erfolgreich bei der Domain anmelden, indem wir entweder "welcome" oder "welcome2" als Passwort verwenden. Nach diesem unbestimmten Zeitraum funktioniert das erste Passwort nicht mehr und das neue Passwort bleibt als einziges funktionierendes Passwort übrig.
Dies ist NICHT der Fall, wenn der Befehl direkt auf einem unserer beiden Domänencontroller ausgeführt wird. Es ist jedoch nicht möglich, dass meine Webanwendung den Befehl direkt auf dem PDC ausführt.
Das einzige, woran ich denken kann, ist, dass es eine Ausbreitungszeit gibt und dass die Kennwortänderung NICHT unmittelbar erfolgt, wie es der Fall wäre, wenn sie auf dem PDC selbst ausgeführt würde.
Also frage ich mich ... ist das erwartetes Verhalten? Wenn ich den schwierigeren programmgesteuerten Weg eingeschlagen habe, direkt auf den LDAP-Server zuzugreifen und das Kennwort des Benutzers zu ändern, kann ich wahrscheinlich ein ähnliches Problem bei der Weitergabe feststellen?
Danke fürs Lesen.
Antworten:
Ein guter Weg, um Ihr Problem zu lösen - Programmieren Anmelde-GUI. Ich würde mehr sagen, es gibt fertige Lösungen für das Problem vergessener Passwörter, die genau am angegebenen Pfad liegen.
Es gibt eine Zweiwege-Systemadministration mit Pfadnummer, wenn die in der Organisationseinheit markierte Abteilung oder Arbeitsgruppe eine bestimmte Person oder in einigen Fällen der Leiter der Einheit berechtigt ist, Kennwörter in der Organisationseinheit zu ändern.
Ihr Weg ist recht seltsam, denn bei einer lokalen Station in der GUI-Anmeldung können Systemmeldungen und Intercept-Passwörter nur von einem Tastaturtreiber geändert werden, da in Ihrem Fall nicht sehr klar ist, wie der Passwortschutz und Die Ablehnung Ihrer Dienstleistung wirkt sich direkt auf das gesamte Unternehmen aus.
Bei Ihrer Entscheidung müssen Sie Ihr Kennwort in jeder Domäne ändern oder die Synchronisierung erzwingen, was nicht sehr gut ist. Möglicherweise nicht die Stimmung auf der Arbeitsstation, welche der Domänen die Hauptarbeitsstation ist. Dies kann erfolgen, indem zunächst das Kennwort mit einem bestimmten Domänencontroller empfangen wird.
Dann sieht es so aus: Lesen Sie den LDAP-Server mit der höchsten Priorität, zeigen Sie die primären DNS auf der Workstation an, durchsuchen Sie das Sicherheitsprotokoll auf dem Controller, um festzustellen, wo die Station ein Kennwort erhält. Danach kann der jeweilige Controller das Passwort ändern. Um die erforderlichen Berechtigungen zu verringern, können Sie den Benutzer erstellen und aus der Benutzergruppe und den Domänenbenutzern entfernen sowie Berechtigungen erteilen, die nur in bestimmten Zweigen der Registrierung gelesen werden dürfen. Um mit Ereignisprotokollen zu arbeiten, verwenden Sie besser eine Zwischendatenbank-Indizierung für die Suche. Sofort verfügbar und gewähren Sie nichtprivilegierten Datenbankbenutzern nur Lesezugriff.
Oder tolerieren Sie eine Situation von 15 bis 0 Minuten).
Installationsprogramm für ColdFusion 9 .NET Integration Service
SAML, SSO und ColdFusion
SAML-Dienstanbieter mit Coldfusion
ColdFusion / SAML (Teil 1)
Active Directory als LDAP
Grundlegendes zum AD FS 2.0-Proxy
Übersicht über Active Directory Lightweight Directory-Dienste
Automatisieren Sie das Active Directory-Migrationstool mit Windows PowerShell
Benutzerkonten migrieren
Eine Funktion zum Migrieren eines einzelnen Benutzers im Active Directory-Migrationstool basierend auf dem Beispielskript Invoke-ADMTUserMigration.ps1
Small Offtop: Übersicht über Business Connectivity Services in SharePoint 2013
quelle