Di mana kata sandi SQL 2008 Login disimpan?

9

Saya perlu tahu di mana file SQL Server 2008 benar-benar menyimpan kata sandi. Ini adalah pertanyaan yang diajukan oleh auditor keamanan.

Saya tahu saya bisa mendapatkan hash dengan kata sandi LOGINPROPERTY('bbellomo', 'PasswordHash'), tetapi itu tidak membantu saya; Saya perlu tahu bagaimana mereka disimpan.

Brad
sumber

Jawaban:

6

Kata sandi tidak disimpan dalam plaintext. Jika auditor benar-benar membutuhkan file di mana mereka disimpan, arahkan mereka ke file master.mdf. Ini, tentu saja, untuk login SQL. Untuk login Windows, SQL bahkan tidak tahu apa kata sandinya; Active Directory menangani otentikasi.

Ben Thul
sumber
5

Coba tengok sys.server_principalsnama pengguna dan kata sandi yang ada di masterdatabase. Tetapi kata sandi tidak disimpan dalam plaintext.

JonH
sumber
Berikan dia SELECT * FROM SYSLOGIN jika dia benar-benar membutuhkan output
jl.
5

Rencana eksekusi dari 'SELECT password FROM syslogins' menunjukkan kata sandi disimpan di sys.sysxlgnsdalam database master.

Lihatlah: Tabel Basis Sistem

Berikut adalah kata sandi, hanya dalam 2 format SQL Server akan menunjukkannya kepada kami:

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

Anda mungkin dapat mengkonversi antara format dengan mudah, tetapi saya tidak tahu bagaimana caranya.

Brad
sumber
ini hanya berfungsi jika Anda memiliki cukup hak di server. Menurut BOL itu memerlukan izin CONTROL SERVER. (lihat msdn.microsoft.com/en-us/library/ms345412(v=sql.120).aspx )
Henrik Staun Poulsen