004 10 Geschrieben 16. Dezember 2009 Melden Teilen Geschrieben 16. Dezember 2009 Hallo zusammen, bei einem SQL 2005 stehe ich vor folgendem Problem: Nachdem ein Benutzer sein Kennwort dreimal falsch eingegeben hat wird sein SQL-Account gesperrt. Beim Entsperren wird aber scheinbar ein neues Kennwort generiert, anstatt das ursprüngliche zu verwenden. Darauf deutet jedenfalls der veränderte Hashwert des Kennworts hin. Der DB-Admin muss also das Konto entsperren, ein Standardkennwort vergeben, welches dann durch den Benutzer wieder geändert wird. Wenn dann noch eine Policy aktiv ist, dass z.B. das minimale Kennwortalter auf 0 Tage gesetzt ist, dann muss der User in die Administration und über das Managementstudio sein Kennwort eingeben. Das kann es doch nicht sein. Vom AD her kenne ich das anders. Das Kennwort bleibt erhalten, nachdem das Konto entsperrt wurde. Eine simple Sperre eben. SQL schlägt da wohl weiter aus und ändert gleich auch noch das Kennwort. Handelt es sich dabei um ein Sicherheitsfeature welches sich deaktivieren lässt? LG 004 Zitieren Link zu diesem Kommentar
004 10 Geschrieben 16. Dezember 2009 Autor Melden Teilen Geschrieben 16. Dezember 2009 Nach etwas Knobeln habe ich es selbst hinbekommen. Die Lösung ist nicht das Konto zu entsperren, sondern den Haken bei "Kennwortrichtlinien erzwingen" herauszunehmen, mit OK zu bestätigen und wieder hineinzusetzen. Dies bewirkt, dass die Werte für IsLocked und BadPasswordCount auf Null gesetzt werden, während sich PasswordHash nicht ändert. Das Kennwort bleibt also erhalten. Nimmt man hingegen den Haken bei "Anmeldung ist gesperrt" heraus verhält es sich genau umgekehrt. Das Kennwort wird geändert und die Counter bleiben bestehen. Mit diesem Script kann man sich die Counter ansehen: USE [master] DECLARE @name nchar(100) SET @name ='account' SELECT LOGINPROPERTY( @name, 'IsLocked' ) AS IsLocked, LOGINPROPERTY( @name, 'BadPasswordCount' ) AS BadPasswordCount, LOGINPROPERTY( @name, 'PasswordHash' ) AS PasswordHash GO Mit diesem Script lässt sich das Konto bequem entsperren, ohne dass das Passwort geändert wird: USE [master] ALTER LOGIN account WITH CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF ALTER LOGIN account WITH CHECK_EXPIRATION=OFF, CHECK_POLICY=ON GO Der Vollständigkeit halber noch: Ein gesperrter SQL-Account verursacht "Fehler 18456, Status 8" in den Protokollen des SQL-Servers. Viel Spaß beim Nachkochen, LG 004 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.