Wo werden SQL 2008-Anmeldekennwörter gespeichert?


9

Ich muss wissen, in welcher Datei SQL Server 2008 die Kennwörter tatsächlich speichert. Dies ist eine Frage, die von einem Sicherheitsprüfer gestellt wird.

Ich weiß, dass ich Passwort-Hashes erhalten kann LOGINPROPERTY('bbellomo', 'PasswordHash'), aber das hilft mir nicht. Ich muss wissen, wie sie gespeichert sind.

Antworten:


6

Die Passwörter werden nicht im Klartext gespeichert. Wenn der Auditor die Datei, in der er gespeichert ist, wirklich benötigt, zeigen Sie auf die Datei master.mdf. Dies gilt natürlich für SQL-Anmeldungen. Bei Windows-Anmeldungen weiß SQL nicht einmal, wie das Kennwort lautet. Active Directory übernimmt die Authentifizierung.


5

Versuchen Sie, sys.server_principalsBenutzernamen und Passwörter in der masterDatenbank zu überprüfen. Die Passwörter werden jedoch nicht im Klartext gespeichert.


Geben Sie ihm SELECT * FROM SYSLOGINS, wenn er / sie wirklich eine Ausgabe benötigt
jl.

5

Der Ausführungsplan von 'SELECT password FROM syslogins' zeigt, dass die Passwörter sys.sysxlgnsin der Master-Datenbank gespeichert sind.

Schauen Sie sich an: System Base Tables

Hier sind die Passwörter in den beiden einzigen Formaten, die SQL Server uns anzeigt:

SELECT name, password, LOGINPROPERTY(name, 'PasswordHash' ) hash
FROM syslogins
WHERE password IS NOT NULL
ORDER BY name

Sie können wahrscheinlich leicht zwischen den Formaten konvertieren, aber ich weiß nicht, wie aus der Hand.


Dies funktioniert nur, wenn Sie über genügend Rechte auf dem Server verfügen. Laut BOL ist eine CONTROL SERVER-Erlaubnis erforderlich. (siehe msdn.microsoft.com/en-us/library/ms345412(v=sql.120).aspx )
Henrik Staun Poulsen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.